TutorDash

Running my tutoring business: lessons, invoices, filings.

Status
personal use
Year
2025
Built with
Python · Django · SQLite · LaTeX

Why

Teaching as a freelancer is mostly paperwork: lessons, numbered invoices, the Urssaf immediate tax credit, tax certificates. I was doing it all in a spreadsheet, and getting it wrong.

How

A single-user Django app, with a SQLite database. An issued invoice is frozen: issuer, client, lines and totals are copied at issue, and the PDF (typeset in LaTeX) is archived and then served back as it is. Renaming a student therefore changes nothing in a document already sent. A lesson is entered on the phone, offline, then syncs. At the top of the dashboard, the anomalies come before the month’s figures: an invoice to put right costs money, a figure does not.