Mobile developer · Poland

Daniel Kurasiński

I build Kotlin Multiplatform apps and run a small indie studio.

Kotlin and Compose for Android and iOS from one codebase. Ktor on the server. Small apps that do one job well, shipped and looked after. If you need something built, contact me.

What I do

I am a mobile developer. My main stack is Kotlin Multiplatform: Kotlin and Compose let me build apps for Android and iOS from one codebase. iOS versions are planned.

I design apps the way I would want to use them: one job, quick to open, no account unless it is needed.

I run Daniel Studio, a one-person studio. Four apps are on Google Play, from a Bluetooth remote to a family shopping list. When an app needs a server I write that too, and I build and host the websites myself.

Games are the side I am growing into. I work in Polish and English.

Skills

What I use day to day, grouped by where it lives.

Kotlin Multiplatform

My main stack. Kotlin and Compose let me build apps for Android and iOS from one codebase. iOS versions are planned.

  • Kotlin Multiplatform
  • Compose Multiplatform
  • Kotlin
  • Jetpack Compose
  • Material 3
  • Clean Architecture
  • Multi-module Gradle
  • Hilt
  • Room
  • WorkManager
  • Paging 3
  • Navigation
  • DataStore
  • CameraX
  • Coil
  • Home-screen widgets
  • Deep and app links
  • MockK
  • Turbine
  • Robolectric

AI and tooling

I run models on my own machine, work with agents and MCP, and use AI both in how I build and in what I ship.

  • Local LLMs with Ollama
  • LM Studio
  • Prompt engineering
  • Model Context Protocol (MCP)
  • Agents
  • AI-assisted development
  • AI features in apps
  • On-device ML
  • ML Kit barcode scanning
  • On-device OCR

Backend

Enough server to give an app sync and accounts, and to run it myself.

  • Ktor 3 on Netty
  • PostgreSQL
  • JWT auth
  • Ktor client
  • kotlinx.serialization
  • SSE sync
  • Prometheus metrics
  • Docker
  • Caddy
  • Firebase Auth

Web and games

Plain static web where that is all a page needs, and a game on the side.

  • Astro
  • Hand-written CSS
  • npm workspaces
  • Godot 4
  • GDScript
  • Blender (some)

Product and shipping

Getting an app in front of people and keeping it healthy there.

  • Google Play releases
  • Play Billing
  • RevenueCat
  • AdMob
  • Play In-App Updates
  • Firebase Crashlytics and Analytics
  • Polish and English localisation
  • WCAG AA contrast
  • SEO

Things I have built

Apps I designed, wrote and publish. All of them are small on purpose. iOS is planned for all of them except KeyBeam, which is Android-only.

  • KeyBeam app icon

    KeyBeam

    Turns a phone into a Bluetooth mouse, keyboard and TV remote. Nothing to install on the computer or TV.

    Android, Bluetooth

  • Backmarker app icon

    BackmarkeriOS planned

    Live Gran Turismo 7 telemetry dashboard over UDP on Wi-Fi: about 50 widgets, a layout editor and lap analysis. An unofficial fan app.

    Kotlin Multiplatform

  • TimeMate app icon

    TimeMateiOS planned

    Remembers when you last did something and reminds you when it is time again. Works offline, in English and Polish.

    Local reminders, RevenueCat

  • ListyMate app icon

    ListyMateiOS planned

    Shared family shopping list that syncs between phones and works offline. Invite by QR code, loyalty cards, widgets, Polish and English.

    Offline-first sync, own backend

In progress: an idle and automation game in Godot 4, with a headless tool to test its balance. More about the apps at Daniel Studio.

How I work

  1. Small and focused

    One app, one job. I would rather make something that does a single thing well than a toolbox.

  2. Offline first

    Your data lives on the phone, and the app keeps working without a connection. Sync is an extra, not a requirement.

  3. Accessible

    Readable contrast, big touch targets, motion that respects the system setting. I check it, not assume it.

  4. AI as a tool

    I use AI assistants as part of how I work. I read what they write, and I own the result.

  5. Shipped and maintained

    An app is not done at release. I fix, update and answer, and I run the servers myself.

Need something built?

Contact me and tell me what you have in mind. I work in Polish and English.