Companions Saas App
Converso is an innovative real-time AI teaching platform that connects learners with personalized AI companions for interactive educational experiences. Choose from various subjects and embark on engaging lessons powered by advanced AI technology, including voice and video capabilities.
Technologies
Languages
README
š Converso - Real-time AI Teaching Platform
Converso is an innovative real-time AI teaching platform that connects learners with personalized AI companions for interactive educational experiences. Choose from various subjects and embark on engaging lessons powered by advanced AI technology, including voice and video capabilities.
⨠Features
- š¤ AI Companions: Interactive AI tutors for different subjects (Math, Science, History, etc.).
- šÆ Personalized Learning: Tailored lessons based on user preferences and progress.
- š¹ Real-time Sessions: Voice and video-powered teaching experiences using Vapi AI.
- š Bookmark System: Save favorite companions for quick access.
- š Session Tracking: Monitor recent completed lessons and progress.
- šØ Modern UI: Beautiful, responsive design with Tailwind CSS.
- š Secure Authentication: Seamless user management with Clerk.
- āļø Cloud Database: Powered by Supabase for reliable data storage.
- šØ Error Monitoring: Sentry integration for smooth performance tracking.
- š Custom Companions: Users can create their own AI companions with custom subjects, topics, voices, and styles.
- š Search and Filter: Easily find companions by subject or topic.
šŗ Live Preview
š ļø Tech Stack
- Framework: Next.js 15.5.0 - React-based full-stack framework
- Frontend: React 19.1.0 - Modern React with hooks
- Styling: Tailwind CSS v4 - Utility-first CSS framework
- Database: Supabase - Open source Firebase alternative
- Authentication: Clerk - Complete user management solution
- Voice/Video AI: Vapi AI - Real-time communication SDK
- Monitoring: Sentry - Error tracking and performance monitoring
- Forms: React Hook Form with Zod validation
- UI Components: Radix UI for accessible, unstyled components
- Icons: Lucide React for beautiful, consistent iconography
- TypeScript: Full type safety throughout the application
š Project Structure
amr-saas-app/
āāā app/ # Next.js App Router pages and API routes
ā āāā api/ # API routes
ā āāā companions/ # Companion-related pages
ā āāā ...
āāā components/ # Reusable React components
ā āāā ui/ # UI components (buttons, forms, etc.)
ā āāā ...
āāā constants/ # Constant values and configurations
āāā lib/ # Library functions and utilities
ā āāā actions/ # Server-side actions
ā āāā ...
āāā public/ # Static assets (images, fonts, etc.)
āāā types/ # TypeScript type definitions
āāā ... # Configuration files
š„ Installation & Usage
Prerequisites
- Node.js (version 18 or higher)
- npm or yarn
Setup
-
Clone the repository
git clone https://github.com/Amr-Elshabrawy-Dev/companions-saas-app.git cd saas-app -
Install dependencies
npm install -
Environment Setup Create a
.env.localfile and configure the following:NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key CLERK_SECRET_KEY=your_clerk_secret_key NEXT_PUBLIC_SUPABASE_URL=your_supabase_url NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key SENTRY_AUTH_TOKEN=your_sentry_auth_token NEXT_PUBLIC_SENTRY_DSN=your_sentry_dsn -
Run in development mode
npm run dev -
Open http://localhost:3000 in your browser
Building for Production
npm run build
npm run start
š Scripts
npm run devā Starts the development server with Turbopack for fast reloadsnpm run buildā Builds the application for production with Turbopack optimizationnpm run startā Runs the production buildnpm run lintā Runs ESLint to check code quality and style
š¤ Contribution
We welcome contributions! Here's how you can help make Converso even better:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes and test thoroughly
- Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
For major changes, please open an issue first to discuss what you'd like to change.
š License
This project is licensed under the MIT License - see the LICENSE file for details.