Resources — Interactive Tool

    PROOF Portfolio Builder

    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.

    Accent Color

    This colors your exported portfolio, not this builder.

    Who are you?

    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'

    Your projects

    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

    FlutterRiverpodServerpodPostgresStripe

    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?

    Decision 1
    Why?
    Decision 2
    Why?

    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.

    Live Preview

    </>Jane Doe
    ProjectsConnectSay hello
    Flutter developer building offline-first, production-grade apps

    Hi, I'm Jane Doe

    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.

    View ProjectsGet in Touch

    Stack I work with

    FlutterRiverpodServerpodPostgresStripeBlocSupabasePlaidweb3dartEthereum
    const engineer = {
      name: "Jane Doe",
      focus: "Flutter developer building offline-first, production-grade apps",
      stack: ["Flutter", "Riverpod", "Serverpod", "Postgres"]
    };

    3

    Projects

    5

    Decisions documented

    10

    Technologies used

    12

    Operational checks

    Featured Projects

    Selected Work

    01

    Cartly

    Helps shoppers catch pricing mistakes before they reach checkout

    FlutterRiverpodServerpodPostgresStripe
    Beta / TestFlight GitHub

    The Problem

    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.

    Real Decisions

    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

    Engineering, not just a demo

    • Automated tests (unit / widget / integration)
    • CI/CD pipeline
    • Clean, incremental commit history
    • Crash-free build reviewers can install
    • Error handling & loading states shown in the demo

    In TestFlight with 40 testers; catches an average of 2 pricing mismatches per 100 checkouts during testing.

    02

    Ledgr

    A budgeting-first banking app that shows the impact of a purchase before you confirm it

    FlutterBlocSupabasePlaid
    Demo build GitHub

    The Problem

    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.

    Real Decisions

    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

    Engineering, not just a demo

    • Automated tests (unit / widget / integration)
    • CI/CD pipeline
    • Clean, incremental commit history
    • Crash-free build reviewers can install
    • Error handling & loading states shown in the demo

    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.

    03

    Vaultra

    A mobile wallet that explains gas fees in plain English before you approve a transaction

    FlutterRiverpodweb3dartEthereum
    Idea / in progress

    The Problem

    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.

    Real Decisions

    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

    Engineering, not just a demo

    • Automated tests (unit / widget / integration)
    • CI/CD pipeline
    • Clean, incremental commit history
    • Crash-free build reviewers can install
    • Error handling & loading states shown in the demo

    Early prototype; not yet handling mainnet transactions.

    With 2 more weeks: Add support for chains beyond Ethereum.

    Ship less, but make it defensible.

    Let's Connect

    Open to freelance and full-time mobile engineering roles

    jane@example.comLondon, England — open to remote

    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.