Loading project…
Loading project…
Booking system · Graduation project
A booking system for tutoring sessions and oral presentations. Teachers create sessions and students book a time slot.
Click the image to open the gallery

Behind the project
Samspel started as my graduation project. During my studies, we used Google Docs to book tutoring sessions and oral presentations. I wanted to make booking clearer and bring the whole process together in one place.
We had students from several countries, and not everyone was equally comfortable with Swedish. That's why I built the whole system in both Swedish and English. Language support was an important part of the original idea, helping more students understand and use the system.
Teachers can create sessions with available time slots, and students can book or cancel directly without editing a shared document.
I developed the project myself and handled design, UX, frontend, backend and the database. The system is built with Next.js, TypeScript, Material UI and SQLite.
During the graduation project, I focused on the booking flow for teachers and students. Since then, I've continued developing the system with features such as login, permissions, email verification and class management.
One of the biggest challenges has been the logic behind time slots. The start time, end time and length of each appointment determine which slots can be booked. I've also had to handle what happens when a teacher changes a session that already has bookings.
As more features were added, permissions became a bigger part of the work. Teachers and students need different capabilities and should only have access to the classes and information relevant to them.
The project has taught me a lot about how the interface, booking logic and database need to work together. Changing a session can affect both available time slots and existing bookings, which has made me think through more scenarios.
I've also spent a lot of time making the views clear and consistent. As the project has grown, I've seen the value of splitting up large components and reusing both logic and design.
The graduation project received the highest grade, but I've continued developing Samspel to make it more useful in practice. So far, I've tested the flows myself during development. The next step is to get feedback from teachers and students.
During my presentation, my teacher mentioned that the school might be interested in the system and offered to help me get in touch with someone when I feel ready. I plan to follow up and see if there's interest in trying Samspel.