Our Thinking
Notes from the build
Practical takes on software development, AI integration, and shipping products that hold up.
Page 1 of 9
Engineering Number-Masking SMS the Hard Way
Where real phone numbers leak, what number masking actually is and is not, the product trade-offs behind building a masked SMS service, and the habits that matter more than any one tool.
Shipping a Headless Storefront on Next.js While Odoo Stays the System of Record
How to run a headless Next.js storefront in front of Odoo without growing a second source of truth: an ownership table, a server-side integration layer, webhook plus reconciliation sync, and idempotent checkout writes.
What Breaks First When You Connect a Manual Business Workflow to an API
What goes wrong when a manual spreadsheet-to-system handoff becomes an API call: hidden human checks, approvals that drift from the record, unclear field ownership, timeouts with unknown outcomes, and exceptions nobody owns.
Shipping LLM Features Without a Platform Team
How a small, distributed team can ship LLM features safely: narrow model responsibilities, queued model calls, schema validation, permission-filtered retrieval, recorded metadata, and a kill switch that reaches queued work.
The SvelteKit Startup Cost Sheet: What Five Production SvelteKit + Firebase Apps Cost to Build and Run
Build cost bands in EUR, timelines in weeks, route and component counts, and monthly Firebase run-rates for five open-sourced SvelteKit + Firebase apps, plus three builds we would have started in Next.js instead.
The Embedded Team Cost Ledger: Ten Years of Retainers, Headcount Curves, and the Months We Billed Zero
What a multi-year embedded engineering engagement actually costs: retainer bands versus time-and-materials, the FTE curve across six years with GlycanAge and four with Plodovi, ramp-downs, paused months, and the handovers to in-house hires.
Let's Build Together
Your vision,
our expertise.
From AI integration to full-stack development, we turn ambitious ideas into products that perform.