4 live 1 building on the bench: Pehra Pro, Snap Receipt last shipped

Projects

Everything I've built or am building, with its status. Some of it is in production. Some of it is half-soldered. Anything public links to where you can check it.

Every project has its own page: what it does, how it's built, and what it cost.

On the bench this week

  • Building Pehra Pro

    Decoding Teltonika IO per device model, because the same IO number means different things on different models.

    NATS JetStream · PostgreSQL · TimescaleDB · TypeScript · MapLibre

    last shipped

  • Live Snap Receipt

    Version 26.10.1 on both stores: the client report up front, and receipt reading rewritten for trade receipts.

    Flutter · Hono · PostgreSQL · MCP

    last shipped

Live

Real users, today.

Building

Under active development.

  • Building Pehra Pro

    AI-native fleet management and asset tracking for GPS tracking companies: mixed trackers in, live operations and the business behind them out.

    NATS JetStream · PostgreSQL · TimescaleDB · TypeScript · MapLibre

    last shipped

Unreleased

Built and working, not public yet.

Some of the best decisions on this site live in here.

  • Unreleased Sqwrl

    One workspace where agents and people work on the same data, and agents build their own tools.

    Bun · SQLite · Durable Objects · MCP

    last shipped

  • Unreleased FieldAudit Pro

    Offline-first site inspections: every defect tied to its place, proof, owner and status.

    Flutter · Drift · Hono · PostgreSQL · MCP

    last shipped

  • Unreleased LaunchLens

    Competitor research to a launch-ready app, in Chrome's side panel.

    TypeScript · React · IndexedDB · Vercel AI SDK

    last shipped

  • Unreleased CoachTrack

    Attendance, progress and reports for coaches, with a portal for parents.

    Flutter · Hono · PostgreSQL · BullMQ

    last shipped

  • Unreleased ShipLock

    Lock one project into a focus track and finish it. Quitting takes effort, on purpose.

    Flutter · Firebase · Gemini

    last shipped

Released packages

  • Released guided_tour

    Guided tours for Flutter, where the tour is data.

    Dart · Flutter

    1.0.3 last shipped

  • Released libtailscale

    A private network inside your Flutter app. No VPN, no permission dialog.

    Dart · FFI · Go

    1.0.1 last shipped

  • Released photo_markup

    Photo markup stored as vectors, so it renders the same at every size.

    Dart · Flutter

    1.0.2 last shipped

Earlier work, 2006 to 2025

Newest first, back to a microcontroller with 368 bytes of RAM, with links where the code or the release is public.

  1. 2022–2024

    Location packages for Flutter

    Google Places search, autocomplete and geocoding packages.

  2. 2021–2025

    Platforms for real businesses

    Grocery delivery. Cleaning services: mobile app, dashboard and API. Dental clinics. Invoicing on web and mobile. A team portal and app for a services company. Field management. Student attendance. Real-estate AI agents.

  3. 2020

    gamoraa

    The simplest framework I could design for gRPC services in TypeScript, with a Firestore-style data layer on MongoDB.

  4. 2018

    EntrenaPro, on Flutter before 1.0

    More than 40 screens on iPhone and Android in four months, on a Flutter that hadn't reached 1.0. Stripe in Dart from the docs, because there was no SDK. The widgets that didn't exist yet became packages: a month picker, a Cupertino range slider, and stripe_api, still my most-starred repository.

  5. 2017

    Backend plumbing

    Fastify plugins for NATS, Mongoose, Redis and OrientDB, and hapify, which puts hapi-style routes, Joi validation and Boom errors on Express. All on npm. RxLifecycle: lifecycle-safe RxJava2 for Android.

  6. 2016–2017

    Smart-home IoT

    ESP8266 firmware on Google's Weave protocol. An MQTT broker for smart devices. Device services in Go that plug into the Google Assistant.

    My smart-home test rig: an ESP8266 board on a breadboard, with five LEDs and a 4×4 keypad.
    Up close: the ESP8266 board, five LEDs and two I²C expander boards, with the keypad's ribbon cable coming in from the right.
  7. 2014

    TypeScript full-stack frameworks

    OryxMVC, then OX: a full-stack framework on Express and Node, written in TypeScript in late 2014, while TypeScript was still at 1.x. It shipped with its own Yeoman generator.

  8. 2012–2017

    Android in Java, iOS in Objective-C

    Native mobile, first on site and then remotely. The same screens, written twice, in two languages.

  9. 2010

    Commercial GSM vehicle tracker

    A PIC16F887 and a SIM900 GSM module, with firmware in C, packaged into a tracker for real vehicles.

  10. 2007–2011

    Game engines

    LibGDX on mobile, OGRE on desktop, during my Computer Science degrees.

  11. 2006

    First microcontroller

    A PIC16F887: 40 pins, 8 bits, 368 bytes of RAM, programmed in C during my electronics diploma.