[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"technologies":3,"portfolio-projects":167},[4,10,15,21,26,32,38,43,48,53,58,63,68,73,77,82,87,92,97,103,108,113,118,123,128,133,138,143,147,152,157,162],{"title":5,"description":6,"slug":7,"category":8,"icon":9},"Android","Every app we ship reaches Android — platform APIs, background execution, permissions, and the store requirements that come with them.","android","framework","logos:android-icon",{"title":11,"description":12,"slug":13,"category":8,"icon":14},"Angular","The front-end framework we work in when a product is already Angular — a batteries-included structure that suits large, long-lived apps.","angular","logos:angular-icon",{"title":16,"description":17,"slug":18,"category":19,"icon":20},"Dart","The language every Flutter app we ship is written in — sound null safety, real pattern matching, and a compiler that targets native and the web.","dart","language","logos:dart",{"title":22,"description":23,"slug":24,"category":8,"icon":25},"Django","The Python framework we use when a product needs an admin, auth and a real data model on day one rather than a hand-rolled service.","django","logos:django-icon",{"title":27,"description":28,"slug":29,"category":30,"icon":31},"Docker","Every service we build ships as a container, so what runs on a laptop, in CI and in production is one artefact rather than three of them.","docker","infrastructure","logos:docker-icon",{"title":33,"description":34,"slug":35,"category":36,"icon":37},"Fastlane","The release automation behind our mobile work — signing, builds and store uploads run from CI instead of from one engineer's laptop on release day.","fastlane","tools","logos:fastlane",{"title":39,"description":40,"slug":41,"category":8,"icon":42},"Flutter","Our primary mobile stack since 2018 — one Dart codebase shipping to iOS, Android, web and desktop without a separate team per platform.","flutter","logos:flutter",{"title":44,"description":45,"slug":46,"category":36,"icon":47},"Git","Every project we touch lives in Git — reviewed pull requests, CI on every branch, and a history that still makes sense months later.","git","logos:git-icon",{"title":49,"description":50,"slug":51,"category":19,"icon":52},"Go","Our backend language for real-time APIs and services under load — small binaries, fast builds, and concurrency that stays readable.","go","logos:gopher",{"title":54,"description":55,"slug":56,"category":30,"icon":57},"Google Cloud","The cloud our production workloads run on — managed Kubernetes, storage and networking, without hand-built servers nobody wants to maintain.","gcp","logos:google-cloud",{"title":59,"description":60,"slug":61,"category":36,"icon":62},"Gradle","The build system every Android release goes through — product flavours, signing configs, and the dependency wiring under a Flutter app.","gradle","logos:gradle",{"title":64,"description":65,"slug":66,"category":30,"icon":67},"Helm","How we package a Kubernetes deployment — service, config, secrets and ingress as one versioned unit that can be promoted and rolled back.","helm","logos:helm",{"title":69,"description":70,"slug":71,"category":19,"icon":72},"Kotlin","What we reach for when a Flutter app needs real Android underneath it — platform channels, background work, and native SDK integrations.","kotlin","logos:kotlin-icon",{"title":74,"description":75,"slug":76,"category":8,"icon":72},"Kotlin Multiplatform","Sharing business logic across iOS and Android while each platform keeps its own native UI — the alternative when Flutter is not the right fit.","kmp",{"title":78,"description":79,"slug":80,"category":30,"icon":81},"Kubernetes","How we run services in production — Helm-packaged deployments, rollouts that can be rolled back, and scaling that does not need a person at 3am.","kubernetes","logos:kubernetes",{"title":83,"description":84,"slug":85,"category":30,"icon":86},"NATS","Lightweight messaging between services — publish\u002Fsubscribe and request\u002Freply without the operational weight of a full broker cluster.","nats","logos:nats-icon",{"title":88,"description":89,"slug":90,"category":8,"icon":91},"Nuxt","Vue with server rendering, routing and SEO handled — how we build marketing sites and web apps that must be fast and indexable on first load.","nuxt","logos:nuxt-icon",{"title":93,"description":94,"slug":95,"category":19,"icon":96},"PHP","Where we work with an existing PHP backend — extending it, integrating with it, and building the mobile and web clients it has to serve.","php","logos:php",{"title":98,"description":99,"slug":100,"category":101,"icon":102},"PostgreSQL","Our default database — the one we reach for unless a product gives us a specific reason not to, from schema design through to index tuning.","postgres","database","logos:postgresql",{"title":104,"description":105,"slug":106,"category":19,"icon":107},"Python","Our language for backends, data work and AI integrations — including the Python bindings we ship for our own Rust tooling.","python","logos:python",{"title":109,"description":110,"slug":111,"category":8,"icon":112},"React","The front-end library we work in when a product is already React — components, hooks, and the ecosystem that has grown around them.","react","logos:react",{"title":114,"description":115,"slug":116,"category":101,"icon":117},"Redis","Where we put data that has to be fast and can be rebuilt — caches, sessions, rate limits, and the queues behind a product's slow paths.","redis","logos:redis",{"title":119,"description":120,"slug":121,"category":19,"icon":122},"Ruby","The language our mobile release automation is written in — Fastlane lanes, custom actions, and the CI glue that ships builds to the stores.","ruby","logos:ruby",{"title":124,"description":125,"slug":126,"category":19,"icon":127},"Rust","Where we go when performance and correctness both matter — document rendering, CLI tooling, and services that have to stay fast and predictable.","rust","simple-icons:rust",{"title":129,"description":130,"slug":131,"category":101,"icon":132},"SQLite","The database that ships inside the app — local caches, offline-first storage, and anything that still has to work with no network.","sqlite","logos:sqlite",{"title":134,"description":135,"slug":136,"category":8,"icon":137},"Strapi","A headless CMS we reach for when editors need to own the content — a real admin and a clean API, without building either from scratch.","strapi","logos:strapi-icon",{"title":139,"description":140,"slug":141,"category":19,"icon":142},"Swift","What we reach for when a Flutter app needs real iOS underneath it — platform channels, native SDK integrations, widgets and App Clips.","swift","logos:swift",{"title":144,"description":145,"slug":146,"category":8,"icon":142},"SwiftUI","Apple's UI framework, where we build the native surfaces a Flutter app cannot own — widgets, App Clips, extensions and system integrations.","swiftui",{"title":148,"description":149,"slug":150,"category":8,"icon":151},"Tailwind CSS","How we style every front end we build — utility classes and design tokens instead of a stylesheet that only ever grows and is never deleted.","tailwind","logos:tailwindcss-icon",{"title":153,"description":154,"slug":155,"category":19,"icon":156},"TypeScript","The default for everything we write for the browser and for Node services — types that catch integration bugs before they reach a review.","typescript","logos:typescript-icon",{"title":158,"description":159,"slug":160,"category":8,"icon":161},"Vue","Our front-end framework for admin panels, merchant dashboards and product web apps that have to stay maintainable for years, not sprints.","vue","logos:vue",{"title":163,"description":164,"slug":165,"category":36,"icon":166},"Whisper","OpenAI's open-source speech recognition model — the transcription engine behind voice input, running as both a backend service and on-device in the app.","whisper","simple-icons:openai",[168,180,191,205,216,227,238,249],{"title":169,"description":170,"image":171,"technologies":173,"categories":174,"client":176,"id":177,"date":178,"slug":179},"Arcana","Arcana is an AI-powered tarot card companion app that delivers personalized card readings through a chat interface. We built the Flutter client with a focus on rendering performance — smooth scrolling through thousands of messages and real-time markdown rendering streamed via SSE.",{"alt":169,"url":172},"\u002Fprojects\u002Farcana\u002Fhero.webp",[41,18],[175],"mobile",null,"projects_en\u002Fportfolio\u002Farcana.md","2026-02-10","arcana",{"title":181,"description":182,"image":183,"technologies":185,"categories":186,"client":187,"id":188,"date":189,"slug":190},"YouMi","YouMi is an online counseling service with a psychologist. In the application, you can select a specialist for yourself, schedule a session, and reschedule or cancel it if your plans change. A chat with a psychologist is also available, so you can clarify information or receive links to useful resources from a specialist outside of sessions.",{"alt":181,"url":184},"\u002Fprojects\u002Fyoumi\u002Fhero.webp",[41,18],[175],"YouMi LLC","projects_en\u002Fportfolio\u002Fyoumi.md","2025-08-05","youmi",{"title":192,"description":193,"image":194,"technologies":197,"categories":198,"client":201,"id":202,"date":203,"slug":204},"Cashback & Loyalty App Platform","A white-label cashback and loyalty platform for offline shops — 15+ branded mobile apps from one Flutter codebase, a merchant app for configuring custom cashback rules (birthday, invitation, per-purchase), and an admin UI that launches new branded apps automatically.",{"alt":195,"url":196},"Cashback & Loyalty App Platform: visuals withheld under NDA","\u002Fprojects\u002Fcashback-loyalty-platform\u002Fhero.webp",[41,18,155,90,160,95,100,121,35],[175,199,200],"backend","web","nda","projects_en\u002Fportfolio\u002Fcashback-loyalty-platform.md","2025-08-01","cashback-loyalty-platform",{"title":206,"description":207,"image":208,"technologies":210,"categories":211,"client":212,"id":213,"date":214,"slug":215},"OneTwoDo","OneTwoDo is a cross-platform local services marketplace app built in Flutter. Users browse and post listings for everyday services — cleaning, repairs, painting, plumbing, moving, beauty, and more — with localized descriptions, flexible pricing, and photos, then connect with providers nearby.",{"alt":206,"url":209},"\u002Fprojects\u002Fonetwodo\u002Fhero.webp",[41,18],[175],"Perform Connect Studios S.L.","projects_en\u002Fportfolio\u002Fonetwodo.md","2024-09-23","onetwodo",{"title":217,"description":218,"image":219,"technologies":221,"categories":222,"client":223,"id":224,"date":225,"slug":226},"Jepta","Jepta is a hyperlocal communication app for German neighborhoods. Neighbors talk in chats tied to their street or building, local businesses run channels with posts, opening hours and comments, and everything a user sees is ranked by how close it actually is. We built the Flutter app for iOS and Android — a large screen surface with a WebSocket layer behind every chat and channel.",{"alt":217,"url":220},"\u002Fprojects\u002Fjepta\u002Fhero.webp",[41,18],[175],"Netgineers GmbH","projects_en\u002Fportfolio\u002Fjepta.md","2023-06-01","jepta",{"title":228,"description":229,"image":230,"technologies":233,"categories":234,"client":201,"id":235,"date":236,"slug":237},"Real-Time Bot Detection Platform","A real-time scoring platform that tells automated traffic from real people — a vanilla-JavaScript signal collector, Go scoring services, and a Google Cloud data platform on Kubernetes handling tens of thousands of requests per minute.",{"alt":231,"url":232},"Real-Time Bot Detection Platform: visuals withheld under NDA","\u002Fprojects\u002Frealtime-bot-detection-platform\u002Fhero.webp",[51,100,116,80,56],[199,200],"projects_en\u002Fportfolio\u002Frealtime-bot-detection-platform.md","2023-02-01","realtime-bot-detection-platform",{"title":239,"description":240,"image":241,"technologies":243,"categories":244,"client":245,"id":246,"date":247,"slug":248},"ExtraETF","Built with Flutter and Go, ExtraETF delivers real-time market data, interactive charts, portfolio tracking, and premium features across iOS and Android platforms.",{"alt":239,"url":242},"\u002Fprojects\u002Fextraetf\u002Fhero.webp",[41,18,51],[175,199],"Isarvest GmbH","projects_en\u002Fportfolio\u002Fextraetf.md","2022-04-17","extraetf",{"title":250,"description":251,"image":252,"technologies":255,"categories":256,"client":257,"id":258,"date":259,"slug":260},"Formtastic","A platform for online forms and surveys, designed for growth and high load",{"alt":253,"url":254},"Formtastic — Digital Forms logo","\u002Fprojects\u002Fformtastic\u002Fhero.webp",[41,18,90,155,100,24,106,51,165],[175,199,200],"Formtastic GmbH","projects_en\u002Fportfolio\u002Fformtastic.md","2022-01-10","formtastic"]