[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-why-we-model-the-domain-before-writing-controllers":3,"blog-nav-why-we-model-the-domain-before-writing-controllers":28},{"slug":4,"title":5,"description":6,"body":7,"category":8,"readTime":9,"tags":10,"coverImage":14,"coverImageAlt":15,"heroImage":16,"heroImageAlt":15,"metaTitle":17,"metaDescription":18,"ogImage":19,"noindex":20,"published":21,"publishAt":22,"sortOrder":23,"updatedAt":24,"status":25,"path":26,"bodyHtml":27},"why-we-model-the-domain-before-writing-controllers","Why we model the domain before writing controllers","Flows, edge cases, and data boundaries should be mapped before Laravel controllers and Vue pages. Here is what that discipline actually looks like in practice.","Most projects we inherit start the same way: someone sketched screens, then wrote controllers to match. It works for the demo. Two years later, every new feature fights the data model underneath.\n\nWe do the opposite. Before we write a controller, we map the domain — the entities, the rules, and the transitions your team already uses in spreadsheets, chat threads, and memory.\n\n## What we map first\n\n- **Actors and permissions** — who can create, approve, cancel, or only view?\n- **State transitions** — a booking moves from requested → confirmed → completed. What invalidates that path?\n- **Edge cases** — double-bookings, partial payments, after-hours rules, cancelled sessions that free a slot.\n- **Integrations** — what must leave the system via API, webhook, or export?\n\nThat map becomes the brief we build against — and argue with when scope creeps.\n\n## What this saves you\n\nWhen the domain is clear, admin panels (Filament or Inertia), customer-facing Nuxt or Vue pages, and background jobs all speak the same language. You spend less time patching mismatches between \"what the UI shows\" and \"what the database allows.\"\n\nIt also makes estimates honest. We can tell you which modules are straightforward and which ones hide regulatory or operational complexity — before you commit budget.\n\n## When to skip this\n\nIf you need a two-page marketing site or a throwaway prototype, full domain modeling is overkill. We will say that directly.\n\nIf you are replacing spreadsheets that run a venue, clinic, or operations team — skipping this step is how you buy a second rebuild in eighteen months.\n\n## What we need from you\n\nA walkthrough of how work happens today. Sample exports, screenshots of current tools, and the exceptions your team handles manually. That is enough to start.\n\nIf you want to see this approach on a live build, read our [Courtside Alley case study](\u002Fwork\u002Fcourtside-alley) — bookings, open play, and club registration shipped from that discipline.","Engineering",6,[11,12,13],"Laravel","Architecture","Process","\u002Fimages\u002Fjournal\u002Fwhy-we-model-the-domain-before-writing-controllers-cover.webp","System architecture diagram mapping business domain entities and flows","\u002Fimages\u002Fjournal\u002Fwhy-we-model-the-domain-before-writing-controllers-hero.webp","Domain Modeling Before Code | PrimeCode Engineering","Why mapping business rules before Laravel controllers saves Philippine teams from expensive rebuilds.","\u002Fimages\u002Fjournal\u002Fwhy-we-model-the-domain-before-writing-controllers-og.webp",false,true,"2026-06-22T01:00:00.000Z",11,"2026-07-25 18:29:49","live","\u002Fblog\u002Fwhy-we-model-the-domain-before-writing-controllers","\u003Cp>Most projects we inherit start the same way: someone sketched screens, then wrote controllers to match. It works for the demo. Two years later, every new feature fights the data model underneath.\u003C\u002Fp>\n\u003Cp>We do the opposite. Before we write a controller, we map the domain — the entities, the rules, and the transitions your team already uses in spreadsheets, chat threads, and memory.\u003C\u002Fp>\n\u003Ch2>What we map first\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Cstrong>Actors and permissions\u003C\u002Fstrong> — who can create, approve, cancel, or only view?\u003C\u002Fli>\n\u003Cli>\u003Cstrong>State transitions\u003C\u002Fstrong> — a booking moves from requested → confirmed → completed. What invalidates that path?\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Edge cases\u003C\u002Fstrong> — double-bookings, partial payments, after-hours rules, cancelled sessions that free a slot.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Integrations\u003C\u002Fstrong> — what must leave the system via API, webhook, or export?\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>That map becomes the brief we build against — and argue with when scope creeps.\u003C\u002Fp>\n\u003Ch2>What this saves you\u003C\u002Fh2>\n\u003Cp>When the domain is clear, admin panels (Filament or Inertia), customer-facing Nuxt or Vue pages, and background jobs all speak the same language. You spend less time patching mismatches between &quot;what the UI shows&quot; and &quot;what the database allows.&quot;\u003C\u002Fp>\n\u003Cp>It also makes estimates honest. We can tell you which modules are straightforward and which ones hide regulatory or operational complexity — before you commit budget.\u003C\u002Fp>\n\u003Ch2>When to skip this\u003C\u002Fh2>\n\u003Cp>If you need a two-page marketing site or a throwaway prototype, full domain modeling is overkill. We will say that directly.\u003C\u002Fp>\n\u003Cp>If you are replacing spreadsheets that run a venue, clinic, or operations team — skipping this step is how you buy a second rebuild in eighteen months.\u003C\u002Fp>\n\u003Ch2>What we need from you\u003C\u002Fh2>\n\u003Cp>A walkthrough of how work happens today. Sample exports, screenshots of current tools, and the exceptions your team handles manually. That is enough to start.\u003C\u002Fp>\n\u003Cp>If you want to see this approach on a live build, read our \u003Ca href=\"\u002Fwork\u002Fcourtside-alley\">Courtside Alley case study\u003C\u002Fa> — bookings, open play, and club registration shipped from that discipline.\u003C\u002Fp>\n",{"next":29,"related":48},{"slug":30,"title":31,"description":32,"category":33,"readTime":34,"tags":35,"coverImage":39,"coverImageAlt":40,"heroImage":41,"heroImageAlt":40,"metaTitle":42,"metaDescription":43,"ogImage":44,"noindex":20,"published":21,"publishAt":45,"sortOrder":46,"updatedAt":24,"status":25,"path":47},"what-95-lighthouse-actually-means","What a 95+ Lighthouse score actually means for your business site","Performance targets are not vanity metrics. Here is what we measure, why it matters for Philippine mobile traffic, and what we will not pretend a score replaces.","Performance",5,[36,37,38],"Nuxt","SEO","Web Vitals","\u002Fimages\u002Fjournal\u002Fwhat-95-lighthouse-actually-means-cover.webp","Lighthouse performance score dashboard on a business website audit","\u002Fimages\u002Fjournal\u002Fwhat-95-lighthouse-actually-means-hero.webp","What a 95+ Lighthouse Score Means | PrimeCode","What Lighthouse scores actually mean for Philippine business sites — and what performance work does not guarantee.","\u002Fimages\u002Fjournal\u002Fwhat-95-lighthouse-actually-means-og.webp","2026-06-24T01:00:00.000Z",10,"\u002Fblog\u002Fwhat-95-lighthouse-actually-means",[49,65,84],{"slug":50,"title":51,"description":52,"category":33,"readTime":53,"tags":54,"coverImage":56,"coverImageAlt":57,"heroImage":58,"heroImageAlt":57,"metaTitle":59,"metaDescription":60,"ogImage":61,"noindex":20,"published":21,"publishAt":62,"sortOrder":63,"updatedAt":24,"status":25,"path":64},"on-page-seo-for-business-websites-2026","On-Page SEO for Business Websites in 2026: A Practical Checklist","On-page SEO still matters in 2026 — titles, structure, internal links, and page speed. Here is what we implement on Philippine business sites without keyword stuffing or gimmicks.",7,[37,55,38],"Marketing","\u002Fimages\u002Fjournal\u002Fon-page-seo-for-business-websites-2026-cover.webp","Marketing team reviewing website SEO structure on laptop","\u002Fimages\u002Fjournal\u002Fon-page-seo-for-business-websites-2026-hero.webp","On-Page SEO for Business Websites 2026 | PrimeCode","On-page SEO checklist for 2026 — titles, headings, internal links, Core Web Vitals, and schema for Philippine business websites.","\u002Fimages\u002Fjournal\u002Fon-page-seo-for-business-websites-2026-og.webp","2026-07-27T01:00:00.000Z",17,"\u002Fblog\u002Fon-page-seo-for-business-websites-2026",{"slug":66,"title":67,"description":68,"category":69,"readTime":70,"tags":71,"coverImage":75,"coverImageAlt":76,"heroImage":77,"heroImageAlt":76,"metaTitle":78,"metaDescription":79,"ogImage":80,"noindex":20,"published":21,"publishAt":81,"sortOrder":82,"updatedAt":24,"status":25,"path":83},"custom-software-development-philippines","Custom Software Development in the Philippines: What You Get and What It Costs","Custom software development is not a vague IT project — it is a scoped build around your workflows. Here is what Philippine business owners should expect from timeline, deliverables, and budget.","Business",8,[72,73,74],"Custom Software","Philippines","Development","\u002Fimages\u002Fjournal\u002Fcustom-software-development-philippines-cover.webp","Software team planning custom application architecture on whiteboard","\u002Fimages\u002Fjournal\u002Fcustom-software-development-philippines-hero.webp","Custom Software Development Philippines | PrimeCode","Custom software development in the Philippines — realistic timelines, deliverables, and red flags for business owners evaluating a build partner.","\u002Fimages\u002Fjournal\u002Fcustom-software-development-philippines-og.webp","2026-07-24T01:00:00.000Z",16,"\u002Fblog\u002Fcustom-software-development-philippines",{"slug":85,"title":86,"description":87,"category":69,"readTime":53,"tags":88,"coverImage":91,"coverImageAlt":92,"heroImage":93,"heroImageAlt":92,"metaTitle":94,"metaDescription":95,"ogImage":96,"noindex":20,"published":21,"publishAt":97,"sortOrder":98,"updatedAt":24,"status":25,"path":99},"mobile-app-development-philippines","Mobile App Development in the Philippines: When You Actually Need One","Native app, responsive web, or PWA — most Philippine SMEs do not need an App Store launch on day one. Here is how to decide what mobile app development actually means for your business.",[89,73,90],"Mobile Apps","Flutter","\u002Fimages\u002Fjournal\u002Fmobile-app-development-philippines-cover.webp","Developer reviewing mobile app wireframes on smartphone and laptop","\u002Fimages\u002Fjournal\u002Fmobile-app-development-philippines-hero.webp","Mobile App Development Philippines | PrimeCode","Mobile app development in the Philippines — native vs web vs PWA, honest guidance for SMEs, and when Flutter or a responsive web app is the right call.","\u002Fimages\u002Fjournal\u002Fmobile-app-development-philippines-og.webp","2026-07-22T01:00:00.000Z",15,"\u002Fblog\u002Fmobile-app-development-philippines"]