-
-
Landing Page
-
Student Discover Page
-
Student Application Portal
-
Forum List for All Clubs Applied To
-
Club Forum Where Applicants Ask Questions
-
Club Admin Page
-
Role Posting Management
-
Application Question Edits
-
Application Table View
-
Chatbot RAG Functionality
-
Execs Discussing and Rating An Application
-
Club Exec Profile Edit
Inspiration
As executives at the McGill Computer Science Undergraduate Society, we process more than 100 applications for ~25 executive committee positions every academic year. Managing the full workflow from application to interviews to hiring to onboarding is an overwhelming amount of manual administrative work spread across Google Forms, Excel sheets, notes, documents, and more. We know we are not alone in this hiring struggle. There are hundreds of large clubs at McGill dealing with chaotic recruitment processes, looking for clarity and efficiency in a future solution. Additionally, students struggle to find opportunities to engage with their areas of interest, as many clubs span faculties, student governments, SSMU clubs, and unofficial channels that cover similar topics. So, if you're feeling rejected or confused about how to get involved, or if you're a club executive yearning for relief this year as you dread the upcoming spring hiring workload, you can dream of myEx.
What it does
myEx provides a centralized platform for student organizations to manage their executive recruitment from start to finish and for students to find opportunities within their target area of involvement.
Key Features:
For Students:
- Sort clubs by keywords and tags to find the opportunities with the best fit
- Track your application status as it's reviewed
- Discussion threads to ask questions to execs and discuss with other applicants
- myExtracurriculars AI Assistant
- Pull open postings data and discuss potential opportunities to assess fit
- Get application advice and position recommendations
- Get current application status
For Club Execs:
- Create new position listings and dynamically update application questions
- See applications in a table view with CSV export capabilities
- Update applicant statuses as the team makes their decisions
- Trigger status update emails (coming soon)
- Discuss an application and add notes with your fellow execs in a Reddit-style thread
- Assign star ratings to applications to assist in the review process
- Update club and personal account profiles
- myExtracurriculars AI Assistant
- Get all applicants for a specific position and discuss application details
- Update applicant status (ex, "Reject Brandon")
- Ask for stats about applications
- CRUD operations on job postings
How we built it
The backend is built on a Node.js/Express server written in TypeScript, following a standard RBAC (Role-Based Access Control) architecture. Paired with MongoDB, we created a lightweight, modular, and (relatively) scalable system for data management that prioritized flexibility and development time. The frontend is built with Vite and React because, given the short development time, we needed low overhead to implement features quickly. Vite compile-time optimization also helps us speed up deployment. Our chatbot is a RAG system implemented with Snowflake, which leverages our database and API to invoke data management functions via natural language.
You might ask, This is a lot. How did you manage to build this in just 24 hours? True to our student gov origins, we split development into four executive positions:
Tavi: VP System Design
- Database Design, Token-Based Auth and Role-Based Access, and API Design
- Developing plans for major implementation goals and data management and handing them off to Austin step by step for parallel development
Austin: VP Implementation
- After a system is designed, Austin connects the dots to implement the features and make the vision a reality. His greatest satisfaction in life is seeing a frontend click produce a document in our MongoDB collections.
- Integration tests with our existing codebase before grabbing his next plan to work on
Areebah: VP Experience
- While Tavi and Austin stress over data pipelines and ever-breaking API calls, Areebah transforms our application from plain text to beautiful images and well-formatted components. She draws on her iPad and builds with React to save our end users from raw-JSON hell. She makes sure you are well taken care of through clear, concise website language and insightful responses from our AI assistant.
Brandon: VP AI
- While the databases are being constructed, Brandon is focused on making that data explainable and accessible. He crafts the Snowflake API into seamless components of our tech stack that allow users to invoke data manipulation and explanation functions with just their natural language.
Challenges we ran into
- Seamlessly connecting Snowflake queries with MongoDB.
- Crafting a robust database schema to ensure all data models work harmoniously across the app.
- Creating a vibrant and user-friendly UI that keeps users engaged and excited!
Accomplishments that we're proud of
- Successfully implemented all planned features, creating an engaging app that significantly enhances campus involvement.
- Have spoken with executives of other clubs who plan to adopt it for their applications once deployed
What we learned
- We learned how to leverage Snowflake and integrate it with MongoDB.
- How to build a full-stack application with a dense feature set
- Implementing RBAC from scratch
- Integrating a RAG chatbot that invokes our API endpoints
What's next for myEx(tracurriculars)
- Add automatic email functionality
- Introduce additional application management features like archiving positions, cyclical applications, and a voting system for departmental elections
- Refining the UI to improve UX
Built With
- express.js
- mistral
- mongodb
- node.js
- react
- snowflake
- typescript
- vite


Log in or sign up for Devpost to join the conversation.