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