Back to projects

Published event platform

Fantastic Events

An Android companion for multiple events: saved tickets, QR activities and tournaments, connected to a shared backend and Next.js administration system.

Role
Solution architect, backend, Android and web developer
Current status
Publicly listed on Google Play

Overview

Overview

Fantastic Events combines an Android application, an iOS application, a Next.js administration system and a shared backend for tickets, schedules, tournaments, content and audience communication. Mateja developed the backend, Next.js administration system and Android application; Mihael Koić developed the iOS application and contributed design concepts and UX ideas.

Business problem

Event visitors need one reliable place for practical information and interactive participation before, during, and after an event.

My contribution

  • Designed the Supabase architecture across authentication, PostgREST data access, storage, Realtime, roles, and row-level security.
  • Implemented product areas represented in the repository, including QR ticket workflows, tournaments, leaderboards, schedules, profiles, and GDPR account deletion.
  • Built and maintained a Next.js and TypeScript admin dashboard for users, games, tournaments, sponsors, posts, applications, schedules, and targeted push notifications.
  • Implemented tournament participant seeding, bracket generation, byes, match progression, and realtime bracket updates.

Engineering challenges

Engineering challenges

01

Supabase platform architecture

Designing authentication, relational data, storage, Realtime subscriptions, roles, and RLS policies for mobile and admin clients.

02

Tournament operations and seeding

Generating seeded brackets with byes, advancing winners, and synchronising match updates in realtime.

03

Mobile, admin, and communication

Keeping Android features, admin workflows, QR tickets, and targeted OneSignal notifications coherent.

Screenshots

Screenshots

Captures from the running applications. Network addresses, sensor identifiers and ticket codes are redacted.

Fantastic Events Android home for Zagreb Games Week with event countdown, saved-ticket shortcut and visitor activities

Home — event selection and visitor shortcuts

The event hub brings the countdown, location and visitor shortcuts together. The event selector switches between Zagreb Games Week and Fantastic Gaming Show within the same application.

Fantastic Events admin dashboard with event metrics, tournament statuses and indie game entries

Admin — event overview and tournament status

The administration dashboard brings event statistics, tournament registrations and content sections into one overview. Organisers can see participant counts and open the relevant management screens.

Eight-player EA Sports FC single-elimination bracket with highlighted winners, semifinals, final and third-place match

Bracket — knockout rounds and third-place match

An eight-player single-elimination bracket shows the path from the opening round to the final and third-place match. Highlighted winners, result inputs and zoom controls help organisers follow and manage the competition.

Fantastic Events tournament management list with game labels, dates, registration statuses and action controls

Tournament management — dates, status and actions

The searchable tournament list groups each competition with its game, date and registration status. Row actions provide access to brackets, sharing and editing for EA Sports FC, Valorant and League of Legends.

Fantastic Events saved ticket with saved status, ticket holder and help controls; admission QR and ticket number are redacted

Ticket — saved admission and entry controls

A saved ticket has its own entry screen with status, holder details, a copy-code action and help. This capture uses the test account; the QR and ticket number are hidden for publication.

Fantastic Events activity list with six QR quests, active statuses and scan progress for each task

Quests — on-site activities and QR progress

Visitors can follow the event activities in any order. Each task shows its active status and the number of QR checkpoints already scanned, keeping progress visible across the event.

Fantastic Events driving simulator quest with instructions, completion status, progress and a QR scan action

QR task — instructions and checkpoint scanning

The task detail connects the on-site activity to its digital checkpoint: instructions, completion status and progress sit beside the scan action. The same QR can only be recorded once per user.

Fantastic Events tournament catalogue with League of Legends, EA Sports FC and Valorant events, opening status and start times

Tournaments — competition discovery and details

The tournament catalogue pairs each competition with artwork, its entry status and start time. Visitors can open the detail screen to review capacity, dates and organiser notes before joining.

Architecture

Architecture

A Kotlin and Jetpack Compose Android client and a Next.js admin dashboard share one Supabase backend. Authentication, PostgREST data access, storage and Realtime subscriptions sit behind role-based row-level security, so the same policies govern both the mobile app and the administration system.

Outcome

Outcome

Mateja delivered the shared backend, Android application and Next.js administration workflows. Mihael Koić delivered the iOS application and contributed design concepts and UX ideas, giving the product coordinated mobile and administration experiences.

Technologies

KotlinAndroidJetpack ComposeNext.jsTypeScriptSupabaseRow Level SecurityRealtimeOneSignalCameraX / ML KitTipTapSwift / iOS