Skip to content

Available for new projectsBălți, Moldova · UTC+2 · works across EU hours · remote

Andrei Ciugureanu

Cross-platform apps that hold up in production.

Flutter for iOS, Android and desktop from a single codebase, with Java, Spring Boot and Serverpod behind them — including the unforgiving end of it: point-of-sale software integrated with ATOL fiscal printers and PAX payment terminals.

Measured in production — each number's method is on its case study

>99.5%
checkout uptime
12 tills · 4 sites · 6 months
−32%
p95 API latency
3 hottest endpoints, live traffic
1,240
monthly active users
Firebase, July 2026
~3h
dev onboarding, was ~2 days
measured on 3 new hires
Work delivered for
  • Extenda Retail
  • Azat.team
  • Power IT S.R.L.
  • Dana Fitness

Case studies

Selected work

Three systems that went into production and stayed there.

Fuel retail POS & Dart SDK

Azat.team · Extenda Retail

A Flutter desktop point-of-sale and a proprietary Dart SDK for multi-site fuel retail, integrated with ATOL fiscal printers and PAX payment terminals.

>99.5% checkout uptime
12 tills across 4 sites, over 6 months in production (Jan–Jun 2026). Blackbox probes once a minute against /health and against a real order-placement scenario, plus Sentry for 5xx. Downtime counted as two or more consecutive failed probes. Planned deployments were not excluded from the figure.
  • Flutter
  • Dart
  • Serverpod
  • JavaFX
  • ATOL
Read the case study

Legacy Java platform modernization

Power IT S.R.L.

Modernizing a 10,000+ LOC legacy Java application: 400+ classes refactored, environments standardized in Docker, and a national registry integration added.

p95 latency down ~32% on the three hottest endpoints
List, cart and checkout, measured in APM on live traffic — the week before the release against the week after. GET /orders went from 820 ms to 560 ms at p95. The cause was specific rather than general: an N+1 removed, a composite index added on (user_id, created_at), and reference data moved into Redis behind a 5-minute TTL.
Developer onboarding from ~2 days to ~3 hours
Timed from cloning the repository to the first green test run, across three new developers. Previously ~2 days of manual setup following an outdated README; afterwards `docker compose up`, seed data, and a rewritten README.
  • Java
  • Spring Boot
  • Spring Security
  • Hibernate/JPA
  • Docker
Read the case study

Cross-platform fitness app

Dana Fitness

A Flutter fitness application built from scratch with real-time tracking, at 1,240 monthly active users as of July 2026.

1,240 monthly active users
MAU for July 2026 in Firebase Analytics, against 3,800 total installs reported by Google Play Console; daily actives around 180.
Time to first key action down ~40%
Median from install to first target action went from 4:10 to 2:30, measured on the Firebase funnel across roughly 600 new users, after the flow was cut from six screens to three.
  • Flutter
  • Dart
  • Firebase
  • BLoC
Read the case study

Services

How I can help

Three ways to work together. Every engagement starts with a call and a written scope before anyone commits.

Flutter product build

One codebase across mobile and desktop, shipped in demoable increments.

Building Flutter applications end to end — mobile, desktop, or both — with the backend behind them. Weekly builds you can run yourself, source in your repository from the first commit.

Typical duration
6–10 weeks
Details

POS & fiscal hardware integration

A till that talks to its hardware — and keeps talking when the network doesn't.

Connecting point-of-sale and kiosk software to fiscal printers, payment terminals and government fiscal APIs, behind an interface your team can actually test against.

Typical duration
2–4 weeks
Details

Legacy Java modernization

A codebase your next hire can run on day one instead of week two.

Taking an ageing Spring or plain Java system and making it maintainable again — without a rewrite and without stopping the business that depends on it.

Typical duration
From 1 week (assessment)
Details

Process

How working together goes

No surprises, and no long proposal documents that say nothing.

  1. 01

    A call

    Twenty minutes. You describe the problem; I tell you whether it is something I have done before. If it isn't, I say so.

  2. 02

    A written scope

    What I will build, what I will not, what it depends on, and how long it takes. You get this before committing to anything.

  3. 03

    Milestones you can run

    Work lands in increments you can open and try yourself, not in a single delivery at the end. Source lives in your repository from day one.

  4. 04

    Handover that holds

    Documentation covering the protocol, the failure modes and the operational quirks — the things that are expensive to rediscover.

Proof

References & verification

Each reference names its source, so you can check it rather than take my word for it.

He adapted effectively to evolving technical requirements, including transitions between different technologies, which contributed to the continuity and progress of the projects.
Mihail Guțu, CEO
Employment reference letter, 19 June 2025 — confirms August 2022 – May 2025
Full signed letter available on request
Andrei's expertise in Java and Flutter was invaluable in architecting our POS systems. He delivers high-quality code.
Shevket Semedlyaev, CEO
Azat.team

Track record

Experience

  1. Lead Flutter & Serverpod Engineer

    Jun 2025 — Present

    Azat.team · Extenda Retail · Remote

    • Architect and deliver a Flutter desktop POS
    • Develop a proprietary Dart SDK
    • Engineer a JavaFX kiosk terminal
    • Lead development of the 'Green Apple' app
    • Integrate ATOL and PAX terminals
  2. Java Backend Developer

    Aug 2022 — May 2025

    Power IT S.R.L. · Bălți, Moldova (Remote)

    • Modernized a 10,000+ LOC legacy Java application
    • Created standardized environments with Docker
    • Refactored 400+ Java classes
    • Built a new reporting module
    • Integrated the national cadastral registry API

Stack

What I reach for, and what I have shipped to production with.

Backend & Web

  • Java
  • Spring Boot
  • Spring Security
  • Hibernate/JPA
  • Microservices
  • REST APIs

Mobile & Client

  • Flutter
  • Dart
  • Serverpod
  • JavaFX
  • BLoC
  • Kiwi DI

Database & Cloud

  • PostgreSQL
  • Redis
  • SQL
  • Firebase
  • AWS (EC2, DynamoDB)

DevOps & Tools

  • Docker
  • Git
  • CI/CD
  • JUnit
  • Sentry

About

I'm a software engineer building cross-platform products since 2022 — Flutter across iOS, Android and desktop from one codebase, with Java, Spring Boot and Serverpod behind them. The work runs from consumer apps to the place software meets physical retail: tills, fiscal printers, payment terminals, self-service kiosks and the backends that keep them reconciled.

A checkout is an unforgiving place to ship software. The receipt has to be fiscally valid whether or not the site's link to head office is up; the till has to reconcile after a printer jams; a station opens at 6am regardless of how last night's release went. Most of what I know comes from that constraint — and from nearly three years before it spent modernizing a legacy Java platform until a new developer could run it locally in hours instead of days.

Education & languages

  • Java Development ProgramSkillBox · 2019–2021
  • Future Leaders Program (PGLF)2021
  • Cambridge FCEEnglish B2

Languages

  • RussianNative
  • RomanianNative
  • EnglishB2

FAQ

Questions people ask first

What do you actually specialize in?

Cross-platform product work: one Flutter codebase covering iOS, Android and desktop, with a Java, Spring Boot or Serverpod backend behind it. Within that, the place I am genuinely hard to replace is software that runs a checkout — tills, self-service kiosks, and the integration that connects them to fiscal printers and payment terminals.

Do you work remotely, and in which hours?

Remote, from Bălți, Moldova (UTC+2). That overlaps a full working day with the whole of Europe and most of the morning for the US East Coast. I have worked remotely for my entire career.

Which languages can we work in?

Russian and Romanian natively, and English at a professional working level (Cambridge FCE, B2). Documentation and code comments in English by default unless you prefer otherwise.

Can you sign an NDA?

Yes, and I would rather you asked. Client screens and internal figures do not go on this site without written permission — where an agreement covers the UI, I describe the architecture instead.

I don't have the hardware in-house. Can you still integrate it?

That depends on the device and is worth a call. Some fiscal printers and payment terminals can be worked against through a vendor SDK and a simulator; others genuinely need the physical unit, and I will tell you which situation you are in rather than discovering it halfway through.

How do engagements usually start?

With a call and then a written scope: what I will build, what I will not, and how long it takes. You see that before committing to anything.

Contact

Tell me what you're building

Describe the problem in a few lines. If I am not the right person for it, I will say so and, where I can, point you at someone who is.