Understand the problem first. Then write the simplest code that holds.
Seventeen years of shipping for the web, the last seven on point-of-sale: a self-ordering kiosk that runs in four countries, the kitchen display, a delivery dispatch app and a new front end for the back office. I stay close to the decisions, from the architecture down to the last log line.
17
yrs shipping production code, since 2009
30+
brands run their kiosks on one codebase I work on
4
countries Hungary, France, Poland and Romania
25+
sites hotel and restaurant websites and booking engines delivered
I’m pragmatic, analytical and focused on results. I care about the quality and performance of what I build, and just as much about what it changes for users, clients and the people who run it every day. I stay directly involved in technical and implementation decisions: I’d rather understand the mechanism than just hand the work off.
02What I do
Software, debugging and the decisions around them.
01
Software development and architecture
Web applications, back ends, integrations and APIs, mostly in PHP and JavaScript, with the databases behind them. I design for the long run and treat performance as something to measure, not guess.
A self-ordering kiosk that runs for 30+ brands from one codebase, configured per client
Integrations with POS systems, bank terminals and fiscal printers
A rules engine that moved 117 home automations into tested code
02
Analysis and debugging
Finding the cause of problems that cross several systems: reading logs, forming hypotheses and testing them, and weighing the impact of a change before it ships. The fix has to hold, not hide the symptom.
Production support, from the first investigation to the release
Payment and fiscal changes checked against every client’s setup before they ship
A differential bench that replayed about 12,400 events to prove a migration changed nothing it shouldn’t
03
Technical and operational coordination
Prioritising development, estimating effort and working with technical teams, and making the trade-off between time, complexity and commercial benefit explicit.
Every support ticket tracked from the report to the release
Changes planned per client and per country, so a fix for one doesn’t break another
03Kiosk
Bitsoft · 2019 – now
Self-ordering kiosk
A multi-tenant kiosk app for quick-service restaurants. Customers browse the menu, customise products, pay by card and get a fiscal receipt, while the order goes straight to the POS and the kitchen.
One codebase, configured per client, running for 30+ brands, among them Burger King, Popeyes, Subway, Bellozzo and Pep&Pepper
Integrations with POS systems, bank terminals and fiscal printers, including French NF525 rules
Electron builds for Windows and Linux with remote updates
A flow-test harness that runs the full order on every brand variant (Jest, Playwright)
VueQuasarElectronNode.jsJestPlaywrightDocker
04Platform
Bitsoft · restaurant platform
Around the kiosk
The kiosk is one stop on an order’s way through the restaurant. I work on the other apps it passes through, too.
OrderOnline ordering sitefood ordering on the web (for a while)
KitchenKDSkitchen display system, now
DeliveryDispatchdelivery app, now
ReportsBreeze ReportingFlutter app for iOS and Android
Back office · a rebuilt front end on top of the existing system
MCP tools for support. MCP servers that give coding agents read access to the POS database, so support tickets can be investigated with real data.
05The house
Personal · Home Assistant · ongoing
A house that runs itself
My house makes its own decisions. It heats room by room, runs the air conditioning on solar surplus, waters the garden unless rain is coming, closes each shutter when the sun hits that window and keeps going on battery when the power drops. Behind it are 190 devices, more than 3,000 entities and six integrations I wrote in Python.
HeatingEach zone has a role: comfort, sleep and eco presets, eco while a window is open or nobody is in the room, scheduled preheat, an away mode and anti-freeze protection.
Solar and ACThe inverter’s surplus decides which AC may heat or cool. When the sun fades the units stop one at a time, and a missing inverter reading counts as no sun.
IrrigationPrograms per zone, with pump and valve control. A run is skipped when rain is forecast or already falling, and after a restart every valve is closed first.
ShuttersEach shutter knows where the sun is against its own window: azimuth, elevation, a monthly correction and the day’s forecast high. Frost nights close them; a move by hand pauses the rules until evening.
WeatherA weather-station integration (Wunderground or Tempest, read through a small PHP server) supplies the rain forecast that irrigation and the other rules use.
Power and presenceUPS and grid-voltage alerts, recovery after a power cut, arrive and leave routines, NFC tags, camera person detection and four wall panels with summer and winter layouts.
190
devices
3,066
entities
6
own integrations
117
automations moved into code
06How I decide
Evidence before opinions, small steps before big ones.
In complex situations I look for the real cause first, then for the simplest solution that solves it reliably. Complexity isn’t an advantage in itself, and I don’t add mechanisms whose benefit is small.
Keep scrolling: the cards move sideways →
01
Pragmatic
A stable, fast-enough solution usually beats a perfect one that costs twice as much. Complexity has to earn its place.
02
Evidence first
Logs, measurements and tests before opinions. When two options look equal on paper, I measure them.
03
Root cause, then the simplest fix
Find what is really broken, then make the smallest change that fixes it reliably. Hiding the symptom doesn’t count.
04
Small, reversible changes
Incremental steps, validated before production, each with a way back. Every migration in my house came with a one-command restore.
05
Balanced optimisation
Performance matters, weighed against build cost, maintenance and what the business needs right now.
06
Plain language
Clear explanations without corporate filler, so the people who own a system understand it and can decide for themselves.
∞
When something breaks
Observe Reproduce it, collect logs, metrics and timestamps, and write down what is known and what is only assumed.
Hypothesise List the possible causes, the most likely and cheapest to check first.
Test Run the smallest experiment that can rule a cause in or out.
Fix Change the root cause with the simplest fix that holds, reversible and validated before production.
Verify Compare before and after, and add a test so it can’t come back quietly.
07AI
A colleague, not a shortcut.
New technology and automation keep my attention, and I treat AI as a technical and intellectual partner, not a fast way to generate content. The point is to be more productive without giving up quality or control: what it writes gets the same review, tests and scepticism as anyone else’s code.
Faster development and debugging
Analysing complex technical problems
Automating the repetitive parts of the work
Comparing technical alternatives objectively
Built into the workflow: coding agents every day, MCP servers that let them read the systems I support, lint and tests after every change
Open to innovation, careful about adopting generated output uncritically.
Restaurant software for international quick-service brands: the self-ordering kiosk, the kitchen display system, a delivery dispatch app, a rebuilt back-office front end, the online ordering site and a Flutter reporting app. Payment, fiscal and POS integrations, test automation, releases and support.
2017 – 2019
Web Developer at Red Route Digital
Booking engines, a custom CMS, API integrations and SEO for hotels and resorts. Delivered 25+ products, including the winner of Best Hotel Website at the 2018 eTravel Awards.
2011 – 2017
Web Developer at Expremio Technology
Websites and web applications for local clients, mainly Romanian hotel chains, from build to long-term maintenance.
2009 – 2011
Web Developer at Tecksoft Concept
First production websites, built and maintained end to end.
09Stack
What I work with
Front endVue.jsQuasarJavaScriptHTMLCSSSassElectronMobileFlutterDart
Front endVue.jsQuasarJavaScriptHTMLCSSSassElectronMobileFlutterDart
Back endPHPLaravelNode.jsREST APIsMySQLNoSQLQuality and deliveryJestPlaywrightESLintDockerGitCI builds
Back endPHPLaravelNode.jsREST APIsMySQLNoSQLQuality and deliveryJestPlaywrightESLintDockerGitCI builds
Also: SEO, WordPress · Romanian (native), English (C1)
10Off the clock
Curiosity that doesn’t clock out.
Outside work it’s the same curiosity with different hardware: electronics, audio and video systems, home automation and my own digital infrastructure. I like to experiment, configure and improve complex systems, and I give personal projects the same rigour as paid ones.