Web development that ships.

Clean code, typed end-to-end, deployed to the edge. We build things that work in production — not just in the demo — and hand over a codebase you're not afraid to touch later.

Démarrer un projet
How we approach it

Codebases built fast and cheap accumulate debt at the same speed. A year in, you're spending more on fixes than on features. The root cause is almost always a skip in the fundamentals — typing, testing, structure, deployment.

01
Architecture & stack decision
We choose the right stack for the problem: Next.js App Router for content-driven sites, SvelteKit for dashboard performance, React Native for mobile. No cargo-cult choices.
02
TypeScript-first, edge-ready
Full TypeScript from route to DB query. Deployed to Cloudflare Pages or Vercel Edge — fast globally, cheap to run.
03
Incremental delivery
Working preview on Friday of every sprint week. You see the code, you test the build, you give feedback on real product — not slides.
04
Clean handover
Documented architecture, clear README, environment variables catalogued, CI/CD wired. You're not inheriting a mystery.
What's included
Next.js App Router

Server components, streaming, ISR, edge runtime. The full modern stack — not the 2021 Pages Router the tutorial taught you.

TypeScript end-to-end

Typed routes, typed API responses, typed DB queries (Drizzle ORM). Errors surface at compile time, not in production.

Auth & user management

Email/password, OAuth, TOTP 2FA, session management. We've shipped it before — no reinventing the wheel, no security shortcuts.

Payments & billing

Stripe integration: one-time payments, subscriptions, webhooks, customer portal. Tested against the Stripe test clock — not just the happy path.

Edge deployment & CDN

Cloudflare Pages or Vercel: global CDN, DDoS protection, cache headers tuned. Pages load fast anywhere.

CI/CD pipeline

GitHub Actions: lint, typecheck, build on every pull request. No broken code merges to main by accident.

Common questions

Yes, when it fits. Contentful, Sanity, or plain MDX depending on editor workflows. If you just need a blog, MDX is often sufficient and costs nothing per month.

Sometimes. We do a paid, scoped audit first — two days to read the code and tell you what we find. We won't agree to maintain code we can't stand behind.

Postgres (via Neon, PlanetScale, or Supabase) with Drizzle ORM. We don't use an ORM that hides what's happening in the query.

Related services

Un projet en tête ?

Dites-nous ce que vous construisez. Nous répondons sous 48 heures avec une marche à suivre claire et à périmètre fixe.

Démarrer un projet