~/seandesmet.com

Sean DeSmet

Full stack projects

I build web applications end to end, from the database schema to the server they run on. I learn by building real things rather than following courses, and I run what I build in production: my own domain, HTTPS, and automated deployments.

Budget Buddy

live

Personal budget tracking and ledger system with analytics, recurring transactions, and dashboard.

Budget Buddy dashboard in dark mode, showing sample data: a net position of +$7,443.86 with a trend line, money in $24,152.42 and money out $16,708.56, 52% of a $1,730 monthly budget used, spending by category led by rent and groceries, and an AI-written summary of the month.
dashboard · sample data
  1. browser
  2. nginx + tls
  3. gunicorn
  4. flask
  5. postgresql

features

  • Transaction tracking
  • Recurring transactions
  • Analytics dashboard
  • Budget vs actual
  • CSV export
  • Dark mode

infrastructure

  • DigitalOcean Droplet
  • Nginx reverse proxy
  • Let's Encrypt SSL
  • Docker + Gunicorn
  • Automated deploys
  • Rate limiting
  • Python
  • Flask
  • PostgreSQL
  • Docker
  • Gunicorn
  • Nginx
  • DigitalOcean
  • Let's Encrypt
  • ApexCharts

Material List Import Tool

private

Turns a builder's takeoff — an Excel material list for a house — into a CSV the point-of-sale system can import. It matches free-text descriptions to item numbers, a person reviews every line, and a catalog learns from each confirmation so the same line never needs matching twice.

  1. upload
  2. parse
  3. match
  4. review
  5. csv

every confirmation teaches the catalog

first run · empty catalog

A 144-line house to import-ready CSV in 9 minutes, on 2 model calls, for 16¢ — with 99% of the AI's proposals accepted unchanged.

features

  • .xlsx, .xls and .csv upload
  • AI parsing; repeat layouts need no call
  • Catalog match first, AI only for the rest
  • Confidence-scored proposals
  • A person reviews every line
  • Reports: time saved, match rate, AI cost

engineering

  • Tests never call the real API (enforced)
  • Protected main, required CI checks
  • Non-root Docker image
  • Forward-only migrations
  • CSRF, rate limiting, CSV-injection guard
  • Python
  • Flask
  • PostgreSQL
  • HTMX
  • Claude API
  • Docker

private repository · not publicly deployed