Five products, one obsession: turning input into output.

I kept hitting the same wall — notes, money, reading lists, GitHub notifications and passwords all pile up faster than they turn into anything useful. So I built the tools I wanted. Most run on .NET 10 and Blazor, and every line is public.

Brainy

Live

A second brain that pushes work forward instead of storing it.

Brainy organizes notes, projects, and goals with the PARA method and the CODE workflow, then keeps the emphasis on actionability rather than passive storage. Captured knowledge gets distilled into outputs you can reuse in real work.

The problem

Notes pile up in five different apps and none of them turn into finished work.

Built with

  • .NET 10
  • Blazor
  • MudBlazor
  • EF Core
  • SQL Server

What it does

  • Today dashboard for current work, deadlines, and project progress
  • PARA organization across projects, areas, resources, and archives
  • Notes distilled with highlights, summaries, sources, and related notes
  • Action items promoted straight into project tasks
  • Tasks with priorities, subtasks, recurrence, and prerequisites
  • Outputs that turn stored knowledge into reusable Markdown
  • Search across notes, outputs, projects, tasks, areas, and goals
  • Versioned JSON export of everything you own

Screenshots

MoneyBrain

Coming soon

Your personal finance system, under your control.

A self-hosted personal finance app for tracking accounts and transactions, running a monthly envelope budget, and reconciling against statements. No bank sync, no telemetry, no financial advice — by design.

The problem

Every budgeting app wants your bank credentials and sells the data behind them.

Built with

  • .NET 10
  • Blazor Server
  • MudBlazor
  • EF Core
  • PostgreSQL
  • Docker

What it does

  • Accounts and balances for assets, liabilities, and manual adjustments
  • Transactions with search, filters, and safe bulk edits
  • Transfers between accounts that never count as income or expense
  • Split transactions allocated across multiple categories
  • Envelope-style monthly budgeting, plan against activity
  • Statement reconciliation that locks reconciled rows
  • Reports for cashflow, net worth, and budget vs actual
  • CSV import with column mapping, plus CSV export

LearnStack

Live

A learning queue that ends in published work.

LearnStack collects articles, videos, podcasts, and courses in one place, tracks them from to-learn through completed, and turns what you read into structured content ideas linked back to their sources.

The problem

The reading list grows forever and nothing you learn ever ships.

Built with

  • .NET 10
  • Blazor Server
  • MudBlazor
  • EF Core
  • SQL Server
  • Azure

What it does

  • Capture any resource by URL with automatic metadata enrichment
  • Organize by type, status, priority, tags, and notes
  • Track progress across to-learn, in-progress, completed, and archived
  • Create content ideas from your backlog, linked to their sources
  • Move ideas from draft to published
  • Public shared collections with unique share links
  • Friendships and selective sharing between users
  • Localized in English, German, Spanish, French, and Italian

Screenshots

Needly

Live

The action inbox for GitHub.

Needly receives GitHub webhooks and turns relevant activity into durable actions — Review, Respond, Fix, Resolve, Merge — then applies visibility, risk, and lifecycle rules per user. An inbox organized around decisions, not an undifferentiated notification stream.

The problem

GitHub produces events all day; your team needs a clear queue of what to actually do.

Built with

  • .NET 10
  • Blazor Web App
  • GitHub App
  • Webhooks

What it does

  • Webhook ingestion that turns activity into durable actions
  • Actions typed as Review, Respond, Fix, Resolve, and Merge
  • Visibility, risk, and lifecycle rules applied per user
  • An inbox built around decisions and outcomes
  • Runs locally with GitHub integration switched off

Passwordify

Live

Privacy-first password tools, and an API for everything else.

Passwordify gives people three free, entirely client-side tools for checking and generating passwords — no password ever leaves the browser — and gives developers a small, fast API for the same checks. Strength scoring, breach screening, policy validation and secure generation, all aligned with NIST 800-63B.

The problem

Password checks are either sloppy character-class rules or a service you have to trust with the password itself.

Built with

  • Astro
  • React
  • TypeScript
  • Azure Functions
  • Azure Static Web Apps

What it does

  • Real-time strength scoring with zxcvbn, not character-class rules
  • Breach check against Have I Been Pwned via k-anonymity — only a SHA-1 prefix leaves the device
  • CSPRNG password and passphrase generator with an EFF diceware wordlist
  • POST /v1/strength — score, guesses, entropy bits, and crack time
  • POST /v1/breach — k-anonymity breach lookup by password or hash prefix
  • POST /v1/validate — combined strength and breach against a policy, NIST 800-63B aligned
  • POST /v1/generate — server-side secure password and passphrase generation
  • Stateless JSON over HTTPS, bearer-key auth, structured error bodies

Screenshots

Which one is for you?

4 of the 5 are live today; the rest are on the way. Most share a .NET and Blazor stack, and each solves a different problem.

The products compared by what they are best for and their current status
Product Reach for it when Status
Brainy Turning scattered notes and research into finished deliverables. Live
MoneyBrain Owning your financial data on your own infrastructure. Coming soon
LearnStack Creators who want their reading list to produce content. Live
Needly Teams drowning in GitHub notifications that hide the real work. Live
Passwordify Adding trustworthy password checks without sending passwords anywhere. Live

Building these in public

I write about the decisions behind these products — the architecture, the mistakes, and what shipping solo actually costs. The newsletter is where that lands first.