Inspiration
Being part of a diverse friend group, we have experienced the difficulty of getting everyone together at the same time and place. We have friends that live all across Melbourne, each with varying travel times, jobs, and extra-curriculars to worry about. It's always disappointing to see plans fall through and to slowly watch the group fade away, all because our schedules aren't aligned. Classes without friends to collaborate with also contribute to worse learning outcomes, and, more importantly, aren't as fun!
University is a time to make friends, make memories, and make the most out of your learning and limited time on campus. Scheduling conflicts eat up your precious time and act as a barrier to a smoother and more fun-filled timetable with your friends, and resolving them is no easy task. Coordinating everyone's schedule manually can be a total organisational nightmare (trust us, we've tried), keeping track of different unit types, times, days, public holidays, optional classes, and personal preferences can quickly become impossible!
So, we developed una, making it easy for our friend group to organise and meet up more often! It's simple and free to use, made for the people, made by the people. We provide a simple service that fulfills one key function, making sure you and your friends see each other more often!
There's only so much time we have together, with una, we hope to help bring friend groups like ours together again and make memories while we still can.
What it does
una is a convenient and easy-to-use group scheduling tool that generates the most compatible schedule for you and your friends using a genetic algorithm. It's designed to make seeing your friends on campus straightforward and easy. Simply generate and share a code with your friends, input your preferences, and watch as your schedule gets built blazingly fast!
We've compiled subject data for our university, getting the data for subjects and processing them for our app, all to make YOUR experience better! After you and your friends all input the units, we run a genetic algorithm to generate solutions to the scheduling problem for your specified members, rating solutions by classes together and clashing times based on the rules that each member sets. This heuristic allows us to generate solutions to your problem blazing fast 🚀🔥✨while still finding a good solution. Then, we send this to our front-end, so its all nicely displayed in a calendar for your group, getting you to share as many classes as possible!
How we built it
We decided to step outside our comfort zone and build una in Rust 🦀 on both the backend and frontend. Rust is a modern programming language that's becoming increasingly popular, and we thought that UNIHACK 2025 would be the perfect chance to learn it. Our frontend is built with the Leptos framework, communicating with the server through Axum.
Challenges we ran into
- Learning Leptos
- Dealing with merge conflicts
- Lack of pizza
- DevOps difficulties when deploying to AWS
Accomplishments that we're proud of
- Learning Rust 🦀🦀
- Making a working product!
- Writing our own solver for the scheduling problem
- Deploying our app on an AWS EC2 instance
What we learned
- Rust 🦀🦀🦀
- Heuristic-based solving via genetic algorithm
- The power of friendship
What's next for una
We're looking to open una to the public, encouraging other students from universities across the world to use our code and modify it to suit their university scheduling system, bringing friends everywhere together!




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