Inspiration
The project was inspired by the common frustration in academic group projects where contributions are uneven but grading doesn't reflect individual effort. Many students have experienced situations where one or two team members do most of the work, while others receive the same grade. CoLab aims to address this by providing transparent tracking of contributions through GitHub commits, document edits, and in-app activities, allowing instructors to make more informed grading decisions.
What We Learned
Throughout the development of CoLab, we gained valuable experience in:
- Full-Stack Development
- Database Design and Security by implementing Row Level Security (RLS) in Supabase
- AI Integration by integrating Google Gemini for generating intelligent reports and planning
- Real-Time Features by implementing real-time chat and updates using Supabase's real-time capabilities.
- Authentication and Authorization: Managing user roles (instructors vs. students) and secure authentication flows.
- Version Control and Collaboration: Coordinating development across team members using Git and GitHub.
How We Built It
CoLab was built using a modern web development stack:
- Frontend: Next.js , TypeScript, and Tailwind CSS, Radix UI, Framer Motion for smooth animations.
- Backend: Supabase , a PostgreSQL database with RLS, and real-time subscriptions. API routes in Next.js handle server-side logic.
- AI Features: Google Gemini API
- Animations: Three.js
- Charts and Data Visualization: Recharts
- Deployment: Vercel ## Challenges We Faced
Several challenges arose during development:
- AI Integration Complexity: Integrating Gemini API required careful handling of API keys, rate limits, and prompt optimization to generate meaningful reports.
- Real-Time Synchronization: Ensuring real-time updates across multiple users in chat and contribution tracking required careful management of Supabase subscriptions and state updates.
- Authentication and Permissions: Implementing proper role-based access (instructor vs. student)
- Three.js Performance: Optimizing the Three.js animations for smooth performance across different devices and browsers.
- Team Coordination: Managing version control and merging changes from multiple developers working on different features.
- Time Constraints: Balancing feature implementation with testing and refinement within the hackathon timeframe.
Built With
- css
- gemini
- next.js
- postgresql
- react
- rls
- supabase
- typescript
Log in or sign up for Devpost to join the conversation.