
TimeSheet Platform
Enterprise time-tracking SaaS
Self-hosted enterprise app. Client source, branding, and data are private.
Built in-house as AI Solutions Lead at BDO (a regional accounting & audit firm), so source, branding, and data are confidential. Happy to walk through the architecture.
Request accessA substantial full-stack enterprise app that digitizes time tracking, customer/employee management, and reporting for a professional-services firm. The Flask 3 + SQLAlchemy 2 + PostgreSQL backend exposes 17 route modules: JWT auth with Argon2id and RBAC, a multi-level company hierarchy with approval workflow, an audit log, automated email reminders, and an analytics service (SQL aggregation, YoY comparisons, productivity heatmaps, PDF/CSV report generation). The React + TypeScript frontend uses TanStack Query/Router and rich charting. Shipped with Docker Compose + Caddy TLS and broad test coverage; it migrated ~295k task rows off legacy MS Access.
- React
- TypeScript
- Flask 3
- SQLAlchemy 2
- PostgreSQL
- Alembic
- JWT / Argon2
- ReportLab
- Docker
- Caddy
Architecture · legacy Access → audited time-tracking SaaS
Data migration
~295k task rows migrated off a legacy MS Access database into PostgreSQL.
Time capture + approval
Employees log time through a multi-level company hierarchy with an approval workflow.
Auth + audit
JWT / Argon2id auth with RBAC and a full audit log across 17 route modules.
Analytics
A reporting service runs SQL aggregations, YoY comparisons, and productivity heatmaps.
Reports + delivery
Generates PDF/CSV reports; self-hosted via Docker Compose + Caddy TLS.
- Rows migrated
- ~295,000 (from MS Access)
- Records
- 350+ employees · ~1,670 customers
- Tests
- 41 files
- API modules
- 17