Time Tracking
Productivity · React + Node (Express) · 15 @molecule/* packages
Toggl-like time tracking with timer, projects, reports, and billing — with built-in Stripe-backed subscription tiers
Try it
Opens instantly. Runs on sample data, so changes reset on reload.
What is inside
Screens (16)
- Landing
/ - Login
/login - Signup
/signup - ForgotPassword
/forgot-password - ResetPassword
/reset-password - Dashboard
/dashboard(signed in) - TimeEntries
/entries(signed in) - Timesheet
/timesheet(signed in) - Projects
/projects(signed in) - ProjectDetail
/projects/:id(signed in) - Clients
/clients(signed in) - ClientDetail
/clients/:id(signed in) - Reports
/reports(signed in) - Invoices
/invoices(signed in) - InvoiceDetail
/invoices/:id(signed in) - Settings
/settings(signed in)
Data model (9 tables)
- clients — id, owner_id, name, email, billing_currency, billing_address, hourly_rate_cents, archived, …
- devices — id, createdAt, updatedAt, userId, name, pushPlatform, pushSubscription, hasPushSubscription
- invoice_line_items — id, invoice_id, description, quantity, rate_cents, amount_cents, source_entry_ids, created_at
- invoices — id, owner_id, client_id, number, issued_at, due_at, currency, subtotal_cents, …
- projects — id, owner_id, client_id, name, description, color, budget_cents, billable, …
- resource_tags — id, tagId, resourceType, resourceId, createdAt
- tags — id, name, slug, color, description, createdAt, updatedAt
- time_entries — id, owner_id, project_id, description, started_at, ended_at, duration_seconds, is_billable, …
- payments — id, createdAt, updatedAt, userId, transactionId, productId, platformKey, data, …
API (5 handlers)
- clients
api/src/handlers/clients.ts - entries
api/src/handlers/entries.ts - invoices
api/src/handlers/invoices.ts - projects
api/src/handlers/projects.ts - reports
api/src/handlers/reports.ts
Subscription tiers
free / pro / team — gated by: maxClients, maxEntries, maxProjects, advancedFeatures, canExport, retentionDays
Built from 15 @molecule/* packages
@molecule/api-database-postgresql@molecule/api-email-templates@molecule/api-emails-mailgun@molecule/api-entitlements@molecule/api-import-export-csv@molecule/api-payments-stripe@molecule/api-reporting-database@molecule/api-resource-payment@molecule/api-resource-tag@molecule/api-resource-user@molecule/app-billing-react@molecule/app-command-palette-cmdk@molecule/app-data-table@molecule/app-date-range-picker@molecule/app-keyboard-shortcuts-hotkeys
Required secrets
DATABASE_URLPostgreSQL connection string
The @molecule/* packages are Apache-2.0. The app you build from this template is yours to export and self-host. Licensing