Curio
Curio is an AI-powered learning workspace built for students. It combines chat, projects, organized learning, and a clean modern interface to help users study more effectively, manage topics better, and keep their AI conversations useful over time.
Features
- Google authentication for secure sign-in
- Personal chat history per user
- Project-based organization for learning topics
- AI-powered responses with a student-focused workflow
- Clean and responsive UI
- Live deployment for real usage
- Scalable backend structure with a real database
Tech Stack
- Frontend: React, TypeScript, Vite
- UI: Tailwind CSS, shadcn/ui
- Animations: Framer Motion
- Backend: Express.js
- Database: PostgreSQL with Drizzle ORM
- Authentication: Google OAuth
- AI: Groq models
- Hosting: Render
- Version Control: GitHub
Getting Started
Prerequisites
- Node.js
- pnpm or npm
- PostgreSQL database
- Google OAuth credentials
- Groq API key
Environment Variables
Create a ".env" file with the required values for your backend and database connection.
Example:
DATABASE_URL= GOOGLE_CLIENT_ID= GOOGLE_CLIENT_SECRET= GROQ_API_KEY= GROQ_MODEL= SESSION_SECRET=
Development
Install dependencies and run the app locally using your preferred package manager.
pnpm install pnpm dev
Build
pnpm build
Run Production
pnpm start
Project Structure
- "frontend/" or "app/" for the user interface
- "api-server/" for backend routes and AI logic
- "db/" for database schema and migrations
- shared workspace packages for common utilities
Why Curio
Most AI tools answer questions, but Curio is designed to help students build a learning routine. It is not only a chatbot. It is a workspace where knowledge stays organized, reusable, and easier to continue.
License
This project was built for the hackathon submission and may be adapted based on the repository owner’s preferences.