Design Canvas
Creative Tools · React + Node (Express) · 23 @molecule/* packages
Figma-lite design tool with shapes, layers, text, and image export — with built-in Stripe-backed subscription tiers
Try it
Opens instantly. Runs on sample data, so changes reset on reload.
What is inside
Screens (14)
- Landing
/ - Login
/login - Signup
/signup - ForgotPassword
/forgot-password - ResetPassword
/reset-password - Dashboard
/dashboard(signed in) - Editor
/editor/:id(signed in) - Templates
/templates(signed in) - Library
/library(signed in) - Settings
/settings(signed in) - Profile
/profile(signed in) - Team
/team(signed in) - Notifications
/notifications(signed in) - Search
/search(signed in)
Data model (17 tables)
- activities — id, actorId, action, resourceType, resourceId, metadata, createdAt
- activity_seen_status — userId, lastSeenActivityId, updatedAt
- comments — id, resourceType, resourceId, userId, parentId, body, editedAt, createdAt, …
- devices — id, createdAt, updatedAt, userId, name, pushPlatform, pushSubscription, hasPushSubscription
- exports — id, project_id, user_id, format, quality, scale, status, download_url, …
- layers — id, project_id, user_id, name, visible, locked, opacity, position, …
- project_activities — id, project_id, user_id, action, metadata, created_at
- project_collaborators — id, project_id, user_id, role, invited_at, accepted_at
- project_comments — id, project_id, author_id, parent_id, body, x, y, resolved, …
- projects — id, user_id, team_id, name, width, height, canvas_data, thumbnail_url, …
- resource_tags — id, tagId, resourceType, resourceId, createdAt
- shapes — id, project_id, layer_id, user_id, type, x, y, width, …
- tags — id, name, slug, color, description, createdAt, updatedAt
- templates — id, name, category, thumbnail_url, canvas_data, is_public, created_at, description, …
- notifications — id, user_id, kind, actor_name, actor_color, sentence, target_label, target_href, …
- design_tokens — id, section, name, value, role, metadata, created_at
- user_preferences — user_id, preferences, updated_at
API (14 handlers)
- \_seed
api/src/handlers/_seed.ts - activities
api/src/handlers/activities.ts - collaborators
api/src/handlers/collaborators.ts - comments
api/src/handlers/comments.ts - design_tokens
api/src/handlers/design_tokens.ts - exports
api/src/handlers/exports.ts - layers
api/src/handlers/layers.ts - notifications
api/src/handlers/notifications.ts - profile
api/src/handlers/profile.ts - projects
api/src/handlers/projects.ts - search
api/src/handlers/search.ts - shapes
api/src/handlers/shapes.ts - team
api/src/handlers/team.ts - templates
api/src/handlers/templates.ts
Subscription tiers
free / pro / team — gated by: maxExports, maxLayers, maxProjects, maxShapes, advancedFeatures, canExport, retentionDays
Built from 23 @molecule/* packages
@molecule/api-database-postgresql@molecule/api-email-templates@molecule/api-emails-mailgun@molecule/api-entitlements@molecule/api-image-sharp@molecule/api-payments-stripe@molecule/api-permissions-custom@molecule/api-realtime-socketio@molecule/api-resource-activity-feed@molecule/api-resource-comment@molecule/api-resource-payment@molecule/api-resource-tag@molecule/api-resource-user@molecule/api-search-meilisearch@molecule/api-uploads-s3@molecule/app-billing-react@molecule/app-command-palette@molecule/app-data-table@molecule/app-drag-drop@molecule/app-file-upload@molecule/app-keyboard-shortcuts@molecule/app-realtime-socketio@molecule/app-tree-view
Required secrets
DATABASE_URLPostgreSQL connection stringS3_BUCKETS3 bucket for asset storage
The @molecule/* packages are Apache-2.0. The app you build from this template is yours to export and self-host. Licensing