APP
FH-Room Checker V2
Room availability across FH JOANNEUM, with campus-wide room and lecturer search.

- Year
- 2026
- Discipline
- App Development
- Team
- Seymur MammadovJakob Schnurrer
FH-Room Checker started as a semester project I designed with a classmate. We tested the first version with 25+ students, and it grew from a single poster in the Design Faculty to around 200 regular users.
This page covers the V2 rebuild. Explore the original design and testing in the Version 1 case study.
Challenge
The first version spread its backend, interface, feedback and analytics across Laravel, Ionic and Firebase. The rebuild needed to bring those pieces together while keeping the room-finding flow students already knew.
The difficult part was turning timetable events into reliable room availability, including free periods between bookings and changes across the day.
What changed in V2
Next.js and Supabase now form one platform. The room list stays visible as fresh data arrives, so students can check what is free now, what opens next and the rest of the day’s schedule.
Teacher Finder adds a search across around 1,450 lecturers, showing where each is teaching across campus.
Earlier interface

Wireframe

Lo-Fi


Changes We Made

The current Room Checker
Room availability, daily schedules and lecturer search, with light and dark themes on phones and desktop.


Keeping availability reliable
Campus-wide schedules
A Deno/TypeScript Edge Function converts timetable events into free and busy slots. A scheduled job refreshes around 150,000 slots across 10 buildings every two hours, skipping feeds that have not changed.
Recovery after interrupted updates
Large schedules are processed in 14-day chunks and replaced atomically. Cached timezone offsets reduce processing time, and the feed hash is saved only after a successful update, allowing a failed sync to recover on the next run.
Validation
The availability logic has 28 passing Deno tests with roughly 99% line coverage. Time calculations account for Vienna’s daylight saving changes.
Technical stack
Frontend
Next.js, React, TypeScript, Tailwind CSS, shadcn/ui and TanStack Query, deployed on Vercel.
Backend
Supabase Postgres and Deno/TypeScript Edge Functions, with pg_cron and pg_net for scheduled updates. A SQL view and RPC provide the availability read model.
Testing and access
Vitest and Deno tests; read-only room access through row-level security; insert-only feedback, consent-based analytics and browser security headers.
Tools
Project Access
Conclusion
V1 established the room-finding experience with students. V2 keeps that experience and adds lecturer search, a simpler platform and a sync pipeline that can recover after failed updates.




