AI Meeting Notes
AI-first · React + Node (Express) · 19 @molecule/* packages
Meeting transcription, AI summarization, and action item extraction — with built-in Stripe-backed subscription tiers
Try it
Opens instantly. Runs on sample data, so changes reset on reload.
What is inside
Screens (17)
- Landing
/ - Login
/login - Signup
/signup - ForgotPassword
/forgot-password - ResetPassword
/reset-password - Dashboard
/dashboard(signed in) - MeetingDetail
/meetings/:id(signed in) - Meetings
/meetings(signed in) - Record
/record(signed in) - ActionItems
/actions(signed in) - Integrations
/integrations(signed in) - Settings
/settings(signed in) - Calendar
/calendar(signed in) - Team
/team(signed in) - Search
/search(signed in) - Notifications
/notifications(signed in) - Profile
/profile(signed in)
Data model (9 tables)
- action_items — id, meeting_id, user_id, description, assignee_user_id, due_date, priority, status, …
- api_tokens — id, user_id, label, hashed_token, last_used_at, created_at, updatedAt
- calendar_events — id, user_id, source, external_event_id, title, starts_at, ends_at, attendees_json, …
- devices — id, createdAt, updatedAt, userId, name, pushPlatform, pushSubscription, hasPushSubscription
- meetings — id, user_id, team_id, title, source, recorded_at, duration_minutes, audio_s3_key, …
- notifications — id, user_id, kind, title, body, link, read_at, created_at, …
- payments — id, createdAt, updatedAt, userId, transactionId, productId, platformKey, data, …
- team_members — id, team_id, user_id, invitee_email, role, invited_at, joined_at, created_at, …
- transcript_segments — id, meeting_id, user_id, ts_start_ms, ts_end_ms, speaker_id, text, confidence, …
API (9 handlers)
- action_items
api/src/handlers/action_items.ts - api_tokens
api/src/handlers/api_tokens.ts - calendar_events
api/src/handlers/calendar_events.ts - meetings
api/src/handlers/meetings.ts - notifications
api/src/handlers/notifications.ts - search
api/src/handlers/search.ts - settings
api/src/handlers/settings.ts - team
api/src/handlers/team.ts - transcript_segments
api/src/handlers/transcript_segments.ts
Subscription tiers
free / pro / team — gated by: maxActions, maxMeetings, advancedFeatures, canExport, retentionDays
Built from 19 @molecule/* packages
@molecule/api-ai-anthropic@molecule/api-ai-speech-openai@molecule/api-ai-summarization@molecule/api-ai-summarization-llm@molecule/api-database-postgresql@molecule/api-email-templates@molecule/api-emails-mailgun@molecule/api-entitlements@molecule/api-payments-stripe@molecule/api-resource-payment@molecule/api-resource-user@molecule/api-uploads-s3@molecule/app-ai-assistant@molecule/app-billing-react@molecule/app-data-table@molecule/app-markdown@molecule/app-notification-feed-react@molecule/app-sidebar-layout-react@molecule/app-timeline
Required secrets
DATABASE_URLPostgreSQL connection stringANTHROPIC_API_KEYAnthropic API key for ClaudeOPENAI_API_KEYOpenAI API key for Whisper transcriptionAWS_ACCESS_KEY_IDAWS access key for S3 uploadsAWS_SECRET_ACCESS_KEYAWS secret key for S3 uploadsS3_BUCKETS3 bucket for audio file storage
The @molecule/* packages are Apache-2.0. The app you build from this template is yours to export and self-host. Licensing