Introducing dpkit Terminal and TypeScriptSee the announcement

Data & storage

Transactional databases

One Postgres per product, with the schema and the queries deliberately owned by different tools.

  • PostgreSQL
  • Prisma
  • Kysely
  • SQL migrations
  • pgvector
  • PostGIS

What it is

The system of record: a relational database holding the state a business cannot afford to lose, with real transactions, real constraints, and a schema that is written down rather than implied by the code that happens to write to it.

Why we chose it

We default to PostgreSQL because it absorbs requirements that would otherwise become separate systems — JSON documents, full-text search, geospatial queries through PostGIS, vector similarity through pgvector. The split we care about is internal: Prisma owns the schema and the code generation, while every runtime query goes through Kysely as typed SQL. That keeps the generated types and the Zod models honest without an ORM deciding how our queries are shaped, and it leaves migrations as reviewable SQL rather than something a tool improvises during a deploy.

What we build with it

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

Data platforms & pipelines

Getting data in, checking it, and keeping it correct — from a handful of spreadsheets to millions of rows a day.

Data processing · Data standards & validation · Transactional databases · Web data acquisition

Where we use it

This is the backbone of the products we run day to day, and the part of a client engagement we are most often called in to repair — usually where the schema drifted away from the application that depends on it.
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