πŸš—

MyGarage

Self-hosted vehicle maintenance tracking application

What is MyGarage?

MyGarage is a self-hosted vehicle maintenance tracker. Add your cars, log services, track fuel economy, and get reminders when maintenance is due. It decodes VINs automatically, checks for recalls, and keeps all your receipts and documents in one place.

The app supports multiple users with OIDC/SSO integration (works with Authentik, Keycloak, etc.) so your whole household can manage their vehicles. Fleet analytics show spending trends across all vehicles, while individual dashboards break down costs per car.

Everything runs on your own hardwareβ€”no subscriptions, no cloud accounts, your data stays yours. Take a photo of a receipt and OCR extracts the details. Export reports as PDF or CSV when you need them.

Technology Stack

Backend

  • β†’ Python 3.14+ with FastAPI 0.121.3 and Granian 2.6.0 ASGI server
  • β†’ SQLAlchemy 2.0.44 + SQLite (WAL mode) via aiosqlite 0.21.0
  • β†’ Pydantic 2.12.4 for data validation and settings management
  • β†’ JWT auth with Argon2id hashing and OIDC/SSO (authlib 1.6.5)
  • β†’ NHTSA API for VIN decoding and recall checks (httpx 0.28.1)
  • β†’ Tesseract OCR for receipt scanning (PyMuPDF 1.26.6)
  • β†’ ReportLab 4.4.5 for PDF generation and analytics export
  • β†’ Multi-service notifications via aiosmtplib 3.0+ for email delivery

Frontend

  • β†’ React 19.2.0 + TypeScript 5.9.3 with Vite 7.2.4
  • β†’ Tailwind CSS 4.1.17 with custom garage theme and light/dark mode
  • β†’ React Router 7.9.6 for client-side navigation
  • β†’ Recharts 3.5.0 for interactive analytics charts
  • β†’ react-big-calendar 1.19.4 for comprehensive calendar UI
  • β†’ date-fns 4.1.0 for date manipulation and formatting
  • β†’ Zod 4.1.12 + React Hook Form 7.66.1 for form validation
  • β†’ Lucide React 0.554.0 iconography and Sonner 2.0.7 for toasts

Project Statistics

~55,000
Total Lines of Code
~27,300
Python Backend
~27,700
TypeScript Frontend
14
Interactive Pages