learningbudget

Many companies offer learning budgets, but employees still waste time deciding what to ask for. There are too many courses, books, and conferences, and most lists are either too broad or not trustworthy enough to justify expense approval.

I built Learning Budget as a curated directory of professional learning resources, with one feature that made it much more practical: a built-in way to ask your manager to pay for the resource.

live project


what the product does

The directory is organized by:

  • profession
  • resource type
  • skill level
  • price

Each entry includes the basic information needed to evaluate it quickly: description, pricing, and the skills it covers.

The goal was to make discovery faster, but also more credible. Curation mattered more than volume.


ask to expense

The key feature is the Ask to expense action. Instead of leaving people to draft an awkward approval email from scratch, the app generates a short request with:

  • the resource name
  • the cost
  • a summary of what it covers
  • a link for additional detail

That small workflow change turned the site from a passive directory into a tool that helped users actually act on what they found.


stack and discovery

The app uses:

  • React Router 7 with SSR
  • Supabase
  • TanStack Query
  • Tailwind CSS and shadcn/ui
  • PostHog

SSR and strong metadata were important because the product depended on search discovery. Each resource page needed to be indexable, descriptive, and fast enough to rank for specific queries.

Learning Budget was a reminder that content products do better when they reduce friction in one concrete step. The directory mattered, but the approval workflow was what made it useful.