Resources — Interactive Tool
PROOF turns shipped mobile projects into a portfolio built around real engineering decisions: the problem you solved, the tradeoffs you made, and results you can point to. Fill in your projects below and get a polished, ready-to-host HTML portfolio in minutes.
This colors your exported portfolio, not this builder.
Optional — shown as a pull-quote. e.g. 'Ship less, but make it defensible.'
Optional — shown in the closing 'Let's Connect' block
Optional
Optional — e.g. 'Open to freelance and full-time roles'
The sentence you'd say if someone asked 'what does it do?' — plain and specific, not a tagline.
Separate with commas — e.g. Flutter, Riverpod, Serverpod, Postgres
YouTube or Vimeo link — it'll be embedded, not just linked.
What real friction does this solve? Who feels that friction? Why do existing options fall short?
A familiar category people instantly get — banking, ecommerce, booking, etc.
Metrics if you have them (crash-free rate, load time, TestFlight installs). If no real users yet, describe what you learned or what you'd do with more time.
I care more about the decisions behind an app than the number of screens it has. These three projects rebuild familiar categories from scratch to show real architecture thinking, not tutorial-following.
Stack I work with
3
Projects
5
Decisions documented
10
Technologies used
12
Operational checks
Featured Projects
Helps shoppers catch pricing mistakes before they reach checkout
Online shoppers often discover price differences between the cart and the final checkout screen, and by then it's too late to react. Cartly re-validates pricing live so shoppers are never surprised at the last step.
State management
Chose: Riverpod
Why: Needed granular, provider-scoped invalidation for live price recalculation without rebuilding the whole cart tree.
Backend
Chose: Serverpod + Postgres
Why: Wanted type-safe Dart end-to-end and relational integrity for order and pricing history, over a NoSQL option.
Familiar category: ecommerce
Original twist: Live price-diffing against the merchant catalog instead of a static cart snapshot
In TestFlight with 40 testers; catches an average of 2 pricing mismatches per 100 checkouts during testing.
A budgeting-first banking app that shows the impact of a purchase before you confirm it
Most banking apps show your balance after a purchase, not before, so people trying to stick to a budget overspend and find out too late. Ledgr surfaces the budget impact at the moment of purchase, not after.
State management
Chose: Bloc
Why: The transaction flow needed strict, auditable state transitions given it's handling financial data — Bloc's explicit event/state model made that easier to reason about here than Riverpod.
Backend
Chose: Supabase + Plaid
Why: Needed built-in auth and row-level security fast, plus Plaid for real bank-account linking without building a custom ledger service from scratch.
Familiar category: mobile banking
Original twist: Pre-purchase budget-impact preview instead of post-transaction notifications
Built as a demo with mock Plaid data; not yet handling real transactions.
With 2 more weeks: Wire up real Plaid sandbox integration for live bank linking.
A mobile wallet that explains gas fees in plain English before you approve a transaction
New crypto users abandon transactions because gas fees show up as raw numbers with no context, and a wrong approval can be costly and irreversible. Vaultra translates fees and contract permissions into plain language before every signature.
Chain interaction
Chose: web3dart
Why: Needed direct Dart-native control over transaction signing rather than a JS bridge, to keep wallet key handling fully inside the Flutter security sandbox.
Familiar category: crypto wallet / dApp
Original twist: Plain-language transaction previews instead of raw hex and gas data
Early prototype; not yet handling mainnet transactions.
With 2 more weeks: Add support for chains beyond Ethereum.
Ship less, but make it defensible.
Open to freelance and full-time mobile engineering roles
Built with the PROOF framework — Mobterest Studio
Once you're happy with it, download the file and host it for free on Netlify or Vercel — drag and drop the HTML file in, or connect it to your GitHub repo for automatic deploys.