Web Platforms
The unglamorous middle of most products: accounts, permissions, tenancy, billing, and the dashboards that sit on top of them. Built once, properly, so the surface you show customers and the surface your team operates on are the same system rather than two that drift apart.
Most start as a 1–3 month build; platform work then continues as an embed.
A web platform is the multi-tenant application underneath a software business — not a marketing site with a login. It owns identity, isolation between customers, the permission model, usage metering, and the operator tooling that keeps all three honest. Getting it wrong is expensive because every one of those reaches into every query.
- SHIPPED
- 3 platforms
- TYPICAL BUILD
- 1–3 months
- FROM
- €10,000
- TENANCY
- MULTI
HOW IT RUNS
WEEK 1 → WEEK 9–12- WEEK 1
Isolation model
The schema, the tenant boundary, and the permission matrix — written down and reviewed before a single screen exists.
- WEEK 2–4
The spine
Auth, roles, and one end-to-end path through the product, deployed to a real environment the first day it runs.
- WEEK 5–8
Both surfaces
The customer product and the operator console, built from the same data layer rather than as two systems that will drift.
- WEEK 9–12
Metering and handover
Usage attribution, billing where the model needs it, and documentation written for the engineer who joins next.
HOW IT IS BUILT
- Multi-tenant from the first commit
- Tenancy is not a feature you add later — it reaches into every query, every permission check, and every background job. Isolation is designed in at the schema level so a second customer does not become a rewrite.
- Type-safe end to end
- TypeScript from the database row to the rendered component. The type system is the cheapest test suite available, and it catches the class of bug that reaches production silently rather than loudly.
- Metering and billing as first-class concerns
- Usage attribution designed in rather than bolted on. Saldo and Resolo both meter per organization, which only works because the data model knew about organizations before the billing page existed.
- Observable by default
- Instrumentation is part of the build, not a retrofit. When a customer asks why a number looks wrong, the answer should be a query, not an investigation.
SHIPPED
Not a capability list — software in market that this work produced.
- FINTECHSALDOTwo-phase orchestration — AI proposes, hardened executor applies. Self-healing import configs, vision-augmented parsing, pluggable e-invoicing connectors.Next.js · Vercel AI · Postgres · RedisCASE STUDY
- CUSTOMER SUPPORTRESOLOCustom orchestration engine with confidence tags and explicit handoff markers. pgvector knowledge layer, Redis-backed escalation, billing tied to plans.TypeScript · pgvector · RedisCASE STUDY
- DEVELOPER TOOLSCHECKMARKEDTwo-stage analysis pipeline: deterministic scan for instant feedback, deeper AI passes for narrative. SSE streaming, Zod-bound outputs, multi-repo support.Next.js · Azure OpenAI · PostgresCASE STUDY
WHAT YOU GET
- A running multi-tenant application, deployed, with environments and CI
- Schema, migrations, and a documented isolation model
- Authentication, roles, and permissions wired through to the data layer
- Operator/admin surface for the people who run it day to day
- Usage metering and billing integration where the model needs it
- Handover documentation written for the engineer who joins next
- TypeScript
- Next.js
- Postgres
- Redis
- Prisma
- tRPC
- Vercel
THE ARTIFACT
IS THIS THE RIGHT FIT
- You are selling the same software to more than one organization
- Your team needs an operator surface as much as customers need a product
- Usage has to be attributed, metered, or billed per account
- A brochure site or a landing page — that is a smaller, cheaper job
- A single-tenant internal app where isolation is not a concern
QUESTIONS
How long does a web platform build take?
Most run one to three months for a first production version at €10,000 – €50,000, then continue as an embed. The variable is rarely the interface — it is how many distinct roles and permission rules the business actually has.
Do you work with an existing platform or only greenfield?
Both, though the shape differs. Greenfield starts with the isolation model. Existing systems start with an audit, because retrofitting tenancy into a single-tenant schema is the most common and most expensive problem we get called about.
Which database and hosting do you default to?
Postgres with Redis for queues and caching, deployed on Vercel, with pgvector added when the product needs retrieval. Shipped that way in Saldo, Resolo, and Checkmarked.
Got something in this shape?
A scoped sprint starts at €5,000 and runs two to four weeks. Every engagement is priced before work starts.
