All projects

APP

FH-Room Checker V2

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

FH-Room Checker V2: iPhone mockups show the current dark-mode room list and a daily room schedule.
Year
2026
Discipline
App Development
Team
Seymur Mammadov
Jakob 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.

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

  • Figma
  • Claude
  • Next.js
  • React
  • Supabase

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.

All projects

Click image to zoom in