Home / All work · 12 projects

Every project, in one scroll.

Lane 01 of 03 · 4 projects

Live

In use, in production, or running every week.

Keep scrolling ↓

Live · 01 / 04

LeaseLoop

Role
Co-founder with Noah
When
2025 – present
Status
Live
Built with
Node.js · Express · PostgreSQL · Better Auth

One workspace for everyone around a rental property, from owners and managers to renters and the people who fix things.

Read the case studyVisit leaseloop.ca ↗ (opens in a new tab)

Manager's Today view listing six items that need a decision, with Lyra's notes under each and recent activity on the right

Walk through LeaseLoop

Scroll ↓ to move →Swipe sideways →
  1. Manager's Today view listing six items that need a decision, with Lyra's notes under each and recent activity on the right

    01One list of what needs a personToday pulls maintenance, rent and leases into a single queue. Lyra adds a short note to each row, such as how many quotes have come in or that a report mentions gas.

  2. Two plumbing quotes compared side by side, with strengths, considerations and which credentials LeaseLoop has verified

    02Quotes compared on what's verifiedFor a leaking toilet, two plumbers quoted $380 and $560. Lyra lays out the budget, availability and which licences and insurance were actually checked, and flags the one over budget.

  3. A maintenance request for a strong gas smell, with Lyra recommending urgent human review

    03Possible emergencies go to a personLeaseLoop doesn't decide whether a gas smell is an emergency. Lyra marks it urgent and says plainly that a person should review it now.

  4. A Lyra recommendation shown as three columns, evidence, recommendation and the manager's decision

    04Evidence, recommendation, decisionEvery suggestion shows what it read, what it recommends and the choices left to you. Decisions are logged with a name and a time.

  5. Lyra's page listing open recommendations grouped by urgency, with tabs for decided items and the activity log

    05Lyra's queue, and an off switchLyra's page lists everything it has prepared, grouped by urgency, with an activity log of what it actually did and a Pause button.

  6. Three sample rental applications for Unit 202 compared against the unit's criteria, with items still to verify

    06Applications against the unit's criteriaApplicants are compared only with the criteria set for the unit. A low income is flagged for review, not treated as a rejection, and LeaseLoop never approves or declines anyone.

  7. A draft invoice for 189 dollars with prompts to say who paid and to check a low-confidence category

    07A bill arrives as a draftA provider's $189 invoice lands as a draft. LeaseLoop asks who paid and points out the field it read with low confidence before anything touches the books.

  8. Posted ledger entries for a property, each split 60/40 between two owners

    08Posted entries split between ownersPosting records who paid and each owner's share in one step. Entries are never edited; mistakes are corrected or reversed in full.

  9. A settlement summary showing one co-owner owes the other 168 dollars

    09Who owes whomSettlements net out what each owner paid against their agreed share. In this example, one co-owner owes the other $168.

  10. A plumber's Today view with a quote request, upcoming visits and jobs in progress

    10The provider's sideThe plumber sees quote requests, visits agreed with renters and jobs in progress. A quote isn't a booking; the job still has to be accepted.

Live · 02 / 04

Valuation App

Role
Designed and built
When
2026 – present
Status
Private
Built with
Python · SEC EDGAR · pytest · mypy

A weekly research run that values groups of public companies six ways and keeps every result as history.

See the research log

The Valuation App screen

Live · 03 / 04

Life OS

Role
Designed and built
When
2026 – present
Status
v0.3
Built with
Tauri 2 · React · TypeScript · Rust

A desktop app that keeps a school year and a personal to-do list in one calm place.

Try the live demo

Life OS, the live demo

Live · 04 / 04

Financial Planner OS

Role
Designed and built
When
2026
Status
Built
Built with
Next.js · TypeScript · Supabase · Tauri

A personal financial planning workspace, from cash flow and goals to tax planning and an annual review, packaged as a desktop app.

Read the case study

Dashboard showing net worth split by type, a health score, savings rate and next steps

Walk through Financial Planner OS

Scroll ↓ to move →Swipe sideways →
  1. Dashboard showing net worth split by type, a health score, savings rate and next steps

    01Home baseThe dashboard shows net worth by type, a health score, the savings rate and the next step in the plan, and recalculates as the profile fills in.

  2. An eleven-stage journey from vision to annual review, with later stages locked

    02A plan built in orderThe plan has eleven stages, from defining what the money is for, through an emergency fund, goals, and tax and estate planning, to an annual review. Each stage unlocks the next.

  3. Cash flow page with income, expenses and unallocated money, and a flow diagram of where income goes

    03Where every dollar goesIncome flows into essential expenses, savings, debt and what's still unallocated, so the gaps are visible at a glance.

  4. Time Machine projecting net worth to retirement under conservative, expected and optimistic scenarios

    04The time machineIt projects net worth from today to retirement under three scenarios, with a sandbox for testing changes such as extra monthly investing.

  5. What-if planner with sliders for income change, expenses, return and years, and a projected net worth curve

    05What-if plannerMove the levers for income, expenses, return and time, and the projected net worth updates as you drag.

  6. Tax planning page with unused TFSA, RRSP and FHSA contribution room and a list of strategies

    06Canadian tax roomUnused TFSA, RRSP and FHSA room is shown in one place, with strategies to work through and track.

Lane 02 of 03 · 4 projects

Playground R&D

On the bench right now. Real code, moving targets.

Keep scrolling ↓

Playground R&D · 01 / 04

OurBudget

Role
Designing and building
When
2026 – present
Status
In development
Built with
TypeScript · PostgreSQL · Drizzle · Supabase

A personal finance app for Canadians that connects to real bank and brokerage accounts.

Read the case study

OurBudget dashboard with monthly spending against budget, net worth, transactions to review, top categories and upcoming bills

Walk through OurBudget

Scroll ↓ to move →Swipe sideways →
  1. OurBudget dashboard with monthly spending against budget, net worth, transactions to review, top categories and upcoming bills

    01The month at a glanceSpending against budget, net worth, transactions waiting for review, top categories and the next two weeks of bills all sit on one screen.

  2. Transactions list grouped by day with category tags, and a detail pane for one transaction

    02Transactions in three panesTransactions are grouped by day, each with its account and category. Pick one to categorize it, tag it, mark it as reviewed or link it to a recurring bill.

  3. Accounts page with net worth chart and a credit card's balance, limit and recent transactions

    03Accounts and net worthThis page shows net worth over time, accounts grouped by type and each account's history. Bank and brokerage connections live here and are read-only by design.

  4. Investments page with total balance, top movers and holdings, and a TFSA's detail

    04InvestmentsBalances, holdings and the day's top movers are shown across investment accounts, and each account has its own chart.

  5. Categories page with a spending donut and budget bars, and Food and Drink broken into subcategories

    05Budgets by categoryEach category shows spending against its budget, and opening one reveals its subcategories and month-by-month history.

  6. Recurring bills grouped by this month, paused and archived, with a rent rule and its payment history

    06Recurring billsSubscriptions and bills are detected from matching rules, with what's left to pay this month, overdue items and each bill's history.

Playground R&D · 02 / 04

LexiFlow

Role
Designing and building
When
2026
Status
In development
Built with
Electron · React · Python · FastAPI

A background dictionary. Highlight a word in any app to see what it means in context, then review it until it sticks.

Read the case study

Looking up an unfamiliar word means leaving what you're reading, and words you look up once are usually forgotten by the next week.

Playground R&D · 03 / 04

SignalSift

Role
Designing and building
When
2026
Status
In development
Built with
TypeScript · Node.js · PostgreSQL · Docker

Saved posts from Instagram, TikTok, X and YouTube become a searchable personal knowledge base. Tap Share, choose SignalSift, and you're done.

Read the case study

SignalSift concept dashboard with the product goal, the five-step share flow and key targets such as under five seconds from share to save

Walk through SignalSift

Scroll ↓ to move →Swipe sideways →
  1. SignalSift concept dashboard with the product goal, the five-step share flow and key targets such as under five seconds from share to save

    01The promise, written downThe goal fits on one screen. A save should be confirmed in under five seconds, even offline, while workers transcribe, summarize and tag it afterwards.

  2. A saved post opened in a side panel showing its summary and pipeline stages from captured to indexed

    02One save, end to endEach capture moves through the pipeline, from captured to extracted, summarized and indexed, and only asks the user for input when extraction is blocked.

  3. Processed content cards with tags, next to a risk panel rating how open each platform's data access is

    03Honest about each platformFinished cards are tagged and searchable. A risk panel records which platforms have clean data access and which need user-assisted fallbacks.

Playground R&D · 04 / 04

Between

Role
Designed and built
When
2026
Status
v1, in development
Built with
Next.js · React · TypeScript · Zustand

A recurring ritual for the people who matter most, with guided conversations that build a lasting shared history.

Try the live demo

Between, the live demo

Lane 03 of 03 · 4 projects

Experimental

Sketches, prototypes, class work and one-off builds.

Keep scrolling ↓

Experimental · 01 / 04

Circle

Role
Designed and built
When
2026
Status
Prototype
Built with
Next.js · TypeScript · Firebase · Firestore

A minimal, real-time shared habit tracker that answers two questions: what do I need to do today, and how is my circle doing?

Read the case study

Habits stick better with a little accountability, but most trackers are either solitary or turn into social feeds.

Experimental · 02 / 04

Discord Project Bot

Role
Designed and built
When
2026
Status
Built
Built with
Node.js · discord.js · Express · SQLite

A bot that runs a team's projects inside Discord, with a channel per project, lifecycle stages, GitHub activity and a live dashboard.

Read the case study

Team Delivery Board showing project counts by lifecycle stage and one project card in ideation and testing

Experimental · 03 / 04

Gari's Asia Trip

Role
Designed and built
When
Spring 2026
Status
Complete
Built with
React · Vite · Tailwind CSS · Motion

A day-by-day timeline for following along with a spring 2026 trip through Korea and Taiwan.

Read the case study

Instead of a photo dump, the trip reads as a timeline: each day with its place and a short story, from leaving Calgary on April 29 through Seoul, Busan, Ansan and Gwacheon, then Taipei, Jiufen and Pingxi, and Yilan.

Experimental · 04 / 04

Alberta Hospital Management System

Role
Built with Luke and Emily
When
2026
Status
Complete
Built with
Python

A Python system for managing doctors and patients across a network of small rural hospitals.

Read the case study

A fictional provider, Alberta Hospital, needs simple tools to manage doctor profiles and patient records for mini-hospitals serving underserved rural areas.

End of Alberta Hospital Management System

You reached the end of the work.

That was everything12 projectsThe endKeep scrolling