Systems I've Built
I've built systems from scratch and inherited disasters. Here's what building taught me about architecture, failure modes, and trade-offs.
Billivio - Usage metering and entitlement system
Built a system to track and enforce usage limits for pay-per-use products. Users purchase credits through their payment processor (Stripe, PayPal, etc.), receive an invoice number, redeem it in the app, and the system meters their usage against what they paid for.
What this taught me: Entitlement systems are deceptively complex. The gap between "user paid" and "user can use" creates race conditions most developers don't anticipate. Invoice redemption needs idempotency. Usage tracking needs atomic operations. The payment processor succeeds, but the user's network fails before they get the invoice—now what? These edge cases define the system's reliability.
Visit billivio.com →
Board Stash - Public idea boards
Built a lightweight platform for collecting and organizing ideas. Users can create boards, share links, and gather feedback with minimal friction.
What this taught me: I originally tried to build this without authentication—thinking it would lower barriers to participation. Wrong. Spam and abuse made authentication non-negotiable. The lesson: reducing friction sounds good in theory, but some friction (like proving you're human) protects the system. The trade-off isn't between convenience and security—it's between what kind of friction you choose to impose.
Visit boardstash.app →
Daklens - CSV data cleaning tool
As a demo for Billivio, I built a web-based tool to clean and transform messy CSV files. Users upload broken exports, apply transforms (remove duplicates, fix formatting, standardize columns), and download clean data.
What this taught me: Data import is where most systems break. The gap between "what the system expects" and "what users actually upload" is vast. Character encoding issues, inconsistent delimiters, malformed rows—these aren't edge cases, they're the norm. Building a reliable CSV parser means assuming the data is wrong until proven otherwise.
Visit daklens.com →These aren't just portfolio pieces—they're proof I understand how systems break, scale, and drift from their original intent. Each one taught me something that informs how I analyze other people's systems.
Work with me