Jan Utěkal

Jan Utěkal Senior software developer · Flutter, iOS, cloud and backend, LLM orchestration

I'm Jan Utěkal, a software developer with over 15 years of experience. I've spent most of my career building mobile apps with Flutter and Swift. In recent years, I've also built backends in Python and TypeScript using Firebase, Cloud Functions, PostgreSQL, and Prisma. I've helped design and develop several frameworks, and I'm increasingly focused on systems built around LLM orchestration.

Selected work

Fitness007

Mobile app for the Fitness007 online store and a server-side integration layer connecting the app to the Shopsys platform.

Role: Development of the entire mobile app. Development of a significant part of the server integration, data layer, and data storage. Collaboration with the subcontractor on API and integration design.

  • Flutter
  • TypeScript
  • Next.js
  • PostgreSQL

Rock Point

App for sales staff in Rock Point, Hannah, and KEEN retail stores.

Role: Independent development of the mobile app and integration with server-side services.

  • Flutter

Personal voice-chat project combining speech recognition, an LLM, and speech synthesis.

Role: Native iOS development. Integration of Google and Apple speech recognition in parallel, the OpenAI API, and Google speech synthesis. Payments and analytics.

  • Swift
  • OpenAI API
  • Google Speech Services
  • Firebase Cloud Functions
  • RevenueCat
  • Analytics
  • Facebook Ads

Czech Radio app for listening to programmes, podcasts, audiobooks, and music.

Role: Ongoing development as part of the app team, including technology migrations and integration of a shared application framework.

  • Flutter

App connecting to sports devices that measure performance and technique in activities such as ski mountaineering and cycling.

Role: Implementation of the iOS side of Bluetooth communication. Integration of a low-level Bluetooth library and design of the communication layer between native iOS and Flutter. Additional work on the user interface.

  • Swift
  • Flutter

News app operated by MAFRA, a.s.

Role: Taking over the existing app, reviewing its code, and identifying technical debt and security issues. Ongoing maintenance and development, with new features planned in collaboration with the client.

  • Swift

Dating app for dogs and their owners, based on matching rules developed by the Koira Dog School.

Role: Independent development of the mobile app. Design and development of the backend, including formalizing the domain expert's rules and implementing the matching algorithm. Payment integration.

  • Flutter
  • Firebase Firestore
  • Firebase Cloud Functions
  • Python
  • RevenueCat

App for listening to Czech FM, DAB+, and internet radio stations.

Role: Development of the mobile app, including integration of a native playback engine, communication between the native and Flutter layers, and CarPlay implementation.

  • Flutter
  • Swift

Festival dating app for Kofola a.s., helping people find partners and friends at Colours of Ostrava, Beats for Love, and other festivals.

Role: Independent development of the mobile app. Design and development of the entire dating service backend, including its data model and application logic.

  • Flutter
  • Firebase Firestore
  • Firebase Cloud Functions
  • Python

Public transport app for the Czech Republic, developed as part of a public contract for the Ministry of Transport.

Role: Independent development and long-term maintenance of the iOS app.

  • Swift

App for registration and access management at the Don Shot shooting range.

Role: Independent development of the mobile app. Design and development of the backend, including data synchronization with the Dotykačka system.

  • Flutter
  • Firebase Firestore
  • Firebase Cloud Functions
  • Python

Pospooling

B2B app and website for presenting, configuring, and ordering reusable display stands for zero-waste retail.

Role: Development of the mobile and web apps, including a configurator using 3D models and textures. Design and development of the ordering system backend.

  • Flutter
  • glTF
  • GLB
  • Firebase Firestore
  • Firebase Cloud Functions
  • Python

Public transport app for the Moravian-Silesian Region. Departure times, journey planning, and ticket purchase and validation.

Role: Development and ongoing improvement of the entire iOS app.

  • Objective-C
  • Swift

App for monitoring live data from smart sensors in Czech municipalities.

Role: Ongoing development of the mobile app, including the integration of web content into the Flutter user interface.

  • Flutter

App for finding and reserving parking spaces in Pardubice.

Role: Development of the mobile app and integration with server-side services.

  • Flutter

Mbilet

Public transport app for the Polish city of Mielec.

Role: Independent development of the iOS app and integration with third-party server-side services.

  • Swift

iVysílání

Czech Television app for watching television programmes.

Role: Independent development of the client app based on the supplied design and server-side data sources.

  • Symbian
  • Qt

Public transport app for the Ostrava Public Transport Company. Departure times, journey planning, and ticket purchase and validation.

Role: Independent development and ongoing improvement of the iOS app.

  • Objective-C
  • Swift

App for senior citizens with a simplified user interface, video calls, and integration with services provided by retirement homes.

Role: Taking over a troubled legacy app, stabilizing it, and overhauling its technical foundations. Ongoing development and adaptation for new use cases and clients.

  • Objective-C
  • Swift

An EVOTECH s.r.o. app for tracking employee arrivals and departures using facial recognition.

Role: Taking over development and maintenance of the existing app. Implementation of new features, including the integration and optimization of a facial-recognition library.

  • Flutter
  • Kotlin
  • Java

Public transport app for the Polish city of Lublin.

Role: Development of the entire iOS app and integration with third-party server-side services.

  • Swift

Parkování Krajský úřad MSK

App Store – Parkování Krajský úřad MSK

App for finding parking spaces in the Moravian-Silesian Region.

Role: Independent development of the iOS app.

  • Objective-C
  • Swift

Manemo

App supporting made-to-measure suit production. It guides users through taking the required photographs and sends the data to the production team.

Role: Independent development of the mobile app.

  • Flutter

SmileCar

iOS car-sharing app, later merged with the HoppyGo project.

Role: Taking over development and maintenance of the existing app.

  • Swift

Colla

App for sharing data among construction workers.

Role: Development of the iOS app and contributions to its architecture and XMPP-based communication design.

  • Objective-C
  • XMPP

LookAtIt

Social network for sharing outfit photos and getting feedback before buying clothes.

Role: Development of the iOS app and contributions to its architecture and XMPP-based communication protocol.

  • Objective-C
  • XMPP

Ticketon

Ticket management app.

Role: Independent development of the iOS app based on the supplied visual design and server API.

  • Objective-C

iOpravna

App for a company providing Apple device repairs.

Role: Independent development of the iOS app based on the supplied visual design and server API.

  • Objective-C

Chytrá kuchařka

Recipe app.

Role: Independent development of the Windows Phone app based on the supplied design, including integration with server-side data.

  • Windows Phone
  • C#

iSport

App for reading sports news.

Role: Independent development of the Windows Phone app based on the supplied design, including integration with server-side data.

  • Windows Phone
  • C#

VOYO

App for watching television programmes.

Role: Independent development of the client app based on the supplied design and server-side data sources.

  • Symbian
  • Qt

Shared application framework

Role: Lead architect and one of the principal authors of an internal framework used across a number of newer Flutter apps. The framework provides a common architecture and shared functionality, evolving alongside the apps that use it.

  • Flutter
  • Dart

Who I am

A developer with experience in design, leadership, and communication

building software since
Mobile applications × AI
dozens of completed software products
End-to-end
engineering · architecture · leadership

I have been developing software since 2011, working as a freelancer on custom applications. I have worked with leading development studios including Inmite, Headmade, Madeo, and Asymbo. Together, we built mujRozhlas, iVysílání, Voyo, OneTicket, iDNES, and iSport, along with dozens of other apps. I built some independently and worked on others as part of a team.

Working with different development studios exposed me to a range of approaches to building software. I gained insight into project planning, frontend and backend development, as well as user interface design, marketing, and client communication. Along the way, I learned to collaborate effectively, lead others, and review their work.

Outside work, I am a husband and father of two. I spend much of my free time learning about how the world works. My interests include physics, neurobiology, psychology, geopolitics, and economics, as well as related areas of philosophy such as epistemology, philosophy of mind, and political philosophy. I have read hundreds of books. I like to understand things in depth and apply what I learn across disciplines. I play tennis regularly, and badminton and squash occasionally.

What I do

From Symbian to systems that orchestrate language models.

Career path

  1. C++ · Qt Symbian / Maemo
  2. C# Windows Phone
  3. Java Android
  4. Objective-C · Swift iOS
  5. Dart Flutter
  6. Python · TypeScript Cloud and backend integrations
  7. RAG · agents LLM systems

I built my first applications for Symbian and the experimental Maemo and MeeGo platforms. At the time, I worked in C++ with Qt. Applications for Windows Phone in C# and Android in Java followed. From 2012 onward, I focused almost exclusively on iOS applications. Around 2017, I began favoring cross-platform development with Flutter over native development in Objective-C and Swift.

Since 2024, I have also built backends using Python, Firebase, Cloud Functions, and Firestore, and more recently a TypeScript e-commerce backend with PostgreSQL and the Prisma ORM.

I studied Information Systems at the Faculty of Information Technology at Brno University of Technology. Both of my theses received awards. My bachelor's thesis placed third in both the interfaculty EEICT competition and the Czech round of Nokia's Calling All Innovators competition. My master's thesis placed first at EEICT. These achievements gave me the opportunity to work on major projects from the very beginning of my career.

Architecture

From a specific project to a reusable system.

Three system designs

  1. BTLN Framework design ↔ implementation
  2. Asymbo Framework server → native UI
  3. LookAtIt and Colla client ↔ client

The BTLN Framework is a toolkit for building user interfaces in Flutter and native iOS. Its predefined components combine into larger structures, with a consistent representation in both visual designs and app code. It also handles shared UI resources such as font families and weights, icons, and color styles. This reduces the need to rebuild UI components for each project and gives developers a common way to translate designs into code. The framework is based on my original design, and I am one of its developers.

The Asymbo Framework uses a server-driven UI architecture to generate mobile interfaces without the app needing to interpret the data it displays. The server composes the interface from native components, groups them into larger structures, and defines how they respond to user actions. I designed the application architecture, including the protocol the server uses to specify how the client assembles UI elements and handles their behavior.

LookAtIt and later Colla were social networks designed for communication in small user groups. The first focused on sharing and rating outfits among its users; the second supported communication between construction-site workers. For both products, I designed the client-to-client communication interface using the XMPP protocol.

AI projects

I build tools that help me think, read, and find connections.

Personal AI system

Second Brain

Second Brain is a system built with Node.js and TypeScript. It processes my essays and exported discussions, turning them into a map of my thinking. The project is loosely inspired by Andrej Karpathy, but I took the idea in a different direction to suit my own needs.

The system splits input data into smaller units, then coordinates LLMs to classify the ideas they contain and build a semantic graph of their connections. Its approximately ten thousand nodes capture ideas and opinions, tracing how they develop, where they contradict each other, and which questions remain open. The graph is exported as a wiki, an interactive visualization, and Markdown files for a custom GPT. GitHub repository – Second Brain

  • ≈ 10,000 nodes
  • idea evolution · contradictions · open questions

Books × LLM

FilosofGPT

FilosofGPT is a Node.js script written in JavaScript that processes my collection of EPUB and PDF books. Through repeated LLM calls, it classifies them by relevance, selects approximately 150 books, and converts them to Markdown. It annotates individual books, chapters, and pages, then combines the output into approximately 20 large Markdown files. These files serve as sources for my custom GPTs, FilosofGPT and PolyhistorGPT, which I use to discuss books I have recently read. GitHub repository – FilosofGPT

Voice × LLM

Blabber

When I first tried ChatGPT in February 2023, I was fascinated: I had never used anything like it. The model made more things up than it actually knew, but I could see its potential. My first thought was to explore what it could do through voice conversations.

So I built Blabber, a mobile app combining Google’s speech recognition and speech synthesis with a language model from OpenAI. A colleague designed the interface, and I developed and released the app. I no longer develop it because its original integrations have become outdated.

AI data processing

RAG & fine-tuning

I built two RAG systems: one using the Czech Collection of Laws, the other using content from the Koira Dog School. Both used Python and the Qdrant vector database to power chatbots for legal questions and dog training. GitHub repository – RAG & fine-tuning

I also built a prototype to streamline the work of judicial enforcement officers. Through a lightweight application layer, it called a fine-tuned model to generate documents for the register of enforcement orders from templates.

Language models and the systems built around them open up possibilities few could have imagined a few years ago.