This event has ended! Thanks to everyone who came out to our Side Project Night! We hope you had a great time and made some new friends. Stay tuned for more events like this in the future!
Winners
cuScheduling
By: Nathan Coulas
cuScheduling is a web application that helps students automatically generate a schedule from 8000+ classes at Carleton University. cuScheduling takes care of the annoying conflicts and closed registration problems for users by using a Genetic Algorithm.

What is cuScheduling?
Carleton Central is a pain to use! cuScheduling isn't. This is the current path Carleton students must go through in order to build their timetable/schedule for a given term:
- Pick the courses they want to take.
- Find out that registration is closed.
- Replace that with another course.
- Find out that courses overlap on their schedules.
- Replace one of the conflicting courses.
- Go back to either steps 2 or 4 until they get lucky.
- Register!
This is pretty awful and frustrating for students who just want to pick their courses. This is the experience you'll find in cuScheduling:
- Pick the courses you want to take
- Register!
Ah, much better! cuScheduling takes care of the annoying conflicts and closed registration problems. All users need to worry about is if a course sounds interesting.
“When I was first an incoming student at Carleton University, there was an amazing tool, also called cuScheduling made by Carleton Blueprint's very own Tobias Schlagenhaufer. It was a really awesome tool that went defunct last year (since Tobias graduated). I took it upon myself to rebuild cuScheduling with my own take on the UX with added features. Major shoutout to Tobias, who is well aware and supportive of my rendition of cuScheduling, and for all the schedules he helped me make. Hopefully many more amazing schedules will be built in the future!” – Nathan’s inspiration for creating cuScheduling
Challenges Faced
“Annoyingly there is no API for Carleton Central, the repository where all course information is stored. This meant I had to whip out ye ol' web scraper which introduced a lot of pain but taught me some very important lessons. A poor and naive decision I made in the beginning was to use Selenium to facilitate my scraping. Selenium requires that you use a full web driver (aka Web Browser such as Google Chrome) for you to scrape data off of websites. Every time I'd scrape, this would require a full Chrome browser instance which makes things very slow in comparison to just plain old HTTP. With Selenium, forget about parallelized scraping (unless you want to donate money to AWS). Carleton Central doesn't even use JS, so this was complete overkill.
This eventually required a full rewrite of my scraper in Go using a scraping library called Colly. This would use our good friend, plain old HTTP which needed no Selenium, no Chrome, way less dependencies and led to a ~60% speed boost (much higher if you factor in parallelization).
My lesson learned going forward is when it comes to scraping the web, try your absolute hardest to avoid running a web driver. If there's data you need, there's probably an endpoint for it somewhere. Figure out how to hit it with whatever parameters are required (ex. auth token, session id, etc.) and you will get a fat speed boost as your reward.”
– Nathan Coulas
Math Master
By: Ishar Ghura
Math Master is a React native mobile app to help people practice their arithmetic skills. It was built using React and Expo and features a score system, profile view, and difficulty settings.
MathMaster
isharghura • Updated Apr 16, 2024
“Seeing my sister struggling with times tables inspired me to create an app that would make them fun to practice. The app benefits users by allowing them to practice their arithmetic skills while keeping track of their score to demonstrate improvements and areas they should focus on more.” – Ishar’s inspiration for creating Math Master

Music Mania
By: Hasith De Alwis
MusicMania is a social media for Spotify users. Its goal is to share music listening data with users’ friends and others on the platform and connect them to like minded listeners. With its search feature it connects you to other Spotify users who have a similar listening taste, allowing users to go through others’ playlists and find new songs to listen to. It was build using Flask for the backend, React for the frontend, and PostgreSQL for the database. The project will benefit users by allowing them to find new avenues to express themselves creatively through finding new music to love!
MusicMania
HasithDeAlwis • Updated Dec 5, 2023

“I found that for myself, most of my favourite songs and new music was introduced to me by my friends, so naturally, I wanted to create an app that streamlines that process! Music has had a huge impact on my life and I hope that I can share that passion with others, and hopefully, they can discover smaller indie artists which platforms like Spotify don't do a great job of.” – Hasith’s inspiration for creating Music Mania
Challenges Faced
“My main challenges were architecture related. I didn't know much about how to make an effective RESTful API and knew almost nothing about Database design, so there were lots of pain points and restructuring of my app along the way. On the frontend side, I really challenged myself to make the app responsive for any device, so I had to force myself to develop a better understanding of flexbox and good front end design principles”
– Hasith De Alwis
Gallery
Event Details
Got a project you've been working on? Want to work on a project with others?
Join us on our first Side Project Night to showcase your project, look for teammates, or network with others!
- Date: Friday (April 5th), 6pm
- Venue: HP 3431 (changed from HP 5345)
No projects? No problem! Come by to see what others are working on, or just to hang out with Blueprint members. We'll have snacks and drinks, so you can relax and enjoy the evening.


Judging Criteria
Innovation and Problem Solving
- Assess the project's creativity and originality. Also, evaluate the project's problem-solving skills and the effectiveness of solutions.
Technical Complexity
- Evaluate the level of technical challenge and complexity in the project.
Presentation and Communication
- Evaluate the clarity, organization, and effectiveness of the project's presentation and communication.
Alignment with Blueprint’s Goals
- Assess how well the project aligns with and addresses the Blueprint mission and vision to:
- Democratize engineering by making it inclusive and accessible
- Advocate for public welfare
- Prioritize the academic, social, and personal development of our peers
- Promote innovation and prioritize effective problem-solving strategies
Follow our Instagram for more updates on future events!
.png?table=block&id=91da93c5-7e29-419c-b01c-0c26825f206f&cache=v2)