Michał Sułek
Software development
Mobile, frontend and backend - specialising in mobile.
Software development
Mobile, frontend and backend - specialising in mobile.
NIP: 6751717948
What I do
Senior software engineer based in Kraków, with over twelve years of commercial experience. Mobile is where I specialise, but I build the whole product: the applications, the web front end and the services behind both. I have worked as the sole developer, as part of a twenty-person in-house team, and as the person leading one.
Native Android in Kotlin, Jetpack Compose and MVVM. Cross-platform in Flutter, shared business logic with Kotlin Multiplatform, and enough iOS to stay useful on both sides of a release. Bluetooth Low Energy, maps and location search, rugged handheld scanners, payment providers with split settlement - the parts that tend to go wrong late.
Web applications in Flutter Web and in React with TypeScript. Admin panels, data tables, document and spreadsheet import and export: the interfaces people sit in all day, rather than pages they scroll past once.
REST services in Node.js and Ktor, with PostgreSQL, MongoDB or Firestore behind them. Authentication, permissions, rate limiting and logging. Usually the endpoints an application actually needs, written by the person who then has to consume them.
Selected work
Client names are left out on purpose. What follows is the work itself.
A complete system built end to end under my own contract: a Flutter web panel for the office, a companion mobile application for site managers in the field, and the Node.js and PostgreSQL service underneath. Projects, offers and scheduling across three permission levels, document and spreadsheet import and export, JWT authentication, rate limiting and rotating audit logs.
Flutter Web · Dart · Node.js · Express · PostgreSQL
Map and location-based discovery in a white-label Android application serving two brands from a single codebase: nearby offer lookups, map pins and viewport handling, place autocomplete and the home-screen map module. Release manager on rotation.
Kotlin · Jetpack Compose · Koin · Google Maps SDK · Amplitude
Two years on the customer-facing Android application of a nationwide chain of petrol stations, leading the mobile team: paying for fuel from the app, finding stations on the map, browsing discounts and the loyalty programme.
Android · Kotlin · Maps · Team lead
Sole mobile developer on an application built from scratch for Android and iOS. Native login, registration, settings and deposit flows wrapped around the operator web platform, plus the backend endpoints the app needed.
Flutter · Dart · Node.js
A new shopping application built on Kotlin Multiplatform, so one shared module served both Android and iOS instead of two teams writing the same logic twice. Module boundaries, API contracts and the release process agreed with the iOS side.
Kotlin Multiplatform · Ktor · Android
Took an application over from a previous vendor and rewrote its entire Bluetooth Low Energy layer: scanning, connection handling, paired-device storage and data exchange with wireless reaction lights. Noticeably steadier during training sessions.
Android · Flutter · BLE
Back-office Android application for rugged handheld scanners, covering goods intake, shelf and refrigerator placement, and order picking for drive-up collection. The whole path from delivery to customer handled in one tool.
Android · Kotlin · Zebra handhelds
An Android digital dashboard that pairs with an engine control unit over Bluetooth and shows live telemetry - oil pressure, temperature, RPM - during tuning sessions and competition.
Android · Java · Bluetooth
Stack
Contact
Open to contract work and to problems that are more interesting than they first look. Email is the fastest way to reach me.