Smart Home Dashboard
Operations & IoT · React + Node (Express) · 16 @molecule/* packages
Home Assistant-like app with devices, automations, scenes, and energy monitoring — with built-in Stripe-backed subscription tiers
Try it
Opens instantly. Runs on sample data, so changes reset on reload.
What is inside
Screens (18)
- Landing
/ - Login
/login - Signup
/signup - ForgotPassword
/forgot-password - ResetPassword
/reset-password - Overview
/overview(signed in) - Rooms
/rooms(signed in) - Scenes
/scenes(signed in) - Automations
/automations(signed in) - Energy
/energy(signed in) - Settings
/settings(signed in) - Security
/security(signed in) - Activity
/activity(signed in) - Floorplan
/floorplan(signed in) - RoomDetail
/rooms/:id(signed in) - DeviceDetail
/devices/:id(signed in) - AutomationEditor
/automations/:id/edit(signed in) - AddDevice
/devices/add(signed in)
Data model (11 tables)
- automation_logs — id, automation_id, user_id, status, trigger_type, error_message, executed_at
- automations — id, user_id, name, description, trigger, conditions, actions, enabled, …
- device_events — id, device_id, user_id, event_type, triggered_by, scene_id, automation_id, timestamp
- devices — id, createdAt, updatedAt, userId, name, pushPlatform, pushSubscription, hasPushSubscription
- energy_daily_summary — id, user_id, date, total_kwh, peak_watts, estimated_cost
- energy_monthly_summary — id, user_id, month, total_kwh, peak_watts, estimated_cost
- energy_readings — id, user_id, device_id, watts, kilowatt_hours, voltage, current, recorded_at
- iot_devices — id, user_id, name, type, room, manufacturer, model, firmware_version, …
- rooms — id, user_id, name, icon, floor, area_sqft, created_at, updated_at
- scenes — id, user_id, name, description, icon, device_states, last_activated, activation_count, …
- security_state — user_id, mode, set_at, set_by
API (6 handlers)
- activity
api/src/handlers/activity.ts - automations
api/src/handlers/automations.ts - devices
api/src/handlers/devices.ts - energy
api/src/handlers/energy.ts - rooms
api/src/handlers/rooms.ts - scenes
api/src/handlers/scenes.ts
Subscription tiers
free / pro / team — gated by: maxAutomations, maxDevices, maxEnergy, maxScenes, advancedFeatures, canExport, retentionDays
Built from 16 @molecule/* packages
@molecule/api-cron-node-cron@molecule/api-database-postgresql@molecule/api-email-templates@molecule/api-emails-mailgun@molecule/api-entitlements@molecule/api-payments-stripe@molecule/api-push-notifications-web-push@molecule/api-realtime-socketio@molecule/api-resource-payment@molecule/api-resource-user@molecule/api-webhook-http@molecule/app-billing-react@molecule/app-charts@molecule/app-command-palette@molecule/app-data-table@molecule/app-realtime-socketio
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