Experience

Where I Worked, and How

The projects behind the CV: what each product was, how it was built, and who I built it with.

Sep 2026 – Present

NEOGOV

Senior Software Engineer

Remote (US)

Part of the mobile team at NEOGOV, a US company building HR software for the public sector: 4 software engineers, a team lead, an engineering manager, 2 QA engineers, a designer, a PM and a PMO.

NEOGOV mobile app

Senior software engineer

Flutter mobile app for NEOGOV's HR platform, used by US public-sector agencies and their employees. New features shipped end to end, from the mobile UI to the GraphQL contract with the backend.

  • Develop new features in Flutter against a .NET backend over GraphQL, with SQL Server as the database.
  • Build AI features on AWS Bedrock, with Langfuse for LLM tracing, evals and observability.
  • Agentic development is the main driver of the work: the team ships with a shared Claude Code project template and custom skills, with agents doing the first pass on implementation, tests and review.
  • Run the full backend stack locally in Docker to test the mobile app against a real server before it reaches QA.
  • Automate builds and store releases with fastlane.
Stack
FlutterDartGraphQL.NETSQL ServerAngularAWSAmazon BedrockLangfuseClaude CodeDockerfastlane
Team
One of 4 software engineers on the mobile team, with a team lead, an engineering manager, 2 QA engineers, a designer, a PM and a PMO.

Jun 2023 – Sep 2026

Layer Four Digital Solutions

Senior Software Engineer

Kassel, Germany

Project lead for the company's startup initiatives, FivEnergy and Zeck: client meetings, project estimates, roadmaps and planning, hiring interviews, and leading a 3-developer frontend team on architecture. Made agentic development the team's main driver along the way: Claude Code with custom skills, MCP servers, hooks and subagents, an agent that generates Storybook components on every push, and LLM-backed product features. Merged PRs per week roughly tripled after the switch.

FivEnergy

Project lead & lead frontend developer

Smart-home and energy-management platform: a Flutter mobile app and a Next.js web app for monitoring and controlling building systems. Cut energy costs by up to 60% in commercial buildings across Germany.

  • Led the project: client meetings, estimates, roadmap and planning, hiring interviews, and the frontend architecture.
  • Implemented Azure AD B2C for authentication, including custom auth policies.
  • Implemented deep linking with Firebase Cloud Messaging to trigger automatic push notifications on hardware error reports.
  • Set up Sentry for logging and crash analytics.
  • Automated releases with GitHub Actions and Codemagic, cutting release time by 30% and appending release notes for testers in TestFlight.
  • Used Storybook for component testing, and built an AI agent with Copilot and Claude that generates Storybook components on new pushes, speeding up design review.
  • Wrote Python scripts run directly on hardware over the CCU (central control unit).
  • Containerized the platform services with Docker and ran them on Kubernetes clusters on Azure, one cluster per building.
  • Set up the team's Claude Code workflow: custom skills, MCP servers, hooks, subagents and CLAUDE.md conventions, for roughly 3x more merged PRs per week.
Stack
FlutterDartNext.jsReactTypeScriptAzure AD B2CFirebase Cloud MessagingSentryStorybookClaude CodeMCPGitHub CopilotDockerKubernetesGitHub ActionsCodemagicPython
Team
Lead of a 3-developer frontend team, alongside 2 backend developers, 3 embedded developers on hardware, a dedicated designer, a product manager and a project manager.

Zeck

Project lead & lead frontend developer

Flutter web app for German grid providers that helps plan power line construction across Germany, visualizing land property data and parcel layers. Won a €2M public tender.

  • Led the project: client meetings, estimates, roadmap and planning, and the frontend architecture.
  • Used ArcGIS to display geodata and layer data.
  • Built a standalone React app to host the ArcGIS SDK and embedded it inside Flutter Web, since ArcGIS has no direct Flutter support.
  • Built a geodata inspection assistant on the Mistral AI model that turns natural-language questions into structured queries against the layer data, backed by an eval set of real user questions.
  • Set up CI/CD with GitHub Actions and a Node.js app to manage releases, serving the Flutter web app directly on Azure.
Stack
Flutter WebDartReactTypeScriptArcGISMistral AINode.jsGitHub ActionsAzure
Team
Frontend team of 3 Flutter developers and 1 GIS developer with me leading, alongside 2 backend developers, a dedicated designer and a PM.

Dehyves

Sole developer

German social app for DIY projects, where users showcase what they have built.

  • Built the mobile app in Flutter.
  • Set up push notifications for influencer outreach on Google Cloud, using Cloud Functions, Firebase Cloud Messaging and Cloud Firestore.
  • Used Three.js to create custom 3D models showcasing user projects.
Stack
FlutterDartThree.jsGoogle Cloud FunctionsFirebase Cloud MessagingCloud Firestore
Team
Only developer on the project, working with a dedicated designer and a PM.

MyTool

Frontend developer

Blazor web app for managing factory production lines: storing BOMs (bills of materials) and product schemes, and printing product manufacturing specifications.

  • Built the production line management UI, covering BOM storage, product schemes and specification printing.
Stack
Blazor.NETC#
Team
Worked with 1 full stack developer, 1 backend developer and a PM.

2022 – Present

Solar Blue d.o.o.

Founder

Zagreb, Croatia

My own company, run alongside employment: consumer apps I build and operate myself, and custom mobile and web apps for clients.

Specko

Solo developer

Daily monitor for Croatian hospital specialization tenders, so doctors see every new opening in one place instead of checking dozens of hospital websites. Live on the App Store and Google Play with paying subscribers.

  • Built a background service that scrapes 10+ hospital and government sources every few hours into Supabase.
  • Built the Flutter app (Riverpod) and the Next.js web app and backend on Vercel, reading instantly from the database.
  • Sent push notifications through Firebase Cloud Messaging the moment a new tender is published.
  • Set up subscription billing with RevenueCat.
Stack
FlutterRiverpodNext.jsSupabaseVercelFirebase Cloud MessagingRevenueCat
Team
Solo: product, design, development and operations.

Imenko

Solo developer

Baby-name app where both partners swipe through 3,000+ researched Croatian names and get notified the moment they match. Live on the App Store and Google Play.

  • Built a researched database of 3,000+ names with meaning, origin, name day and popularity trends from official statistics.
  • Built partner sync over a QR code or link, with a push notification when both partners like the same name.
  • Set up a single RevenueCat subscription that unlocks the app for both partners.
Stack
FlutterRiverpodNext.jsSupabaseVercelFirebase Cloud MessagingRevenueCat
Team
Solo: product, design, development and operations.

Client work

Founder & developer

Custom mobile and web apps built for clients.

  • Scope each project with the client, estimate it, and deliver it from first build to release.
Stack
FlutterNext.jsReactSupabase
Team
Direct contracts with clients, working solo.

Sep 2022 – Jun 2023

Infobip

Software Engineer

Zagreb, Croatia

Part of the Mobile Messaging team: a PM, a team lead, an engineering manager and 8 software engineers.

Mobile & web push-notification channel

Software engineer

Push-notification channel for enterprise clients, including US grocery chains, at a scale of 10M+ marketing campaign messages.

  • Maintained the web push-notification channel in vanilla JavaScript and React.
  • Backend was Kotlin, with rotational weekly on-call to keep the system running.
  • Redis was used as an in-memory store for caching.
Stack
JavaScriptReactKotlinRedis
Team
One of 8 software engineers on the team, with a PM, a team lead and an engineering manager.

Infobip Mobile SDKs

Software engineer

Client SDKs that customers integrate to receive push notifications, maintained across five platforms.

  • Maintained the SDKs for Flutter, iOS, Android, React Native and Cordova.
  • Responded to user bug reports and queries.
  • Migrated changes and kept the SDKs current with the latest platform releases.
  • Automated plugin release cycles with Jenkins pipelines: build, test and publish for each platform.
  • Containerized the SDK build and test environments with Docker so Jenkins runs were reproducible across all five platforms.
Stack
FlutteriOS (Swift)Android (Kotlin)React NativeCordovaJenkinsDocker
Team
Same Mobile Messaging team, owning SDK maintenance.

Feb 2022 – Sep 2022

Cinnamon

Software Developer

Zagreb, Croatia

Software developer working exclusively on mobile, outsourced to Bots, a Dutch fintech startup with over 1M downloads.

Bots: KYC onboarding

Flutter developer

Rebuilt the KYC (know your customer) onboarding flow in the Bots app to make registration easier and let users save document changes, increasing the customer funnel conversion rate.

  • Improved the KYC onboarding flow in Flutter, increasing paid onboarding conversion by a factor of 4.
  • Used Firebase Cloud Messaging to send push notifications and improve user retention.
  • Authored Flutter development guides for Cinnamon's internal Flutter Academy, helping onboard new developers.
Stack
FlutterDartFirebase Cloud Messaging
Team
Part of the onboarding team: a PM, a dedicated QA tester, a team lead and 2 Flutter developers including me.

Apr 2019 – Feb 2022

AVL

  1. Software Test EngineerFeb 2021 – Feb 2022
  2. Junior Software Test EngineerApr 2019 – Feb 2021

Zagreb, Croatia

Part of the QA team: 10 testers and a team lead. Promoted after two years, taking on ownership of test coverage and QA standards across products.

Vehicle engine design test automation

Software test engineer

Automated test suites for commercial automotive engineering software used in vehicle engine and powertrain design: AVL Cruise M, AVL Excite and AVL Boost.

  • Built automated test suites in Python.
  • Reduced production crash rates by 10% through increased code coverage and regression tests.
  • Wrote Python scripts run directly on hardware control units.
Stack
PythonTest automationRegression testing
Team
One of 10 testers under a team lead.