Tools
- XCode, Windsurf/Claude (AI)
- Deutsch
- English
Die offizielle App des Queersicht Filmfestivals Bern
Ich habe die Queersicht App von Grund auf entwickelt, um Festivalbesucher*innen das beste Erlebnis zu bieten. Als persönlicher Begleiter für das grösste queere Filmfestival der Schweiz bringt die App das gesamte Festivalprogramm direkt aufs Smartphone. Was als Idee begann, wurde zu einem umfassenden Projekt, das mich technisch und kreativ herausgefordert hat.
Die Vision
Mein Ziel war es, nicht einfach nur eine weitere Festival-App zu entwickeln, sondern ein Tool zu schaffen, das die Vielfalt, Kreativität und den Spirit der queeren Community widerspiegelt. Die App sollte nicht nur funktional sein, sondern auch visuell begeistern und ein echtes Erlebnis bieten.
Was ich umgesetzt habe:
Persönliches Programm mit intelligenter Synchronisation Ich habe ein ausgeklügeltes Favoritensystem entwickelt, mit dem Nutzer*innen ihr individuelles Festivalprogramm zusammenstellen können. Die Herausforderung bestand darin, die Daten so zu strukturieren, dass Filme mit mehreren Vorstellungen korrekt verwaltet werden. Die App zeigt die nächsten Vorstellungen chronologisch sortiert an – so verpasst man garantiert nichts.
Vollständiges Filmprogramm mit dynamischer API-Integration Alle Filme des Festivals sind mit detaillierten Informationen, Trailern, Inhaltsangaben und Vorstellungszeiten verfügbar. Ich habe eine REST API-Anbindung entwickelt, die stündlich im Hintergrund nach Updates sucht. Eine besondere Herausforderung war die Verwaltung von Bildern – ich habe ein mehrstufiges Caching-System implementiert (Memory, Disk, Network), das Bilder in verschiedenen Grössen lädt und die Performance massiv verbessert.
Events & Special Screenings Die App hält Nutzer*innen über alle Begleitveranstaltungen, Partys, Diskussionen und Special Events auf dem Laufenden. Hier musste ich eine flexible Datenstruktur schaffen, die sowohl Filme als auch Events einheitlich darstellen kann.


Offline-First Architektur – Eine technische Herausforderung Ein besonderes Augenmerk habe ich auf die Offline-Funktionalität gelegt. Dies war eine der grössten technischen Herausforderungen: Die App musste auch ohne Internetverbindung voll funktionsfähig sein, da viele Kinos schlechten Empfang haben. Ich habe ein lokales Storage-System mit JSON-Serialisierung entwickelt, das alle Daten persistent speichert. Automatische Updates im Hintergrund halten das Programm aktuell, ohne die Nutzer*innen zu stören.
Mehrsprachigkeit mit Echtzeit-Sprachwechsel Ich habe die App vollständig zweisprachig (Deutsch/Französisch) entwickelt. Die Herausforderung war, dass der Sprachwechsel ohne App-Neustart funktionieren musste. Ich habe ein eigenes Localization-System gebaut, das alle Views automatisch aktualisiert, wenn die Sprache gewechselt wird – inklusive Datumsformatierung und dynamischer Texte.
Technische Highlights und Erfolge:
Modernes SwiftUI Design mit Custom Theming Ich habe die App nativ in SwiftUI entwickelt und ein komplettes Theme-System implementiert. Nutzer*innen können zwischen sechs einzigartigen Farbthemen wählen, die vom Queersicht Design inspiriert sind. Jedes Theme hat seine eigene Farbpalette und eigene Logo-Varianten. Die Herausforderung war, dass alle UI-Komponenten dynamisch auf Theme-Änderungen reagieren mussten.
Animierte Mesh-Gradienten – Ein visuelles Highlight Besonders stolz bin ich auf die lebendigen, animierten Hintergründe. Ich habe iOS 26’s neue MeshGradient API verwendet und eigene Animationslogik entwickelt, die die Gradientenpunkte sanft bewegt. Das Ergebnis ist ein hypnotischer, fliessender Hintergrund, der die App zu einem visuellen Erlebnis macht. Die Performance-Optimierung war hier entscheidend – die Animationen laufen mit 60 FPS, ohne den Akku zu belasten.
Queer Crush Mini-Game – Von der Idee zur Umsetzung Als besonderes Feature habe ich ein exklusives Match-3-Spiel entwickelt. Dies war ein Projekt im Projekt: Ich musste die komplette Spiellogik programmieren – Tile-Matching, Gravity-System, Cascade-Effekte, Score-Berechnung und ein Highscore-System mit lokalem Speicher. Eine kritische Bug-Fix-Session hat mir gezeigt, wie wichtig saubere Rekursions-Vermeidung ist – ich habe das ursprüngliche rekursive System durch ein asynchrones Queue-System ersetzt, das viel stabiler läuft.
Smart Review System nach Apple Best Practices Die App fordert nach 10 Nutzungen höflich zu einer Bewertung auf – mit intelligentem Timing, das Apple’s Best Practices folgt. Das System merkt sich, wenn jemand bereits bewertet hat, und nervt nicht mit wiederholten Anfragen. Ich habe einen 5-Tage-Cooldown implementiert, falls jemand die Anfrage ablehnt.
Performance-Optimierung und Speicherverwaltung Durch intelligentes Caching und asynchrones Laden habe ich sichergestellt, dass die App auch bei schlechter Internetverbindung flüssig läuft. Bilder werden in drei Stufen geladen (Memory Cache → Disk Cache → Network), was die Ladezeiten drastisch reduziert. Ich habe auch ein System entwickelt, das die Datengrösse schätzt und Nutzer*innen informiert, bevor grosse Downloads starten.
Die grössten Herausforderungen:
1. Datenmodellierung und API-Design Die Struktur der Daten war komplex: Filme haben mehrere Vorstellungen, Vorstellungen haben Locations, und alles muss mit Favoriten verknüpft werden. Ich musste mehrmals refactoren, bis die Architektur stimmte.
2. State Management in SwiftUI SwiftUI’s reaktives System ist mächtig, aber auch tückisch. Ich hatte mehrere Situationen, wo Views nicht aktualisierten oder zu oft neu gerendert wurden. Die Lösung war ein sauberes ViewModel-Pattern mit @Published Properties und gezielten Updates.
3. Bildcaching und Memory Management Bei so vielen von Filmstills konnte die App schnell Speicherprobleme bekommen. Ich habe ein dreistufiges Caching-System entwickelt und Bilder in verschiedenen Grössen geladen – Preview-Qualität für Listen, Full-Qualität für Details.
4. Offline-Synchronisation Das Schwierigste war, einen Zustand zu managen, wo lokale Daten existieren, aber Updates verfügbar sind. Ich musste entscheiden: Sofort updaten oder erst fragen? Alte Daten behalten oder überschreiben? Die Lösung war ein intelligentes Merge-System.

Die grössten Erfolge:
1. Flüssige Performance Die App läuft butterweich, selbst auf älteren iPhones. Die Animationen sind geschmeidig, und Ladezeiten sind minimal.
2. Offline-First funktioniert perfekt Nutzer*innen können die App nach dem ersten Start und Datenabgleich komplett ohne Internet nutzen. Das war eines der Hauptziele, und es funktioniert einwandfrei.
3. Visuell beeindruckend Die animierten Hintergründe und das Theme-System machen die App zu einem echten Hingucker.
4. Stabile Architektur Der Code ist sauber strukturiert, gut dokumentiert und erweiterbar. Neue Features lassen sich leicht hinzufügen.
Was ich gelernt habe:
Technisch:
- SwiftUI’s Stärken und Schwächen im Detail
- Async/Await und moderne Concurrency in Swift
- Performance-Optimierung und Profiling
- REST API Integration und Error Handling
- Lokale Datenpersistenz und Caching-Strategien

Projektmanagement:
- Wie wichtig klare Datenstrukturen von Anfang an sind
- Dass Refactoring manchmal die beste Entscheidung ist
- Wie man Features priorisiert und Scope managt
- Die Bedeutung von User Testing und Feedback
Design:
- Wie man Ästhetik und Funktionalität vereint
- Die Kraft von subtilen Animationen
- Accessibility und inklusive Design-Prinzipien
Die Zukunft:
Die Entwicklung dieser App war mir eine Herzensangelegenheit. Ich wollte nicht nur eine funktionale Festival-App schaffen, sondern ein Tool, das die Vielfalt und Kreativität der queeren Community widerspiegelt. Jede Zeile Code, jede Animation, jedes Detail wurde mit Sorgfalt und Leidenschaft entwickelt.
Das Ergebnis ist eine App, auf die ich stolz bin – nicht nur technisch, sondern auch als Beitrag zur queeren Kultur und Community.
The official app for the Queersicht Film Festival Bern
I developed the Queersicht App from the ground up to give festival visitors the best possible experience. As a personal companion for the largest queer film festival in Switzerland, the app brings the entire festival programme directly to your smartphone. What started as an idea became a comprehensive project that challenged me both technically and creatively.
The Vision
My goal was not simply to build another festival app, but to create a tool that reflects the diversity, creativity, and spirit of the queer community. The app was designed to be not only functional but also visually engaging and a real experience in itself.
What I Built
Personalised Schedule with Smart Sync
I developed an advanced favourites system that allows users to build their own personalised festival schedule. The challenge was to structure the data so that films with multiple screenings are handled correctly. The app shows upcoming screenings in chronological order — so nothing gets missed.
Full Film Programme with Dynamic API Integration
All films at the festival are available with detailed information, trailers, summaries, and screening times. I built a REST API connection that checks for updates in the background every hour. One particular challenge was image management — I implemented a multi-stage caching system that loads images in different sizes and significantly improves performance.
Events & Special Screenings
The app keeps users updated on all accompanying events, parties, discussions, and special screenings. Here I had to design a flexible data structure that can represent both films and events in a unified way.


Offline-First Architecture — A Technical Challenge
A major focus was offline functionality. This was one of the biggest technical challenges: the app had to be fully usable without an internet connection, as many cinemas have poor reception. I built a local storage system with persistent JSON storage that keeps all data available. Automatic background updates keep the programme current without interrupting the user.
Multilingual Support with Real-Time Language Switching
I developed the app fully bilingual (German/French). The challenge was to make the language change work without restarting the app. I built a custom localisation system that automatically updates all views when the language is changed, including date formatting and dynamic text.
Technical Highlights & Achievements
Modern SwiftUI Design with Custom Theming
I built the app natively in SwiftUI and implemented a complete theme system. Users can choose between six unique color themes inspired by the Queersicht design. Each theme has its own colour palette and logo variants. All UI components dynamically respond to theme changes.
Animated Mesh Gradients — A Visual Highlight
One of the standout features is the dynamic animated backgrounds. I used iOS 26’s MeshGradient API and developed custom animation logic that moves gradient points smoothly. The result is a hypnotic, flowing background experience that makes the app visually compelling, running at 60 FPS without draining the battery.
Queer Crush Mini-Game — From Idea to Implementation
As a special feature, I developed an exclusive match-3 mini-game called Queer Crush. This involved building all game logic — tile matching, gravity systems, cascade effects, scoring, and a local high-score system.
Smart Review System Following Apple’s Best Practices
The app politely prompts users for a review after 10 uses, with intelligent timing that follows Apple’s best practices. The system remembers if someone has already reviewed and doesn’t repeatedly ask again. I implemented a five-day cooldown if the request is dismissed.
Performance Optimisation and Memory Management
Through intelligent caching and asynchronous loading, the app runs smoothly even on weaker connections. Images load in three stages (memory cache → disk cache → network), drastically reducing load times. I also developed a system that estimates data size and informs users before large downloads begin.
Major Challenges
Data Modelling & API Design – Handling complex structures: films, screenings, locations, and favourites all interlinked.
State Management in SwiftUI – SwiftUI’s reactive model is powerful but tricky; solving issues with view updates required a clean view-model pattern.
Image Caching & Memory – Managing many film stills without memory issues required multi-stage caching and different image resolutions.
Offline Synchronisation – Balancing local data and updates without disrupting the user experience.

Key Achievements
- Smooth Performance: Runs buttery smooth, even on older iPhones.
- Offline-First Works Perfectly: Users can use the app fully without internet after the first data sync.
- Visually Impressive: Animated backgrounds and theme system make the app stand out.
- Stable Architecture: Clean, documented, and extensible code.
What I Learned
On the technical side:
- SwiftUI strengths and limitations
- Async/await and modern concurrency in Swift
- Performance profiling and optimisation
- REST API error handling
- Local data persistence and caching strategies

On project management and design:
- Importance of clear data structures
- When refactoring is the best choice
- Prioritising features and managing scope
- The power of subtle animation and inclusive design principles
The Future
Developing this app was a labour of love. I didn’t just want to build a functional festival app — I wanted to create a tool that reflects the queer community’s diversity and creativity. Every line of code, every animation, and every detail was crafted with care and passion. The result is an app I’m proud of — not just technically, but also as a contribution to queer culture and community.
