Week 1 #
Project description #
Project name: TeamSync
Code repository: link
TeamSync is a smart university team-matching platform that helps students quickly and effectively find teammates for academic projects. It streamlines the team formation process through AI-based matchmaking, smart user and project profiles.
Team #
| Team member | Telegram alias | Innopolis Email | Responcibilities |
|---|---|---|---|
| Diana MInnakhmetova (Lead) | @diana_minn | d.minnakhmetova@innopolis.university | Product management, design, Report writing |
| Danis Sharafiev | @HarneMer | d.sharafiev@innopolis.university | ML + MLOps |
| Daria Alexandrova | @ae_quor | d.alexandrova@innopolis.university | Frontend |
| Stepan Dementev | @dementevssstepan | s.dementev@innopolis.university | Backend + DevOps |
| Elizaveta Zagurskih | @wkwthigo | e.zagurskih@innopolis.university | Backend |
| Kamilya Shakirova | @hugecatwithacheburek | k.shakirova@innopolis.university | ML |
Brainstorming #
Ideas during brainstorming #
| Rank | Idea |
|---|---|
| 1 | Smart university team-matching platform that helps students quickly and effectively find teammates for academic projects |
| 2 | Dynamic resource allocation between services by means of time series. For example, allocate a little more RAM to one or another service, give more cores, etc. Formalize as SaaS |
| 3 | AI-powered habit tracking application designed to help users develop and maintain positive habits through personalized recommendations and consistent tracking. |
Problem validation #
1. Smart University Team-Matching Platform
Problem: Students spend 5–10 hours forming teams manually, often leading to mismatches and delays.
Validation:
- Most use unstructured Telegram chats, spreadsheets. One of the more or less same sevice is already not working ( Pet-Plat)
- Professors report frequent issues with unbalanced teams.
2. Dynamic Resource Allocation SaaS
Problem: Cloud services often over- or under-use resources due to static allocation.
Validation:
- Time-series-based autoscaling is complex and costly to configure manually.
- Existing tools like Cast.ai are powerful but too advanced for small teams.
3. AI-Powered Habit Tracking App
Problem: Current habit trackers lack personalization, causing low long-term engagement.
Validation:
- Popular apps use generic reminders, not behavior-based adaptation.
- Users want smarter, context-aware support.
Basic Requirements #
Problem Statement #
Students of Innopolis University currently face the inefficiencies and time-consuming manual efforts when forming teams for academic projects, particularly during Capstone and elective-based collaborations. This results in suboptimal groups and delayed project starts.
Solution #
TeamSync aims to improve the quality and balance of student teams by offering a data-driven, user-friendly experience for discovering, evaluating, and matching with potential teammates.
Target Users #
Primary Customers: Innopolis University or other organizations.
Primary Users: Students of Innopolis University.
Secondary Users: Professors.
User Stories #
- As a student, I want to create a personal profile with my skills, interests, and past projects so that I can be discovered by project creators or teammates.
- As a student, I want to post a new project with a description and required skills, so that I can find teammates who match my needs.
- As a student, I want to receive AI-generated teammate recommendations based on my skills and preferences, so that I can build a balanced and effective team faster.
- As a student, I want to apply to projects that match my interests, so that I can participate in projects relevant to my skills and goals.
- As a project owner, I want to accept or reject team applications and manage my team members, so that I can control who joins my project and maintain a good team structure.
- As a student, I want to see suggestions and filters when browsing projects (similarity), so that I can efficiently choose which projects to join.
- As a professor, I want to make a page only for my course, so that I can manage the team formation between my students.
Main Functionalities #
Smart Profiles #
A system that allows students to create detailed profiles with skills, interests, availability, and academic background.
- Students can input relevant information including tech stack, preferred project types, and availability.
- Students can make tags for better search and matching.
- The system supports real-time updates as students gain experience or complete courses.
Project Hub #
A centralized interface to browse, create, and manage project listings.
- Students can post project ideas with descriptions, required roles, and deadlines.
- Other users can browse available projects, filter by tags or requirements, and submit join requests.
- Each project shows team composition, required skills, and current progress status.
AI Matchmaking #
An intelligent recommendation engine for finding optimal team compositions.
- Recommends teammates or projects.
- Search engine.
Team Management Tools #
Features to organize and manage project teams effectively.
- Project owners can accept/reject applications and manage current team members.
- Team dashboards display role distribution, availability conflicts, and overall skill coverage.
- Notification system for team activity and status updates.
Analytics for Instructors #
A dashboard for faculty to monitor team formation patterns.
- Includes ungrouped students, skill demand gaps, and team distributions.
- Helps professors support team-building proactively.
Search & Tagging System #
Enhanced discoverability through structured filtering and semantic tagging.
- Projects and profiles are enriched with tags based on content.
- Students can search based on interests, tools, tech stacks, or availability windows.
- Search results are ranked by relevance and user preferences.
User Feedback & Improvement Loop #
- Users can rate or flag recommendations to improve accuracy.
- Users can share feedback to the telegram of this project (will be created soon)
System Architecture #
Link to the Figma Board with system architecture:
https://www.figma.com/board/se6mmoDbUnNADLcPqSszQE/Untitled?node-id=0-1&t=GFqAGJxXii04Q0gK-1
Initial Scope (MVP) #
| IN Scope (W1–W3) | OUT (Post-MVP) |
|---|---|
| User auth (signup/login) | Team invitation/management |
| Profile creation (skills, availability) | Profile dashboard |
| Project creation | Advanced analytics dashboard |
| Search engine | |
| Basic recommendation system | Advanced recommendation system |
Tech Stack #
| Choice | Justification | |
|---|---|---|
| Frontend | React | For building dynamic and high-performance user interfaces and server-side rendering capabilities. |
| TypeScript | A strongly typed programming language that builds on JavaScript, providing better tooling at any scale. | |
| Tailwind CSS | A utility-first CSS framework for rapid UI development with consistent and responsive design. | |
| Backend | Java/Spring Boot | Robust REST APIs, team expertise |
| Database | PostgreSQL | ACID compliance for user/project data |
| Redis | Fast session/matching-cache access | |
| ML | Python | For its simplicity and extensive libraries for data processing and machine learning. |
| Airflow | Pipeline orchestration | |
| Infra | Docker + Docker Compose | Environment consistency, TA reproducibility |
| GitHub Actions (CI/CD) | Automated testing/deployment |
Individual commitments #
| Team member | Telegram alias | Contribution |
|---|---|---|
| Diana MInnakhmetova (Lead) | @diana_minn | Wrote report, hold 3 meetings, organized workflow in Jira and Figma, made mind map and user flow, wrote README, made logo and design |
| Danis Sharafiev | @HarneMer | Made system architecture, helped with initializing ML |
| Daria Alexandrova | @ae_quor | Initialized basic Frontend, made design |
| Stepan Dementev | @dementevssstepan | Organised GitHub workflow, helped with system architecture, made Docker compose, initialized basic backend |
| Elizaveta Zagurskih | @wkwthigo | Made ERD diagram, Initialized basic backend |
| Kamilya Shakirova | @hugecatwithacheburek | Initialized basic ML |
Links #
Confirmation of the code’s operability #
We confirm that the code in the main branch:
- In working condition.
- Run via docker-compose (or another alternative described in the
README.md).