Sophos.ai is an AI-powered document workflow platform that transforms static documents into living knowledge. Upload PDFs, PPTs, and YouTube videos, and let our AI organize, summarize, and enhance your content with intelligent research.
- Smart Document Processing: Upload PDFs, PowerPoint presentations, and other documents for automatic organization and categorization
- YouTube Integration: Process YouTube videos with transcript extraction and AI-powered summarization
- AI-Powered Summarization: Get concise summaries highlighting key points and insights from your documents
- Web Research Integration: AI agents search the web to enrich your documents with relevant, up-to-date information
- Interactive Mind Maps: Visualize document concepts and relationships through interactive mind map diagrams
- Auto-Generated Notes: Automatically create well-formatted study notes with main topics, key concepts, and summaries
- Quiz Generation: AI-powered quiz creation from your documents for interactive learning
- GitHub Integration: Process GitHub repositories to analyze codebases
- RAG-Powered Chat: Chat with your documents using Retrieval-Augmented Generation with conversation history
- Authentication: Secure login with email/password or Google OAuth integration
- Modern UI: Premium glassmorphism design with dark mode support
- Framework: Next.js 14 with React 18
- Language: TypeScript
- Styling: Tailwind CSS with custom animations
- UI Components: Radix UI primitives
- Authentication: Supabase Auth
- State Management: React Hooks
- Visualizations: React Flow (XY Flow) for mind maps
- Icons: Lucide React
- Runtime: Node.js with Express
- Language: TypeScript
- Database: Supabase (PostgreSQL)
- Authentication: JWT and Supabase Auth
- AI Services:
- OpenAI for document processing
- Groq SDK for fast inference
- Google Generative AI
- YouTube Processing: YouTubei.js
- File Processing: Multer for uploads
Sophos.ai/
├── app/ # Next.js app directory
│ ├── dashboard/ # Main dashboard pages
│ ├── login/ # Authentication page
│ └── page.tsx # Landing page
├── components/ # React components
│ └── ui/ # Reusable UI components
├── lib/ # Utility libraries
│ └── supabase-client.ts # Supabase configuration
├── SophosBackEnd/ # Backend server
│ ├── src/
│ │ ├── routes/ # API routes
│ │ ├── models/ # MongoDB models
│ │ └── middleware/ # Express middleware
│ └── dist/ # Compiled JavaScript
├── public/ # Static assets
└── styles/ # Global styles
- Node.js 18 or higher
- npm or yarn
- MongoDB database
- Supabase account
- API keys for:
- OpenAI
- Groq (optional)
- Google Generative AI (optional)
- Clone the repository:
git clone https://github.com/yourusername/sophos.ai.git
cd sophos.ai- Install frontend dependencies:
npm install- Install backend dependencies:
cd SophosBackEnd
npm install
cd ..- Create environment files:
Frontend (.env.local in root directory):
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_keyBackend (.env in SophosBackEnd/ directory):
PORT=5001
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
SUPABASE_URL=your_supabase_url
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key
OPENAI_API_KEY=your_openai_api_key
GROQ_API_KEY=your_groq_api_key
GOOGLE_API_KEY=your_google_api_key- Start the backend server:
cd SophosBackEnd
npm run devThe backend will run on http://localhost:3001
- In a new terminal, start the frontend:
npm run devThe frontend will run on http://localhost:3000
- Open your browser and navigate to
http://localhost:3000
Frontend:
npm run build
npm startBackend:
cd SophosBackEnd
npm run build
npm start- Sign Up/Login: Create an account using email/password or sign in with Google
- Upload Documents: Navigate to the dashboard and upload your PDF or PPT files
- Process YouTube Videos: Paste a YouTube URL to extract and process video transcripts
- View Summaries: Access AI-generated summaries and notes for your documents
- Explore Mind Maps: Visualize document concepts through interactive mind maps
- Edit Notes: Customize and enhance your auto-generated notes
POST /api/documents/upload- Upload a new documentGET /api/documents/:id- Get document detailsDELETE /api/documents/:id- Delete a document
POST /api/youtube/process- Process a YouTube video URLGET /api/youtube/:id- Get processed YouTube content
POST /api/notes/generate- Generate AI notes from documentPUT /api/notes/:id- Update notesGET /api/notes/:id- Retrieve notes
POST /api/chat- Chat with current document using RAG
POST /api/quiz/generate- Generate quiz from document
POST /api/github/process- Process GitHub repository
For more detailed documentation, see:
- API Documentation - Complete API endpoint reference
- Database Schema - Database tables and relationships
- Deployment Guide - Deployment instructions
- Create a new Supabase project
- Enable Email authentication in Authentication > Providers
- Enable Google OAuth provider (optional)
- Copy your project URL and anon key to
.env.local
Frontend:
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLint
Backend:
npm run dev- Start development server with hot reloadnpm run build- Compile TypeScript to JavaScriptnpm start- Start production server
Contributions are welcome! Please feel free to submit a Pull Request.
This project is private and proprietary.
For questions or support, contact us at [email protected]
- Multi-agent collaboration for enhanced document analysis
- Customizable processing workflows
- Social study sessions for collaborative learning
- Workflow marketplace for sharing and monetizing custom workflows
- Mobile applications for iOS and Android
Built with modern web technologies and AI services to revolutionize how people interact with documents and learning materials.