Întâi înțeleg problema. Apoi o rezolv simplu și solid.
Fac software pentru web din 2009, iar de șapte ani lucrez la sisteme de vânzare pentru restaurante: un kiosk de comandă folosit în patru țări, ecranul din bucătărie, o aplicație pentru livrări și un front end nou pentru back office. Sunt implicat direct în decizii, de la arhitectură până la ultima linie din log-uri.
17
ani de cod scris pentru producție, din 2009
30+
branduri folosesc kioskul la care lucrez, toate pe același cod
4
țări Ungaria, Franța, Polonia și România
25+
site-uri pentru hoteluri și restaurante, plus motoare de rezervări
Sunt pragmatic, analitic și mă interesează rezultatul. Țin la calitatea și performanța a ceea ce construiesc, dar la fel de mult contează ce schimbă pentru utilizatori, pentru clienți și pentru oamenii care lucrează zilnic cu el. Prefer să fiu implicat direct în deciziile tehnice și în implementare: vreau să înțeleg cum funcționează lucrurile, nu doar să dau mai departe sarcini.
02Ce fac
Cod, debugging și deciziile din jurul lor.
01
Dezvoltare și arhitectură
Aplicații web, back end-uri, integrări și API-uri, mai ales în PHP și JavaScript, plus bazele de date din spate. Construiesc pentru termen lung, iar performanța o măsor, nu o ghicesc.
Un kiosk de comandă folosit de peste 30 de branduri, același cod configurat pentru fiecare client
Integrări cu sisteme POS, terminale de plată și imprimante fiscale
Un motor de reguli prin care am mutat 117 automatizări din casă în cod testat
02
Analiză și debugging
Găsesc cauza problemelor care trec prin mai multe sisteme: citesc log-uri, fac ipoteze și le testez și văd ce afectează o schimbare înainte să ajungă în producție. Soluția trebuie să rezolve problema, nu să ascundă simptomul.
Suport în producție, de la prima investigație până la release
Modificările la plăți și la partea fiscală, verificate pe configurația fiecărui client înainte să plece
Un banc de test care a rulat din nou cam 12.400 de evenimente, ca să dovedească faptul că o migrare n-a schimbat nimic din ce nu trebuia
03
Coordonare tehnică
Stabilesc prioritățile de dezvoltare, estimez efortul, lucrez cu echipele tehnice și pun pe masă, clar, compromisul dintre timp, complexitate și beneficiul pentru business.
Fiecare tichet de suport urmărit de la raportare până la release
Modificări planificate pe client și pe țară, ca o rezolvare pentru unul să nu strice la altul
03Kiosk
Bitsoft · din 2019
Kiosk de comandă
Aplicația de kiosk din restaurantele fast-food, folosită de mai mulți clienți. Clientul alege din meniu, își personalizează produsele, plătește cu cardul și primește bonul fiscal, iar comanda ajunge direct în casa de marcat (POS) și în bucătărie.
Același cod, configurat pentru fiecare client, folosit de peste 30 de branduri, printre care Burger King, Popeyes, Subway, Bellozzo și Pep&Pepper
Integrări cu sisteme POS, terminale de plată și imprimante fiscale, inclusiv cu regulile fiscale franceze (NF525)
Build-uri Electron pentru Windows și Linux, cu actualizări de la distanță
Teste automate care parcurg toată comanda pentru fiecare variantă de brand (Jest, Playwright)
VueQuasarElectronNode.jsJestPlaywrightDocker
04Platformă
Bitsoft · platforma pentru restaurante
În jurul kioskului
Kioskul e doar o etapă din drumul unei comenzi prin restaurant. Lucrez și la celelalte aplicații prin care trece.
ComandăSite de comenzi onlinecomenzi de mâncare de pe web (o perioadă)
BucătărieKDSecranul din bucătărie, în prezent
LivrareDispatchaplicația pentru livrări, în prezent
RapoarteBreeze Reportingaplicație Flutter pentru iOS și Android
Back office · un front end refăcut peste sistemul existent
Unelte MCP pentru suport. Servere MCP prin care agenții AI pot citi baza de date POS, ca tichetele de suport să fie investigate pe date reale.
05Casa
Personal · Home Assistant · în lucru
O casă care se descurcă singură
Casa mea ia singură decizii. Încălzește fiecare cameră separat, pornește aerul condiționat când panourile solare produc în plus, udă grădina doar dacă nu urmează să plouă, trage fiecare rulou când soarele bate în geamul lui și merge mai departe pe baterie când se ia curentul. În spate sunt 190 de dispozitive, peste 3.000 de entități și șase integrări scrise de mine în Python.
ÎncălzireFiecare zonă are rolul ei: moduri de confort, somn și eco, eco cât stă un geam deschis sau nu e nimeni în cameră, încălzire pornită dinainte după program, mod de plecat de acasă și protecție la îngheț.
Solar și aer condiționatCe produc panourile în plus decide care aparat de aer condiționat are voie să încălzească sau să răcească. Când scade soarele, aparatele se opresc pe rând, iar dacă invertorul nu mai trimite date, sistemul consideră că nu e soare.
IrigațiiPrograme pe zone, cu pompă și electrovalve. Udatul se anulează dacă se anunță ploaie sau deja plouă, iar după un restart se închid întâi toate electrovalvele.
RulouriFiecare rulou știe unde e soarele față de geamul lui: azimut, înălțime, o corecție pentru fiecare lună și temperatura maximă din prognoză. În nopțile cu îngheț se închid, iar dacă le miști de mână, regulile stau pe pauză până seara.
VremeaO integrare pentru stația meteo (Wunderground sau Tempest, citită printr-un mic server PHP) dă prognoza de ploaie pe care o folosesc irigațiile și celelalte reguli.
Curent și prezențăAlerte de la UPS și pentru tensiunea din rețea, revenire după o pană de curent, rutine la plecare și la venire acasă, tag-uri NFC, detectarea persoanelor pe camere și patru panouri pe perete, cu ecrane diferite vara și iarna.
190
dispozitive
3.066
entități
6
integrări proprii
117
automatizări mutate în cod
06Cum lucrez
Fapte înainte de păreri, pași mici înainte de salturi mari.
Când lucrurile se complică, caut întâi cauza reală, apoi cea mai simplă soluție care o rezolvă cu adevărat. Complexitatea nu e un merit în sine, așa că nu adaug mecanisme care aduc prea puțin.
Derulează în continuare: cardurile vin din lateral →
01
Pragmatic
O soluție stabilă și suficient de rapidă e de obicei mai bună decât una perfectă care costă dublu. Complexitatea trebuie să-și merite locul.
02
Întâi dovezile
Log-uri, măsurători și teste, nu impresii. Când două variante arată la fel pe hârtie, le măsor.
03
Cauza reală, apoi soluția simplă
Aflu ce s-a stricat de fapt, apoi fac cea mai mică schimbare care rezolvă problema de tot. A ascunde simptomul nu se pune.
04
Schimbări mici, reversibile
Pași mici, verificați înainte de producție, fiecare cu o cale de întoarcere. Fiecare migrare din casa mea a avut o restaurare dintr-o singură comandă.
05
Optimizare cu măsură
Performanța contează, dar o pun în balanță cu costul dezvoltării, cu mentenanța și cu ce are nevoie firma acum.
06
Pe limba tuturor
Explicații clare, fără limbaj de corporație, ca oamenii care răspund de un sistem să-l înțeleagă și să poată decide singuri.
∞
Când se strică ceva
Observ Reproduc problema, strâng log-uri, metrici și ore exacte și notez separat ce e sigur și ce e doar presupunere.
Fac ipoteze Scriu cauzele posibile, începând cu cele mai probabile și mai ușor de verificat.
Testez Fac cel mai mic experiment care poate confirma sau elimina o cauză.
Repar Rezolv cauza reală cu cea mai simplă corectură care ține, reversibilă și verificată înainte de producție.
Verific Compar înainte și după și adaug un test, ca problema să nu mai apară fără să observe nimeni.
07AI
Un coleg, nu o scurtătură.
Mă atrag tehnologiile noi și automatizarea, iar AI-ul îl folosesc ca pe un partener tehnic cu care gândesc, nu ca pe o mașină de generat conținut. Vreau să lucrez mai repede fără să pierd din calitate sau control: ce scrie AI-ul trece prin același review, aceleași teste și același scepticism ca orice alt cod.
Să dezvolt și să fac debugging mai repede
Să analizez probleme tehnice complicate
Să automatizez partea repetitivă a muncii
Să compar obiectiv mai multe variante tehnice
Zi de zi, în fluxul de lucru: agenți de programare, servere MCP prin care citesc sistemele pe care le întrețin, lint și teste după fiecare modificare
Deschis la nou, dar atent să nu iau de bun tot ce generează.
Software pentru lanțuri internaționale de restaurante fast-food: kioskul de comandă, ecranul din bucătărie (KDS), o aplicație pentru livrări, front end-ul refăcut pentru back office, site-ul de comenzi online și o aplicație Flutter pentru rapoarte. Integrări cu plăți, case de marcat și sisteme POS, teste automate, release-uri și suport.
2017 – 2019
Web Developer la Red Route Digital
Motoare de rezervări, un CMS propriu, integrări prin API și SEO pentru hoteluri și resorturi. Peste 25 de proiecte livrate, printre care și site-ul premiat cu Best Hotel Website la eTravel Awards 2018.
2011 – 2017
Web Developer la Expremio Technology
Site-uri și aplicații web pentru clienți locali, mai ales lanțuri hoteliere din România, de la dezvoltare până la mentenanță pe termen lung.
2009 – 2011
Web Developer la Tecksoft Concept
Primele site-uri puse în producție, de la zero până la mentenanță.
09Tehnologii
Cu ce lucrez
Front endVue.jsQuasarJavaScriptHTMLCSSSassElectronMobileFlutterDart
Front endVue.jsQuasarJavaScriptHTMLCSSSassElectronMobileFlutterDart
Back endPHPLaravelNode.jsAPI-uri RESTMySQLNoSQLCalitate și livrareJestPlaywrightESLintDockerGitCI
Back endPHPLaravelNode.jsAPI-uri RESTMySQLNoSQLCalitate și livrareJestPlaywrightESLintDockerGitCI
Tehnologie pentru restauranteIntegrare POSTerminale de platăImprimante fiscaleNF525Configurare per clientAI și automatizăriAgenți AI pentru codServere MCPPythonHome Assistant
Tehnologie pentru restauranteIntegrare POSTerminale de platăImprimante fiscaleNF525Configurare per clientAI și automatizăriAgenți AI pentru codServere MCPPythonHome Assistant
Și: SEO, WordPress · Română (nativ), engleză (C1)
10În timpul liber
Curiozitatea nu se oprește la 6.
Și după program e aceeași curiozitate, doar pe alt hardware: electronică, sisteme audio-video, automatizarea casei și infrastructura mea digitală. Îmi place să experimentez, să configurez și să îmbunătățesc sisteme complicate, iar proiectele personale le iau la fel de în serios ca pe cele de la job.