InvoiceMe

Case studyInvoicing productProject 13

Screenshot · synthetic data InvoiceMe Flutter web build, dashboard and invoices on synthetic data

The problem

Freelancers and small businesses need fast, secure invoicing that works on mobile.

What I built

A Flutter app over a NestJS API with PostgreSQL, Stripe payment intents with signed webhooks, TOTP two-factor auth with backup codes, DB-backed refresh-token rotation, audit logging and GDPR export/delete. A protocol-2 sync client with server revisions and a conflict-review screen is built and tested, but the screens save directly to the server, so offline editing is not implemented.

The result

Development is complete; the production release is deferred by the owner. On the last code change, CI passes backend unit, real-PostgreSQL end-to-end, Flutter and Android-emulator suites, each reported separately below. Offline editing through the app’s screens is not implemented. Repository improvements verified independently; the owner-managed installation was outside this review, which does not establish which version that installation runs.