Juegos ONCE
(ZEAL Network SE)
ZEAL Network SE is a publicly traded online lottery and digital gaming group headquartered in Hamburg, Germany. Founded in 1999 (originally as Tipp24 SE), ZEAL operates leading lottery brokerage platforms such as Lotto24 and Tipp24, offering state-licensed lottery products and other gaming services across Europe.
With a strong focus on secure, regulated digital experiences, ZEAL also drives innovation through segments like ZEAL Iberia, ZEAL Instant Games, and ZEAL Ventures, and maintains strategic partnerships — including with ONCE in Spain. The company serves millions of active customers through its technology-driven lottery offerings.
on the App Store (Spain)
native accessibility
progressive migration
audited releases (Sep 2025 – Jan 2026)
Client
-
Headquarters
Hamburg, Germany / Madrid, Spain
-
Industry
Online lottery & digital gaming
-
Founded
1999 (ZEAL Network SE)
Product
-
Platform
iOS (iPhone)
-
Min. iOS version
iOS 15.0+
-
Accessibility
VoiceOver, Dynamic Type
-
Engagement
February 2025 – January 2026
The challenge
The Juegos ONCE iOS team (ZEAL Network SE) maintained a business-critical, high-traffic production app built on a mature UIKit codebase. The pressure came from two directions: delivering new features and modernising the architecture — without ever risking production stability — while simultaneously maintaining and improving iOS accessibility. ONCE is Spain's leading organisation for people with visual impairments, and the app had to work flawlessly with VoiceOver. Accessibility here was not a nice-to-have; it was a core product requirement.
The engagement ran from February 2025 to January 2026. Midway through it, on 28 June 2025, the European Accessibility Act became enforceable for e-commerce digital services: accessibility stopped being only an institutional commitment and became a legal obligation, with the transaction at its centre.
The solution
AtalayaSoft assigned Francisco José García Navarro as a senior iOS engineer embedded in the Juegos ONCE product team. His work covered three parallel fronts:
1. Maintenance and continuous evolution
As a senior iOS engineer integrated into the team, Fran took ownership of the continuous evolution of a high-traffic production app:
- Resolving functional bugs in production.
- Developing new features and screens.
- Refactoring and modernising legacy code.
- Updating the app to support new iOS versions.
- Code reviews to maintain quality standards across every iteration.
- Automated testing with XCTest + UI/snapshot to prevent regressions.
2. Progressive UIKit → SwiftUI migration
The Juegos ONCE codebase was built on UIKit. Migrating to SwiftUI on an active app required a low-risk, incremental approach:
- SwiftUI adoption module by module, coexisting with UIKit.
- Clean Architecture principles applied to reduce coupling and improve long-term testability.
3. External accessibility auditing on every release
The app's accessibility was not audited once: it was audited continuously throughout the engagement. A team of accessibility specialists, external to both ZEAL and ONCE and with the reviews carried out by a blind auditor, assessed every new game, every new screen and every release before it shipped, and periodically reviewed what was already live. Fran handled the full remediation on iOS.
The work covered the 7 draws in the app's complete catalogue — Cupón Diario, Cuponazo, Sueldazo Fin de Semana, Eurojackpot, Super 11, Triplex de la ONCE and Mi día de la ONCE — both the legacy ones and those added during the project, and extended to the app's 2 transactional flows: registration and shopping basket.
That scope is not incidental. The European Accessibility Act does not require a game to be accessible: it requires the transaction the user completes to be accessible. Registration and purchase are the flows the directive names explicitly.
Between September 2025 and January 2026 alone — the stretch of the engagement that the App Store's public version history still lets anyone verify — the app shipped more than ten releases, and every one of them went through that audit before reaching production.
Every fix was validated with VoiceOver on real devices.
Technical highlights
Clean Architecture migration without disrupting production
The app had a legacy architecture that made adding features without regressions difficult. Fran applied Clean Architecture progressively — separating data, domain, and presentation layers — enabling safer product evolution without a full rewrite.
UIKit and SwiftUI coexistence verified with snapshot tests
In a production app, adopting SwiftUI does not mean replacing UIKit: it means having both coexist for months on the same screen and in the same flow. The risk is not the new screen, but what surrounds it: mixed view hierarchies, different lifecycles, and visual regressions a functional test will not catch.
Fran covered that boundary with snapshot UI tests, so that every SwiftUI addition was compared against the recorded visual reference of that same screen. The migration advanced module by module with no visual regressions and with UIKit and SwiftUI never interfering with each other in production.
VoiceOver accessibility in a high-traffic production app
Improving accessibility in a live production app is considerably harder than building it in from the start: every change has to be compatible with existing flows and validated with VoiceOver on real devices, with no maintenance window and no loss of stability. Fran carried out that remediation across the app's full catalogue and across the registration and purchase flows, over the course of a year, in a sustained cycle of auditing and remediation, in the app of the organisation that is the reference point for blind and partially sighted people in Spain.
Technologies and services
- Language: Swift
- UI Frameworks: UIKit (legacy), SwiftUI (progressive adoption)
- Architecture: Clean Architecture, MVVM, SOLID
- Testing: XCTest, UI Testing, Snapshot Testing
- Accessibility: VoiceOver, UIAccessibility API, Dynamic Type
- Package Management: Swift Package Manager
- AtalayaSoft services applied: Senior iOS Engineer for your team · iOS Accessibility (EAA)
Need something similar for your iOS app?
If your team needs a senior iOS engineer with experience in business-critical apps and native accessibility, let's talk. We respond within one business day.