Introducing dpkit Terminal and TypeScriptSee the announcement

Platforms · Applications · Websites

Software development, end to end.

Foundations already running in production, AI-accelerated delivery, and architecture a human is accountable for.

  • We built and run Mycarro, a used-car marketplace live in Portugal — search, dealer back office, mobile app.
  • We designed and built a Swiss fintech MVP end to end — regulated finance, operations dashboard, iOS and Android.
  • We publish five open-source tools and use them on every project we ship.

— Small team / Direct with the engineers / You own the code

2
Products live in production
5
Open-source packages published
100%
TypeScript, front to back
2024
Building as Datist since
  • TypeScript
  • React
  • React Native
  • Node.js
  • Postgres
  • Tailwind
  • Cloudflare
  • Kubernetes

What we build

We build software the product needs.

We start from foundations already running in production, so your budget goes into what is actually yours — not into plumbing you would be paying us to rebuild.

Web application development

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

React · Postgres · Kubernetes

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.

Postgres · Role-based access · Audit logs

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.

React Native · Expo · TypeScript

Landing pages & marketing sites

Fast, prerendered sites that load instantly and cost almost nothing to run. Content you can edit yourself, in as many languages as you need.

TanStack Start · Tailwind · Cloudflare

Our work

What we have shipped.

Products we own, work we did for clients, and the tools we publish. Each one says which it is.

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

captureapplication.fairspec.org
The Fairspec site, the data exchange format we author, with its Python and TypeScript implementations.

Fairspecdata framework in TypeScript and Python

A specification for describing tabular datasets, with reference implementations in TypeScript and Python.

we author

capturedatist.io
The Datist site — this one — as it is published today, with its services, portfolio and blog.

Datistmarketing site for our company

The site you are reading. Prerendered in two languages with translated URLs, served as static files from the edge, and built on the same stack we sell.

we built

How we work

No surprises, in either direction.

Most software projects go wrong in the same three places: nobody agreed what finished meant, nothing was visible until the end, and the client could not run the result without the people who built it.

01

Scope before code

We agree what finished looks like before the first commit. If we cannot estimate something confidently, we say so rather than padding the number.

02

Ship every week

Something you can open and click, every week. No long silence ending in a demo that turns out to be the wrong thing.

03

You own it

Your repository, your accounts, your infrastructure, from the first day. Handed over with documentation and tests — not rented back to you.

The difference

A small team, working directly.

We are the people writing the code, not a layer in front of them. Here is what that actually changes.

The usual

  • ×An account manager between you and whoever is writing it
  • ×An estimate that moves once the contract is signed
  • ×A stack chosen to suit their bench, not your problem
  • ×Code you cannot deploy without the agency that wrote it
  • ×A hand-off document instead of a working system

Datist

  • You talk to the engineers building it, every week
  • Scope and price agreed up front, or we tell you why we can't
  • The same stack we run our own products on
  • Your repository and your accounts from day one
  • Documentation, tests, and a team that can take it over

How to start

Four steps from an idea to a price.

You will know what it costs and how long it takes before you commit to anything. The scoping call is free and there is no obligation after it.

  1. 1

    Tell us what you need

    A few sentences is enough: what you want built, roughly when, and what it has to do.

  2. 2

    Scoping call

    Free, about an hour. We work out what is tractable, what is not, and what the hard parts really are.

  3. 3

    Scope and price

    A written scope with a fixed price and a delivery date. If something cannot be estimated confidently, we say so instead of guessing.

  4. 4

    Build and hand over

    Weekly increments in your own repository, then documentation, tests and a handover to whoever maintains it next.

The principle

Software you cannot run without us is not finished. Everything we build ends up in your repository, on your accounts.

— How we decide what finished means

Writing

Notes from the work.

· news

Extending Data Package

Introducing Extension DP (Data Package Extension Template), a GitHub repository template for rapid Data Package extension development.

· news

Introducing dpkit

dpkit is a fast data management framework built on the Data Package standard and Polars DataFrames, for CSV, JSON and Parquet, with CKAN and Zenodo support.

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.

Get a quote