Introducing dpkit Terminal and TypeScriptSee the announcement

Services & integration

Typed APIs

One definition generating the server, the client and the docs, so drift is a build error.

  • oRPC
  • Connect RPC
  • Protobuf
  • Server functions
  • OpenAPI

What it is

The contract between a client and a server, expressed once in a form both sides are generated from, so a breaking change is caught at build time rather than in production.

Why we chose it

Our default is oRPC: procedures defined with Zod schemas, giving an end-to-end typed client, TanStack Query integration and an OpenAPI document from one definition. Where a contract has to be shared across languages or survive independent release cycles, we use Connect RPC with Protobuf, because a versioned schema file is a better boundary than a shared package. For work that never leaves one deployment, server functions are enough and adding an API layer would be ceremony.

What we build with it

Web application development

Data layer through to interface: search, integrations, background jobs, and the infrastructure to keep it running.

Full-stack web applications · Typed APIs · Durable workflows · Container orchestration

Multi-platform products

One product across a consumer site, an operator dashboard, a mobile app and partner microsites — sharing one data model, so they cannot drift apart.

Full-stack web applications · Mobile & desktop · Typed APIs · Identity & access

Internal tools & back-office systems

The internal tool your industry actually needs — leads, deals, inventory, invoicing, permissions, an audit trail. Built around how you work rather than around a template.

Transactional databases · Identity & access · Typed APIs · Full-stack web applications

Mobile app development

iOS and Android from one codebase, sharing types with your backend so the two cannot drift apart. Through the stores, or over the air.

Mobile & desktop · Typed APIs · Identity & access

Where we use it

Between every application and its backend, and at the seams where a client's existing systems have to be integrated with something new.
capturemycarro.app
The Mycarro car search engine as it runs today, searching across its live Portuguese listings.

Mycarrocar marketplace and dealer CRM

A used-car marketplace live in Portugal. Consumer search over listings gathered from across the market, a dealer back office for leads, inventory and invoicing, and a mobile app — built end to end.

we built

under NDA
Work we cannot show
ND

NDASwiss fintech platform MVP

Lead architect on a regulated financial services platform: a contract-first backend, an operations dashboard, and an iOS and Android app. MVP delivered.

client · NDA

Get in touch

Tell us what you need built.

We are a small team in Portugal, working London hours. A site, an app, an internal tool, or the platform behind them — start with a sentence about the problem and we will take it from there.

All technologies
Get a quote