04, services
Three things, done well.
Institutional websites, custom platforms, and creative projects. Nothing in between.
Institutional websites
- Designed from scratch, no templates
- Next.js 15 + TypeScript + Tailwind
- 6 to 8 weeks
Platforms and web apps
- MVPs, internal dashboards, SaaS v1
- Next.js + Postgres/Supabase
- 6 to 16 weeks
Creative projects
- Portfolios, experiences, editorial sites
- Motion, interaction, typography
- 4 to 8 weeks
What we use, and why.
The stack is chosen per project, not per trend. Some of these technologies go into almost every build, others only when the problem justifies them. We don't add dependencies for the pleasure of having more things in the package.json.
Frontend
Next.js 15
App Router, RSC by default, edge-ready.
React 19
What's actually in production today.
TypeScript
strict mode, shared types across client and server.
Tailwind CSS
brand tokens exposed in config, zero inline CSS.
Framer Motion
animations with custom easing, no bounce.
Lenis
smooth scroll that doesn't break accessibility.
Backend and data
Node.js
runtime, whenever a server is needed.
Prisma
type-safe ORM for Postgres.
Supabase
managed Postgres + auth + storage when it makes sense.
PostgreSQL
database when the project needs a solid one.
Resend
simple and reliable transactional email.
Zod
shared validation between client and server.
Content and i18n
MDX
blog and long content with custom components.
next-intl
multi-language i18n without a CMS, with translated slugs.
Sanity
when the client actually needs a CMS, this is the one.
Infrastructure
Vercel
hosting with edge, dynamic OG, native analytics.
Cloudflare
DNS, CDN, and protection for high-traffic sites.
When the project calls for it
Three.js
3D in the browser, configurators, experiences.
Stripe
payments when there's a checkout.
GTM + Consent Mode
tracking that respects GDPR from the first byte.
Process
01
Conversation
02
Proposal
03
Design and code
04
Launch and handover