ChronoForge: From Side Project to Multi-Tenant SaaS
The full story of ChronoForge — a timesheet system that grew from a weekend hack to a product with CI/CD and 150+ tests.
Dr. Eng. Bashir Fakih
Founder & CEO, DBF Nexus
ChronoForge started as a weekend project in late 2025. We needed a time tracking tool for our own agency — something that handled face recognition clock-in, GPS geofencing for field workers, and invoicing. Nothing on the market combined all three without costing $15+ per user per month. So we built our own.
The Weekend Prototype
The first version was embarrassingly simple: a React app with a timer button, a Supabase database, and a manual export to CSV. It took two days to build and immediately solved our most basic problem — knowing how many hours we spent on each client project.
But the moment we showed it to a construction company client, they said: "Can this do face recognition? My workers buddy-punch each other." That question changed everything.
From Internal Tool to Product
Over the next three months, ChronoForge evolved from a simple timer into a full workforce management platform:
- Face recognition attendance — AI-powered clock-in/out that prevents buddy punching
- GPS geofencing — workers can only clock in when physically at the job site
- Project-based time tracking — allocate hours to clients and projects
- Automated invoicing — generate invoices from tracked hours with custom rates
- Multi-tenant architecture — each company's data is completely isolated
- Role-based access — admins, managers, and employees see different things
The Technical Architecture
ChronoForge runs on the same stack we use for all our projects:
- Frontend: React + TypeScript + Tailwind CSS
- Backend: Supabase (PostgreSQL, Auth, Edge Functions, Storage)
- AI: Face recognition via TensorFlow.js running in the browser
- Deployment: Vercel for the frontend, Supabase Cloud for the backend
- CI/CD: GitHub Actions with automated testing on every push
Multi-tenancy was the hardest part. Every database query needs to be scoped to the current organization. We implemented this with Supabase's Row Level Security (RLS) policies — the database itself enforces data isolation, so even a bug in our code can't leak data between tenants.
150+ Tests and Counting
When you're building a product that handles payroll-adjacent data, you can't afford bugs. We wrote tests for everything: unit tests for calculation logic, integration tests for API endpoints, and E2E tests for critical flows like clock-in, invoicing, and tenant isolation.
Our CI pipeline runs all 150+ tests on every pull request. If anything fails, the merge is blocked. This discipline has prevented more production bugs than we can count.
What We Learned
- Build for yourself first. The best products solve problems you personally understand.
- Multi-tenancy is non-negotiable for SaaS. Retrofitting it later is 10x harder.
- Tests pay for themselves. The time spent writing tests is recovered in avoided debugging.
- Face recognition in the browser works. No server-side processing needed for basic use cases.
ChronoForge is available at dbf-nexus.com/chronoforge. Start your free 14-day trial — no credit card required.
Ready to transform your time tracking?
Try ChronoForge free for 14 days and see the difference modern workforce management makes.
Learn About ChronoForge