- Project scaffolding (Next.js 16, TypeScript, TailwindCSS)
- Supabase schema + migrations + RLS
- Provider layer (Twilio + Telnyx) with unified interface
- API routes (send, webhooks, conversations, messages, contacts)
- Auth (login/register with Supabase Auth)
- Inbox UI (sidebar + chat view + realtime)
- Settings page (providers + phone numbers + delete)
- Test suite (48 tests, Vitest)
- Pre-commit hook (tests + typecheck + lint)
- New conversation compose flow
- Unread message indicators
- Contact name editing
- Search/filter conversations
- Message delivery receipts (Twilio + Telnyx status callbacks)
- Toast notification system
- PWA support (manifest, service worker, offline page)
- Keyboard shortcuts (Ctrl+N, Ctrl+K, arrows, Escape)
- Electron desktop app (window, tray, IPC, notifications, auto-updater)
- React Native mobile app (Expo, chat, push notifications, EAS deploy)
- phonenumbers.bot coming soon page
- Message retry logic on failure (exponential backoff, 3 attempts)
- Rate limiting on API routes (10/min send, 100/min webhooks)
- Bulk message operations (POST /api/messages/bulk-send)
- MMS support (Twilio + Telnyx, inline images in chat)
- Contact import/export (CSV)
- Conversation archive/delete
- phonenumbers.bot provider integration
- Offline support (async-storage + netinfo, outbox queue)
- Background fetch (expo-background-fetch)
- Deep linking (smshub://chat/{id}, smshub://compose?to={phone})
- App icon + splash screen assets
- Contact search on mobile
- App icon (tray + window, platform-aware)
- Code signing (macOS + Windows stubs in electron-builder.yml)
- Auto-update from GitHub Releases
- Deep link handler (smshub://)
- AI auto-replies (OpenAI gpt-4o-mini, suggest-reply endpoint + UI button)
- Bulk messaging campaigns (campaigns + campaign_recipients tables, CRUD API + UI)
- Outbound webhooks / event system (HMAC-SHA256 signed, async delivery)
- CRM features (contact fields: email, company, notes, tags; contact detail page)
- Team inbox / shared numbers (teams + team_members, RLS for team access)
- Analytics dashboard (/analytics with message stats)
- Multi-tenant SaaS mode (organizations + org_members, org-scoped RLS)
- White-label API (/api/v1/ with API key auth, rate limiting)
- CI/CD pipeline (GitHub Actions — test + typecheck + lint)
- Deploy to Railway (railway.json + Procfile + deploy workflow)
- Electron builds (AppImage, dmg, exe via GitHub Actions)
- Expo EAS builds (iOS + Android via GitHub Actions)
- Staging environment (deploy-staging.yml on develop branch)
- Monitoring / error tracking (Sentry config — install @sentry/nextjs to activate)
- Wire up Supabase project and run all migrations
- Configure Telnyx API key
- Configure OpenAI API key
- Configure Twilio credentials (optional — Telnyx is active)
- Configure Telnyx webhook URLs (point to deployed app)
- Set up Railway project and connect repo
- Configure GitHub Actions secrets (RAILWAY_TOKEN, etc.)
- Set up Sentry project and add DSN
- Configure code signing certificates for Electron
- Set up Expo EAS project
- Create app icons and splash screen artwork