Construction Management
Business & SaaS · React + Node (Express) · 8 @molecule/* packages
Procore-like construction project management with daily logs, punch lists, RFIs, subcontractors, and per-project photo documentation — including a built-in subscription tier (Free / Pro / Team) backed by Stripe
Try it
Opens instantly. Runs on sample data, so changes reset on reload.
What is inside
Screens (19)
- Landing
/ - Login
/login - Signup
/signup - ForgotPassword
/forgot-password - ResetPassword
/reset-password - Pricing
/pricing - About
/about - Terms
/terms - Privacy
/privacy - Dashboard
/dashboard(signed in) - Projects
/projects(signed in) - ProjectDetail
/projects/:projectId(signed in) - DailyLogs
/projects/:projectId/logs(signed in) - PunchList
/projects/:projectId/punch(signed in) - Rfis
/projects/:projectId/rfis(signed in) - RfiDetail
/projects/:projectId/rfis/:rfiId(signed in) - Subcontractors
/projects/:projectId/subs(signed in) - Settings
/settings(signed in) - PlanUpdated
/plan-updated(signed in)
Data model (9 tables)
- projects — id, owner_id, code, name, description, phase, budget_cents, progress, …
- daily_logs — id, owner_id, project_id, log_date, weather, crew_count, hours, notes, …
- log_entries — id, log_id, area, work_performed, created_at, updatedAt
- punch_items — id, owner_id, project_id, location, severity, description, assignee, status, …
- rfis — id, owner_id, project_id, number, title, question, originator, drawings_ref, …
- rfi_responses — id, rfi_id, author, body, is_final, created_at, updatedAt
- subcontractors — id, owner_id, project_id, trade, company, contact, contract_value_cents, status, …
- devices — id, createdAt, updatedAt, userId, name, pushPlatform, pushSubscription, hasPushSubscription
- payments — id, createdAt, updatedAt, userId, transactionId, productId, platformKey, data, …
API (8 handlers)
- \_seed
api/src/handlers/_seed.ts - \_shape
api/src/handlers/_shape.ts - dailyLogs
api/src/handlers/dailyLogs.ts - profile
api/src/handlers/profile.ts - projects
api/src/handlers/projects.ts - punchItems
api/src/handlers/punchItems.ts - rfis
api/src/handlers/rfis.ts - subcontractors
api/src/handlers/subcontractors.ts
Subscription tiers
free / pro / team — gated by: maxProjects, maxPunchItems, maxRfis, maxSubcontractors, photoDocumentation, advancedReports, dailyLogRetentionDays, rfiWorkflow
Built from 8 @molecule/* packages
Required secrets
DATABASE_URLPostgreSQL connection stringSTRIPE_SECRET_KEYStripe secret API key (sk_test_... in test mode)STRIPE_WEBHOOK_SECRETStripe webhook signing secret (whsec_...)
The @molecule/* packages are Apache-2.0. The app you build from this template is yours to export and self-host. Licensing