Skip to content

Services

Only what we actually build. We leave work off this list rather than learn it on your budget: knowing before we take a project costs less than finding out after.

Backend and API

Where the business rules live. Multi-tenant data isolation, a role and permission matrix, authentication, a versioned API surface and a consistent error contract. Calculation stays in exactly one place on the server: write the same arithmetic twice and you will eventually quote two different prices.

NestJS · TypeScript · Prisma · PostgreSQL

Web applications

Admin panels and corporate sites. Server-rendered pages, real multilingual routing, and performance we measure rather than assume. Every field a panel shows has already passed a permission check on the server.

Next.js · TypeScript · React

Mobile applications

iOS and Android from one codebase. Three things go into the first release or never: a forced-update check, a versioned API and feature flags. None can be retrofitted, and without them the old builds sitting in the stores dictate your roadmap for months.

Flutter · Dart · FCM

Deployment and infrastructure

How code reaches the server is part of the job. Each client gets its own database and its own database user. Backups live with a second provider and are restore-tested — an untested backup is not a backup. Nothing is pushed straight to the main branches: pull request plus one approval, with every request checked by CI.

Docker · Coolify · Cloudflare R2 · GitHub Actions

How we work

  • Scope is written down first — and what is out of scope is stated as plainly as what is in it.
  • Rules and arithmetic live on the server. The front end formats; it does not decide.
  • A field you are not allowed to see is absent from the response, not hidden in the UI. Hiding is a design choice; omitting is security.
  • No breaking API changes. Fields get added — never removed, never retyped.
  • Mobile apps are published from your own store account. The app belongs to you.