Saidwell is the openβsource analytics and management dashboard for voice AI projects.
Whether you're an agency, a developer, or a team building with AI voice platforms (like LiveKit, Vapi, Retell, or others), Saidwell gives you a single, beautiful interface to:
- π Track conversations and usage trends.
- π¨ Whiteβlabel dashboards for your clients.
- β‘ Visualize call performance and agent outcomes.
- π Connect multiple providers into one unified view.
Think of it as your voice AI command center.
Most dashboards are bland, uninspired, and feel like corporate spreadsheets. Saidwell is different. We believe analytics should be:
- Glassy + Modern β Beautiful frostedβglass panels with vibrant highlights.
- NeonβInfused β Accents that pop against a sleek black canvas.
- Abstract + Outdoorsy β A dashboard that feels alive, not sterile.
- ClientβReady β Agencies can proudly show Saidwell dashboards to their customers.
With configurable themes and colors like:
- π Accent Yellow
#f0ff47 - πΈ Hover Pink
#f9a8d4 - πΏ Hover Green
#86efac - ποΈ Tan
#d2b48c - π³ Grassy Green
#4ade80 - βοΈ Sky Blue
#38bdf8 - π΄ Error Red
#ef4444
β¦you can adapt Saidwell to your agency's brand with just a few variables.
- Agent Call Activity β Track inbound, outbound, and support calls with layered visualizations.
- Call History + Recordings β Browse and play back conversations with full transcript support.
- File Management β Upload, organize, and manage AI training materials and documents.
- Team Management β Role-based access control with admin, member, and viewer permissions.
- Settings & Configuration β Budget alerts, account management, and system preferences.
- Responsive Design β Works beautifully on desktop, tablet, and mobile devices.
Saidwell is built with modern React/Next.js patterns and follows enterprise-grade architecture principles:
saidwell/
βββ COMPONENT_ARCHITECTURE.md # π Development guidelines
βββ src/
β βββ app/ # π£οΈ Next.js 15 App Router
β β βββ page.tsx # π Dashboard home
β β βββ history/ # π Call history & recordings
β β βββ files/ # π File management
β β βββ settings/ # βοΈ Team & account settings
β βββ components/ # π§± Component library
β βββ dash/ # π Dashboard components
β βββ historydash/ # π Call history components
β βββ filesdash/ # π File management components
β βββ settingsdash/ # βοΈ Settings components
β βββ sidebar/ # π Navigation components
β βββ ui/ # π¨ Reusable UI components
Every page follows the single responsibility principle:
// β
Clean page structure
/app/history/page.tsx β HistoryDashboard
βββ Sidebar (shared navigation)
βββ TopBar (page-specific header)
βββ HistoryMainContent (page content orchestrator)
β βββ HistoryCallsFullPage (feature-specific logic)
β βββ CallRecord (atomic component)
β βββ CallRecordModal (modal component)
β βββ DatePicker (reusable UI)
βββ ParallaxBackground (shared visual)- Frontend: Next.js 15, React 19, TypeScript
- Styling: Tailwind CSS with custom glassmorphism design system
- Icons: React Icons (Phosphor) for consistency
- Charts: Recharts for data visualization
- State: React hooks with lifted state patterns
- Code Quality: ESLint, TypeScript strict mode
- Node.js 18+
- npm, yarn, or pnpm
# Clone the repository
git clone https://github.com/your-org/saidwell.git
cd saidwell
# Install dependencies
npm install
# Start development server
npm run devOpen http://localhost:3000 to see Saidwell in action.
Saidwell uses CSS custom properties for theming. Update src/app/globals.css:
:root {
--color-main-accent: #f0ff47; /* π Your brand color */
--color-hover-pink: #f9a8d4; /* πΈ Interactive highlights */
--color-grassy-green: #4ade80; /* πΏ Success states */
/* ... and more */
}- Interactive timeline charts showing call volume trends
- Detailed call records with play/download functionality
- Full conversation transcripts with speaker identification
- Search and filter capabilities with date ranges
- Cost tracking and budget monitoring
- Drag & drop file uploads with progress indicators
- File organization with type-specific icons and colors
- Preview and download capabilities
- Storage usage tracking and limits
- Delete confirmations with custom modal system
- Budget Settings: Configurable spending limits and alerts
- Team Management: User invitations, role assignments, status tracking
- Account Security: Email changes, password resets with validation
- Permissions System: Admin, Member, and Viewer role hierarchy
Saidwell starts as an analytics dashboard, but our vision is bigger:
- π Today β Openβsource analytics for agencies & developers
- π Near Future β Hosted version with scaling, reporting, and advanced features
- π€ Later β Build, deploy, and manage agents across multiple voice AI platforms
- π Integration β Connect with LiveKit, Vapi, Retell, and other voice AI platforms
Ultimately, Saidwell aims to be the hub for voice AI businesses: analytics + creation + deployment + billing.
We believe in building in the open. Saidwell is:
- πͺ΄ Free & OpenβSource β MIT licensed core
- π CommunityβDriven β Contributions, plugins, and integrations welcome
- π§βπ¨ Opinionated by Design β Not just functional, but delightful
- π Well-Documented β Clear architecture guidelines for contributors
Before contributing, please read our COMPONENT_ARCHITECTURE.md which covers:
- Component organization principles
- File structure conventions
- TypeScript patterns and interfaces
- Styling guidelines and design system
- Performance and scalability patterns
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Follow the component architecture guidelines
- Test your changes thoroughly
- Submit a pull request with clear description
- β Star the repository
- π Report bugs and request features via issues
- π¬ Join discussions in our community channels
- π Contribute code, documentation, or designs
- π’ Share Saidwell with your agency or team
MIT Β© Saidwell Contributors
Saidwell is where voice AI data becomes insight.
Openβsource, clientβready, and designed with care.