Skip to main content
Work

Tools I Built for Real Problems

Tools I Built for Real Problems
The tools that are easiest to build well come from problems you already have, not ones you have to guess at. These three projects started the same way: something in my life (or a friend's) was genuinely annoying, the right tool didn't exist, and I had the skills to make one. I skipped market research and personas and built from real friction over a weekend.
I'm on an active cut: around 2,300 calories a day, 190-200g of protein, with specific lipid goals on top of it (raise HDL, lower LDL through diet). That's a lot to track, and I'd tried the standard options. MyFitnessPal and its cousins all had the same problem: they turned logging into homework. Red badges when you went over. Calorie math front and center. The apps treated every deviation like a failure worth documenting. I didn't want to obsess over granular details. I wanted to know how I was trending. I wanted to log a meal and feel like the app was on my side. Nourish is a mobile-first PWA built around a single constraint: logging should take under fifteen seconds. The AI interprets the meal from a text note or photo and proposes what it was. You confirm. That's it. The backend is just Notion, called through their API, so my data lives in the same place I already track everything else, and I've kept shipping small updates since because I use it every single day. Beyond logging, the app can generate meals that fit my current plan using what's already in my pantry, and it tracks whether I'm hitting my weekly targets, including the specific things that move lipid markers: fatty fish three times a week, daily soluble fiber, swapping out saturated fat where I can. I built the brand voice to match: calm, warm, unbothered. It celebrates logging something over logging nothing. It never shames a missed day.
Nourish meal intake screen
Type a note, confirm the interpretation. The AI proposes, you dispose.
Nourish recipe generation screen
Meal generation from pantry items, fitted to the current cut targets.
Nourish weekly summary view
The weekly summary view. Patterns, not scores. The bar for opening the app dropped. Logging happens most days because the app doesn't punish the days it doesn't. My relationship with food data is less anxious, and the weekly summary gives me an honest picture of whether my choices are actually adding up. Nourish is still in progress, but it already does what no existing app did for me: makes tracking feel like something I choose to do each day.
My friend's dog Flopsy was discharged from a veterinary hospital with a stack of papers: multiple medications, each with its own dosage, timing, and instructions. Morning. Midday. Afternoon. Evening. Bedtime. Some short-term, some ongoing. Some with food, some without. The discharge papers were complete, accurate, and overwhelming. My friend had just gotten her dog back after a scary hospitalization and was now staring at a schedule that required her to track six things at once, multiple times a day, without making a mistake. Flopsy Meds is a medication tracker built for exactly one scenario: a dog coming home from the vet. The daily view shows doses in the order they're given, from morning to bedtime. Each dose can be marked done, noted, and time-stamped. The most useful part was the intake flow: photograph or upload the discharge paperwork, and the app uses Claude to extract the medications into structured JSON that my friend could confirm, edit, or discard one at a time before it hit the tracker. Short-term meds carry an end date and automatically disappear when the course is done. The footer shows the emergency vet numbers in plain view.
Flopsy Meds daily tracker
Today's doses in the order they're given. Morning checked off, evening still ahead.
Flopsy Meds discharge intake flow
Extracted medications confirmed one at a time before they hit the tracker.
My friend could look at her phone and know, in two seconds, what Flopsy needed right now. She didn't have to hunt through papers or second-guess the schedule. Flopsy is back to her spunky self, though still on some medications. The app is still tracking them.
I've lived on 17th Ave in Portland since 2017. Over the years the block has turned over a lot, and I realized I didn't actually know most of my neighbors. I wanted to change that, and the most obvious way was a block party. The first of hopefully many. Block parties need food coordination. Without it, you end up with three potato salads and no dessert. You also need the event to feel real enough that people actually show up. A formal invitation matters, even if it's just a webpage. The 17th Ave Block Party site is a potluck sign-up page designed to feel like something a neighbor made. Street-poster aesthetics: high contrast, vinyl black and newsprint cream, the kind of thing you'd notice stapled to a telephone pole. Neighbors visit once to add what they're bringing and see what's already claimed. RSVP responses include dietary needs, which the app normalizes using Claude ("GF," "gluten free," "celiac" all become "Gluten-free") so the organizer sees a clean summary without knowing who has which need.
17th Ave Block Party home page
The main page. Food categories and claimed dishes visible at a glance.
17th Ave Block Party potluck sign-up
One visit, one submission. See what everyone else is bringing before you commit.
The block party happened, and it went great. Everyone who came brought something, mostly food, though one neighbor set up an arts and crafts table and a kid on the block spent the whole afternoon dressed up as a bush, randomly moving to spook people (genuinely the best costume decision of the summer). The potluck page did its job: nobody doubled up on potato salad. Neighbors who'd lived a few houses apart for years finally learned each other's names. A few people told me straight up they appreciated someone actually pulling it together. I'm doing it again next year.

Related projects

Groups: Putting Data in Context
Sparta Science

Groups: Putting Data in Context

Designing a way for Sparta Science users to compare individual performance against meaningful peer groups rather than the entire dataset.
COVID-19 Guidance
TripIt

COVID-19 Guidance

Designing a centralized, digestible source of COVID-19 travel restrictions inside TripIt so travelers could stop hunting across government sites.
Safety Personalization
TripIt

Safety Personalization

Designing a personal risk threshold system inside TripIt so travelers could set their own safety preferences and get alerted when destinations exceeded them.
Settings Refresh
TripIt

Settings Refresh

Volunteering to lead a full rebuild of TripIt's outdated web settings, bringing it up to the accessibility and usability standards of the mobile app.