Chat with Fatima!
← Back to Blog
Case StudiesFebruary 14, 202610 min read

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.

DE

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