Ledger & Syllabus
Two local-first desktop apps for personal finance and study, encrypted at rest and synced through Git.
Python · Flask · SQLCipher · React · TypeScript · pywebview
A pair of personal desktop apps that share one architecture. Each runs a Flask backend bound only to localhost behind a pywebview window, with a React and TypeScript interface and a database encrypted at rest with SQLCipher. Ledger is a finance tracker. It imports bank CSVs while skipping duplicates, pairs transfers between accounts and reconciles statement balances. It categorises transactions with rules or an optional local AI model through Ollama, and covers budgets with carry-over, recurring payments and price rises, a six-week cash-flow forecast, net worth, investments, goals and loans. Syllabus is a study tracker. It handles courses, assessments and marks, works out what's needed on the rest of a course for each grade, plans workload, times study sessions and runs spaced-repetition flashcards with LaTeX support. It also syncs with the university's Moodle calendar. Both keep the encrypted vault in sync between computers through a private GitHub repository, with check-in and check-out, version manifests and fingerprints so two machines never overwrite each other.