Software, built properly.

Senior engineer with 15 years of shipping mobile, desktop and web applications, and the backends behind them. Six years on Ford's connected-vehicle apps. Founder of Invoice.app.

Katowice, Poland · Remote across the EU and UK · Available for new projects

What I build

Mobile

Native iOS and iPadOS in Swift and SwiftUI, native Android in Kotlin and Compose, and cross-platform in Flutter.

Swift · SwiftUI · UIKit · Kotlin · Compose · Flutter

Desktop

macOS apps that share a codebase with iPhone and iPad without feeling like ports.

macOS · SwiftUI · AppKit

Web

Fast, static-first sites in Next.js and React, and web apps in Flutter, localised from day one.

Next.js · React · TypeScript · Tailwind · Flutter Web

Backend

Go services on Google Cloud, Firebase, payments, and regulatory integrations such as e-invoicing.

Go · Cloud Run · Firebase · REST

Selected work

In development

Public transport app

Public transport for Poland.

A public transport app for Poland, in development now. More here soon.

In progress
In progress
In progress
Coming soon

Metrochrome

Film, measured.

The successor to BLACK. A darkroom in your pocket: thirty-six colour and black-and-white film stocks, each built from the manufacturer's own published datasheet rather than a preset with a film's name on it. Load a roll, expose it, develop it and print it with real darkroom instruments: enlarger filtration, test strips, paper grades, dodge and burn. Native iOS and Android, sharing one measured dataset and a conformance suite so both phones print the same negative the same way.

iOS · Android · Metal / OpenGL · 24 languages

metrochrome.app ↗
Choosing a film stock in Metrochrome
Film stock
Enlarger head filtration in Metrochrome
Enlarger filtration
The collection of developed rolls in Metrochrome
Collection

Invoice.app

Invoicing for freelancers and small businesses.

Create invoices, estimates, purchase orders and credit memos, track payments and expenses, and stay compliant with e-invoicing in Poland (KSeF) and Germany (ZUGFeRD, XRechnung). One product across iPhone, iPad, Mac, Android and the web, with offline support and sync. Designed, built and run end to end: Swift and SwiftUI, Flutter, a Go backend on Cloud Run, and a Next.js site in nine languages.

iOS · iPadOS · macOS · Android · Web · Go backend

invoice.app ↗
An invoice created in Invoice.app
Invoice
Invoice.app dashboard on iPhone
Dashboard
Expenses by category in Invoice.app
Expenses

BLACK

Black-and-white film emulator.

A black-and-white film emulator, made with Nuevo.Tokyo. Ten real films, from Ilford HP5 and Kodak Tri-X to expired stocks like Fuji FP-3000B, each an accurately generated curve rather than a grey filter, and five manual adjustments: curves, fade, vignette, shadows and highlights. Full-resolution saves and a collection of your prints. Featured by Apple multiple times and downloaded over a million times. Shipped on iOS and Windows Phone.

iOS · 1M+ downloads · Featured by Apple

Choosing a film in BLACK
Film choice
The tone curve in BLACK
Tone curve
The collection of prints in BLACK
Prints

Brands I have built for

  • Ford
  • BBC
  • ITV
  • Burberry
  • Olympic Channel
  • Priority Pass
  • VEON

Directly and through agencies, 2011 to 2025.

About

I have been shipping iOS apps since 2011, for broadcasters, retailers and hardware startups in London and Poland, and for six years as a senior engineer on Ford's connected-vehicle apps for fleet customers across the UK, EU and US. Along the way I added Flutter, Go and the web, mostly because my own product needed them.

Today I split my time between running Invoice.app and building software for clients. I work alone or embedded in a team, remotely, and I take ownership of the whole thing: architecture, code, tests, releases and the backend behind it.

Contact

Building something that has to work?

If you need high-quality software for mobile, desktop or web, and someone who will own it from the first commit to the App Store, get in touch.