Sharper Code
Brighter Apps

Full-stack developer building fast, accessible web apps, dashboards and the tools behind them.

Capabilities

What I build

Four areas I work in every week — each card links to matching projects.

  • Web Apps

    From first prototype to production: server-rendered React apps with fast first paint and sensible client islands.

    See web apps
  • APIs & Backends

    Typed APIs, queues and data models that stay boring under load — Node.js, Go and PostgreSQL.

    See dashboards
  • UI Engineering

    Design systems, accessible components and motion that feels quiet — built from tokens, tested with real users.

    View the stack
  • Automation & AI

    CLIs, CI pipelines and pragmatic AI features that remove repetitive work instead of adding novelty.

    See tools

I don’t ship template websites

Every project starts with the people who will use it. I design the data model, the architecture and the interface together, so the result is fast, accessible and easy to change.

Over eight years I have built SaaS dashboards, offline-first apps and developer tools for startups, agencies and public-sector teams.

Principles

Why work with me

Three principles that shape every project, from the first call to the last deploy.

Every project ships with a performance budget. Static by default, JavaScript only where it earns its place, and real-user metrics after launch.

  • Lighthouse
  • Web Vitals
  • Edge

Budgets agreed before the first line of code.

Process

Have an idea? Let’s build it.

  1. Discovery

    We talk to the people who will use it and agree on what success looks like.

    Goals & scope

  2. Architecture

    Data model, rendering strategy and API contracts are settled before the first screen.

    Concept & stack

  3. Build

    Small, reviewed increments behind feature flags, tested as they land.

    Iterations & tests

  4. Launch

    A measured release, then monitoring and support while real traffic arrives.

    Release & support

Case studies

Built for real users

Two projects in detail: the problem, the architecture and the numbers after launch.

Placeholder preview of the Ledgerly interface

Ledgerly

A streaming dashboard with server-rendered summaries, optimistic edits and a reconciliation engine that matches 94% of transactions without manual work.

  • Next.js
  • TypeScript
  • PostgreSQL
  • tRPC
  • Playwright

Results

Lighthouse
98
Load time
−60%
Active users
2k
Placeholder preview of the Atlas Notes interface

Atlas Notes

CRDT-based syncing removes conflicts entirely, and an accessible editor model keeps the document readable by assistive technology.

  • React
  • TypeScript
  • CRDT
  • Vite

Results

Sync latency
45ms
Notes / workspace
10k
WCAG level
AA

Next step

From the first call to kickoff

Three steps — nothing is binding until the last one.

  1. Concept call

    A short call about your goals; afterwards you get a first design concept, free of charge.

  2. Scope & details

    Together we settle scope, timeline and budget, so nothing comes as a surprise later.

  3. Kickoff

    Once everything is agreed, the build begins — in the small, reviewed steps of the process above.

Just a question?

Let’s talk

Tell me about your project. I usually reply within two working days.