From SvelteKit to Inertia.js: Why We Changed the Architecture
We started a SaaS project in SvelteKit with a separate Laravel API. Six weeks in, we switched to Inertia.js. Here's what drove that decision and what we learned.
Insights
We started a SaaS project in SvelteKit with a separate Laravel API. Six weeks in, we switched to Inertia.js. Here's what drove that decision and what we learned.
Dark mode done well is not simply inverted colors. Here's how to design a dark mode system that looks intentional, not accidental.
What we've learned about the government technology market — procurement processes, vendor registration, and how consulting firms can compete for public sector work.
How we built custom editorial admin tooling on AWS Amplify and React to bridge workflow gaps during a large-scale CMS migration, without disrupting the live newsroom.
Technical excellence without product thinking builds the wrong things faster. Here's how engineers can develop the product instincts that make their work matter.
Most Node.js performance problems we've debugged in production were not event loop blocking — they were database queries, memory allocation, and HTTP client patterns. Here's how to find and fix them.
After years of Redux in large React applications, here are the patterns that make state management maintainable and the antipatterns that cause architecture regret.
How we built a multi-agent AI development system using Claude Code to compress the output of a team of engineers into a focused development practice.
How we use Playwright for E2E testing in production applications — what to test, what to skip, page object patterns, and CI integration that doesn't flake.
What we learned leading a CMS migration and React replatform for a high-traffic news property — content mapping, performance at scale, and the organizational challenges of a live migration.
A practical guide to building subscription billing with Stripe — including the dunning management, failed payment handling, and the edge cases that bite you in production.
How to move a production legacy codebase toward modern patterns without a disruptive rewrite — the strangler fig pattern, technical debt prioritization, and the politics of modernization.
How we architected a Contentful + Angular system for a major hospitality brand — content modeling decisions, middleware design, and the lessons from handling multi-property content at scale.
Lessons from building a server-side rendered scheduling application for patients and clinical staff — state management, performance, and the challenges of real-time availability.
After designing and consuming dozens of APIs across different stacks, these are the principles that consistently produce APIs that developers enjoy using.
Progressive enhancement isn't about making sites work without JavaScript — it's about building resilient experiences that degrade gracefully at every layer of the stack.
Building WCAG-compliant scheduling and patient tools taught us that accessibility in high-stakes healthcare UX is fundamentally different from standard web accessibility.
Practical patterns for GitHub Actions workflows — caching, secret management, conditional deployments, and the mistakes that slow down pipelines.
Step-by-step architecture for hosting an Astro static site on AWS S3, served through Cloudflare's CDN — near-zero cost, global performance, and automatic deploys.
How to build a production-ready contact form backend using AWS Lambda, API Gateway, and SES — no server, no framework, essentially zero cost.
How Cloudflare for SaaS enables white-label custom domain provisioning for multi-tenant applications — the setup, the pitfalls, and the certificate automation.
How .NET 8's minimal API pattern compares to traditional MVC controllers — and when to choose each approach for your backend architecture.
After years in the React mental model, switching to Svelte's compiler-based approach forced us to rethink how reactivity works from first principles.
A practical guide to WebSocket architecture for production applications — connection management, reconnection strategies, and scaling considerations.
What we learned integrating OpenAI GPT into a production content management system for 14+ languages — the patterns that worked and the pitfalls that surprised us.
The modern monolith approach to SaaS architecture: one codebase, no API contract, and the full power of Svelte on the frontend.
Web forms are where accessibility failures are most common and most costly. Here's what we've learned about building forms that work for everyone.
The server-side vs. client-side rendering debate is often framed wrong. Here's how to think about the tradeoffs based on your actual product requirements.
Three years of architecting content models in Contentful taught us that the real challenge isn't the CMS — it's understanding your content's relationships before you touch the UI.
A practical walkthrough of designing marketplace billing for a multi-tenant SaaS platform using Stripe Connect, covering account onboarding, fee splitting, and subscription management.
After years of JavaScript, adopting TypeScript transformed how we reason about code quality, team collaboration, and refactoring confidence.