Dandan Chang Wang
March 17, 2026We Attended the STRV Mobile Lightning Talks in Prague: 7 Talks, Zero Fear of AI
" A recap of an event where every single speaker uses AI to code — and none of them seem worried about losing their jobs. "
On March 10th, Francisco and I attended the STRV Mobile Lightning Talks in Prague. STRV is a Czech digital product company with 200+ engineers that has worked with brands like Major League Soccer, Barry's, and The Athletic. Their technical meetups are a staple of Prague's mobile development community.
The lightning talk format works well: short, direct, no filler. Seven speakers, varied topics — from Kotlin Multiplatform to smart fireplace automation. But what struck us most wasn't any individual talk. It was a pattern across nearly all of them.
Every speaker uses AI to code. And none of them seem worried about AI taking their jobs.
The Talks: iOS and AI First
Vibe Coding is Over, Now What? — Lukas Smetana
This was one of the most relevant talks for our daily work. Lukas, an iOS developer at STRV, talked about the transition from "vibe coding" (using AI like magic) to "agentic coding" (using AI agents in a structured, repeatable way).
His key takeaways:
- Context: it's not about giving the agent all information, but the right information. Narrow tasks, clear constraints, and resetting the thread when it starts drifting.
- Skills: reusable recipes for repetitive tasks. He mentioned community iOS skills: AvdLee's Swift Concurrency skill, Paul Hudson's SwiftUI skill, and sosumi.ai's Apple documentation skill.
- Plan mode: plan first, edit later. A good plan is cheaper than a bad refactor.
- Parallel work: using Git worktrees to run multiple agents simultaneously.
- Mindset shift: the traditional design → code → test → review → deploy cycle is compressing into a tighter intent → execution → outcome loop.
KMP: Bridging Coroutines to Swift — Robert Oravec
Robert walked through the real pain points of exposing Kotlin suspend functions to Swift in Kotlin Multiplatform projects. The Kotlin-Swift interop via Objective-C has serious limitations: no cancellation support, unexpected runtime issues, and compiler warnings that many teams just suppress.
He covered three solutions: manual callback wrappers (functional but verbose), KMP-NativeCoroutines (adding async/await and Combine support for Swift), and Touchlab's SKIE (which generates native Swift wrappers automatically). For teams running KMP in production, SKIE looks like the cleanest option today.
How Fresh is Refreshable? — Adam Bezak, Futured
Adam from Czech company Futured exposed a subtle but critical SwiftUI bug that's likely affecting many production apps. The issue: when you use .refreshable on a ScrollView and change a @Published property inside the closure (e.g., isLoading = true), SwiftUI re-evaluates the body, the ScrollView gets recreated, and the structured child task that .refreshable created is automatically cancelled. Your network call dies before completing.
The fix is elegant: wrap the call in await Task { ... }.value. This creates an unstructured task that escapes the ScrollView's cancellation scope, while .value keeps the refresh spinner alive until the operation finishes.
// ⚠️ Bug: task gets cancelled when ScrollView rebuilds
.refreshable {
await viewModel.fetchData()
}
// ✅ Fix: unstructured Task escapes cancellation
.refreshable {
await Task {
await viewModel.fetchData()
}.value
}
Adam even shared an interactive Playground with two tabs — one showing the bug and one the fix — with a step-by-step event log that visualizes the entire cancellation chain. This is exactly the kind of bug you encounter in enterprise apps with complex ViewModels and multiple @Published states.
Stealth Talk (Performance Profiling) — Tomáš Čejka (CJ), Jamf
CJ drew a creative analogy between military stealth technology (hiding physical signals) and performance profiling (finding the signals your code emits). His thesis: profiling isn't just for when the app is slow — it's a continuous practice.
He reviewed the Apple ecosystem tools: Instruments for development profiling, MetricKit for aggregated production data, OSSignposter for lightweight real-time markers, and Swift Metrics for server-side observability. An important note: MetricKit doesn't support watchOS or tvOS, doesn't allow custom metrics, and only works with App Store distribution.
The Other Talks
Cross Platform Walks Into a .env File — Dominika Gajdova
Dominika presented an elegant system for managing secrets across platforms. A single .env file as the source of truth, encrypted with SOPS + age, and a bash script that generates native code (Swift or Kotlin) with values obfuscated via XOR + Base64.
The key insight: one script, two output modes. Same .env file, same values, zero platform drift. Onboarding a new developer means running one script. For enterprise teams managing multiple environments (dev, staging, production), this kind of automation saves hours and eliminates human error.
Opening Email is Not Enough — Adam Gelatka
Adam presented hard data on user feedback. With the traditional system (email), they got 2 feedback submissions in 3 months. After implementing an in-app "quick feedback" system, they got 5 submissions in 2 weeks — a 6x increase. Feedback quality was 0% spam. A clear demonstration that reducing user friction has a direct, measurable impact.
Home Automation with Modbus: The Smart Fireplace — Petr Nohejl
The most unexpected and entertaining talk of the evening. Petr showed how he automated his home fireplace using the Modbus TCP protocol, integrating it with a Loxone home automation hub and a Ulanzi smart clock running Awtrix3 firmware.
The system automatically controls air regulation and temperature. He mentioned "The Wife Factor" as a design criterion — if your partner can't use it without instructions, the system doesn't work. A UX lesson that applies perfectly to enterprise development.
The Elephant That Wasn't in the Room
Seven talks. Seven speakers who are professional developers. And at no point did anyone express concern about AI taking their jobs.
It wasn't a taboo topic or something being avoided. It simply wasn't part of the conversation. What was part of the conversation was how to use AI more effectively: Lukas on agentic coding, STRV's internal skills for automating their mobile team's workflows.
The overall attitude was pragmatic: AI is another tool in the toolkit. Powerful, yes. Transformative, probably. But the real problems — KMP interoperability, secrets management, performance profiling, accessibility, architecture — still need engineers who understand context, make design decisions, and take ownership of the outcome.
What we saw in Prague was a group of professionals who have integrated AI into their workflow without drama or anxiety. And to us, that's the clearest signal of where the profession is heading.
Prague and the Tech Community
A note on the ecosystem: Prague has a surprisingly active mobile development community. STRV organizes regular meetups (iOS, Android, QA, Data & AI), always free, well-attended, and technically strong. There's even an Apple engineering team based in Prague — something that's not widely known.
For AtalayaSoft, events like this are an opportunity to connect with the international community, see what problems other teams are solving, and confirm that the areas we specialize in — accessibility, strict concurrency, AI integration, SwiftUI migration — are exactly what's on the agenda for European enterprise teams.
Is your team integrating AI into your iOS development workflow and looking to do it in a structured way? At AtalayaSoft, we work with AI agents and tools like Claude Code on real projects. Let's talk →
About the author
Dandan Chang Wang
Dandan Chang Wang is co-founder and iOS Developer at AtalayaSoft. With a background in digital marketing at eBay/StubHub coordinating 13 Asia-Pacific markets and 5+ years in native iOS development with Swift and SwiftUI, she brings an uncommon combination of business perspective and technical skills. Trilingual (Chinese/Spanish/English), she manages AtalayaSoft's international communications and contributes to enterprise app development.