Meet FinMin

I designed and built a local-first personal
finance workspace
that helps the user
manage their finances, privately.

FinMin dashboard with total spent, spending by category, upcoming tasks, and budget progress

Overview

I set out to design and build a unified macOS workspace that could organize the client's complete financial picture without taking ownership of their data. The product needed to support detailed financial workflows, remain approachable during frequent use, and preserve direct access to every record outside the application.

FinMin spending module with the monthly transactions table and category summaries
FinMin reports module charting spending over time

Designing for
local-first privacy

I built the product around a local-first file model. Transactions, budgets, subscriptions, accounts, forecasts, and monthly reviews live as human-readable Markdown inside a folder chosen by the client. Interface edits write to disk immediately, direct file edits flow back through live file-watching, and every record remains accessible outside the application.

Diagram of two-way sync between a Markdown transactions file on disk and the FinMin interface
FinMin spending window beside the Markdown file that stores the same records
Collapsible Personal, Business, and Archived account sections with live counts
Emoji-led category picker with search and keyboard navigation
Draggable money map canvas showing how funds flow between accounts

A calm system for a dense product

Visually, FinMin builds on a warm, restrained language: an off-white canvas, a calm green-teal accent, generous radii, and quiet motion. The goal was to make a data-dense financial tool feel approachable rather than clinical.

A shared token system and component library kept that language consistent as the product grew from a single expenses screen into a thirteen-module workspace.

FinMin color foundations board: surface, text, border, accent, status, and category tokens
FinMin typography foundations board with the Hanken Grotesk type scale

Tracking personal spending and budgeting

I also refined how the product defines and communicates spending. Refunds, transfers, and credit-card payments are treated differently from genuine expenses, helping reported totals match the client's expectations. Where multiple valid financial definitions could produce different results, the interface exposes that distinction rather than presenting a misleading single answer.

FinMin transactions table with categories, accounts, amounts, and a linked refund
FinMin credit cards table with balances, limits, and payment status
Spending by category widget with proportional bars and totals
Monthly budgets widget showing spending against limits per category
Category breakdown widget ranking spending by category
Upcoming tasks widget listing finance reminders and deadlines
Category dropdown with emoji-led categories and search

A clean, minimal
landing page

I designed the landing page to communicate finmin's local-first value in a clear, approachable way. The page combines focused messaging, calm visual design, and product-led storytelling to explain how the app brings scattered financial tasks into one private, self-owned workspace.

The full FinMin landing page: hero, privacy architecture, feature tour, pricing, and closing call to action
The FinMin landing page on mobile: stacked hero, privacy pillars, feature tour, and closing call to action

Outcome

The result is a private, self-owned financial workspace that consolidates what used to be a dozen scattered artifacts into one coherent, live picture, without the client ever surrendering their data.

The client gained a private desktop workspace, faster recurring reviews, reversible account management, clearer reporting, and a file system they can inspect, back up, or take elsewhere at any time.

The design gives a technically demanding, feature-rich product the calm and clarity of a much simpler one. For a tool meant to be returned to week after week, that combination of privacy, legibility, and low friction is the durable value: it makes staying on top of one's finances something the client can actually sustain.