Work

    FIVE PROJECTS

    Five projects, written up the way I actually worked on them: the signal that started the work, the decision that followed, the technical constraint that shaped it, and what the outcome taught me.

    Currently building ooba — an LLM training workflow and a passive health tracker for people who will not log anything by hand.

    All projects

    Fintech, consumer AI and internal tooling — each entry keeps the trade-offs in, not just the result.

    2025 / Shipped

    Bundle — AI-focused redesign

    Bundle was drifting into a feature catalogue. We rebuilt the product around a single AI-assisted flow so a new user reaches a useful answer in one screen instead of five.

    ROLE / SCOPE

    Product lead — discovery, scope calls, design direction, launch

    Support logs showed most sessions ended before the first result: people could not tell which tool to open.

    Collapse the tool menu into one prompt-first entry point and let the model route the request.

    Routing accuracy was only good enough with a narrow tool set, so we shipped four routes instead of eleven.

    Time-to-first-result dropped sharply, and the narrower route list turned out to cover most real requests.

    View case study

    2024 / Shipped

    Midas — Advanced Trader Tools

    Experienced traders were leaving for terminals with faster order entry. We built a dense, keyboard-driven layer without breaking the simple app everyone else uses.

    ROLE / SCOPE

    Product manager — research with active traders, spec, rollout

    A small group of high-volume users produced most order flow and complained about clicks per trade.

    Ship an opt-in advanced mode rather than making the default app denser for everyone.

    Real-time depth data was expensive per session, so advanced mode streams only while the panel is visible.

    Order entry time fell for the target group with no measurable regression in the standard experience.

    View case study

    2024 / Shipped

    Midas — Detailed Search

    Search returned tickers but not intent. We rebuilt it to answer questions like “dividend-paying industrials” instead of only matching symbol strings.

    ROLE / SCOPE

    Product manager — query analysis, ranking rules, evaluation

    Roughly a third of searches were natural-language phrases the exact-match index could not serve.

    Add a filterable, intent-aware layer on top of the symbol index instead of replacing it.

    Full semantic ranking was too slow at peak, so we pre-computed filters and kept semantics as a re-rank.

    Zero-result searches dropped, and the pre-compute pattern became the default for other list views.

    View case study

    2025 / In progress

    ooba — LLM Trainer

    A training workflow for teams who have domain data but no ML staff: upload examples, run a fine-tune, and compare outputs side by side before promoting a model.

    ROLE / SCOPE

    Founder — product definition, evaluation design, build

    Teams had usable data sitting in spreadsheets and no safe way to test whether fine-tuning helped.

    Make evaluation, not training, the centre of the product — you promote a model only after a visible diff.

    GPU cost forced short runs, so defaults favour small adapters over full fine-tunes.

    Reviewers trusted the output because every promotion is tied to a comparison they can read.

    View case study

    2026 / In progress

    ooba — Health Tracker

    Most tracking apps ask for daily discipline nobody has. This one reads what is already being recorded and only asks a question when the data is ambiguous.

    ROLE / SCOPE

    Founder — product definition, data model, build

    Logging drop-off happened in the first week, long before any trend could be shown.

    Import passively from existing sources and reserve manual input for genuinely missing context.

    Source data is irregular and gappy, so the model reports ranges rather than false precision.

    Retention past week one improved once the app stopped demanding daily entry.

    View case study