Sari la conținut

Software Engineer la Betfair Romania Development

Alexandru Popa

Software Engineer · React · TypeScript · GraphQL · AI-first

Construiesc produse web pentru jucătorii unora dintre cele mai mari branduri de pariuri din Marea Britanie și Irlanda. În timpul liber îmi fac proiectele mele: o aplicație de obiceiuri numită Pact, site-uri pentru clienți și un server acasă de care sunt puțin prea mândru.

Fac și site-uri pentru afaceri
agent · ~/projects/pact

❯plan "habits on the iPhone lock screen"

→read: HANDOFF.md, PLAN.md, streak.js

✓plan: a Netlify function draws a PNG per user

❯implement --with-tests

✓18 test suites passing

❯verify --against prod

→GET /wallpaper/<token>.png 200 image/png

✓live, ready for the app update

❯

context: project notestests firstchecked in prod
ani de cod scris pentru producție
3+ani de cod scris pentru producție
certificate Udemy, 183,5 ore
8certificate Udemy, 183,5 ore
suite de teste care păzesc Pact
18suite de teste care păzesc Pact
uptime pe serverul de acasă
24/7uptime pe serverul de acasă

01 / Experiență

Jobul de zi cu zi: produse pentru jucători, la Flutter.

Betfair Romania Development

parte din Flutter Entertainment

Associate Software Engineer

mai 2024 – prezentCluj-Napoca

Lucrez în primul rând pe frontend, dar merg acolo unde e bug-ul: GraphQL BFF-uri, servicii Node.js, configurația de proxy dintre ele. Acum îmi împart timpul între site-urile de casino, experiența din joc și o platformă nouă, comună pentru web și aplicațiile native.

  1. 2026 – prezent

    O platformă nouă de pariuri, pentru web și mobil

    • Livrez funcționalități cap-coadă: resolvere GraphQL, componente comune React și React Native, apoi aplicația web peste ele.
    • Caut bug-urile din producție care trec prin mai multe echipe. Preferatele mele arată bine peste tot până citești header-ele HTTP.
    • Scriu documentația de onboarding pe care mi-aș fi dorit-o când am venit eu.
    • TypeScript
    • GraphQL
    • React Native
    • Nx
  2. 2025 – 2026

    Site-urile de casino și experiența din joc

    • Am construit funcționalități de lobby și jackpot care rulează pe mai multe branduri, fiecare cu aspectul lui.
    • Am unit build-urile separate pe brand într-unul singur cu teme, așa că un skin nou înseamnă configurare, nu încă un build.
    • Am făcut un prototip de căutare de jocuri cu AI și am investigat performanța paginilor.
    • Am scris unelte în Python pentru auditul și curățarea conținutului din CMS adunat în ani.
    • React
    • Preact
    • TypeScript
    • Node.js
    • Python
  3. 2024 – 2025

    PokerStars Casino și migrarea unui brand

    • Am condus cea mai mare parte din redesignul navigației principale și l-am lansat în spatele unor feature flags.
    • Am lucrat la fluxurile de plăți și am ajutat la mutarea unui brand pe o platformă nouă.
    • Am făcut suport on-call pentru problemele din producție.
    • React
    • TypeScript
    • SCSS

iul. 2023 – apr. 2024

Software Engineer Intern

Betfair Romania Development

Funcționalități web și mobile cu React, React Native, Java și Spring Boot.

mar. – iun. 2023

Java Backend Developer

JPavo

Aplicații Java pe server, integrări cu servicii externe și optimizări de performanță.

02 / Lucrul cu AI

Cum lucrez cu agenții AI.

Îi tratez pe agenții de cod ca pe niște colegi noi. Sunt rapizi și nu obosesc niciodată, dar au nevoie de un onboarding bun și de cineva care să le verifice munca. Încerc să fiu amândouă.

O bază de cunoștințe pe care agenții o citesc primii

Pentru fiecare codebase pe care lucrez țin note generate din cod: hărți de fișiere, fluxuri de funcționalități, endpoint-uri, cine se ocupă de ce. Agenții încep fiecare sesiune cu acest context, iar ce învață se scrie înapoi.

Onboarding rapid

Pe o platformă pe care n-o mai văzusem, am început prin a documenta repo-urile principale cu un agent. Câteva săptămâni mai târziu aveam în producție o funcționalitate care atingea mai multe repo-uri.

Debugging cu dovezi

Le dau agenților trace-uri, loguri și codul sursă și le cer reproduceri și ipoteze ordonate după probabilitate. Apoi verific fiecare ipoteză pe date reale înainte să ating ceva.

Unelte mici, făcute repede

Scripturi de audit, rapoarte și dashboard-uri care înainte însemnau o săptămână de muncă plictisitoare acum iau câteva sesiuni concentrate.

Verific tot

Copilot agent mode și Claude Code scriu mult din cod. Nimic nu ajunge în producție până nu verific cu codul, cu istoricul din git și cu ce face producția de fapt.

Împart cu echipa ce funcționează

Țin la zi fișierele cu instrucțiuni pentru agenți din repo-urile noastre și le spun colegilor ce a mers și ce nu.

03 / Proiecte personale

Ce construiesc în afara jobului.

Aplicația mea, un site pentru un client, serverul din sufragerie și sistemul de notițe care le ține pe toate laolaltă.

Produsul meu · web + iOS beta

Pact

O aplicație de obiceiuri care le spune prietenilor tăi când chiulești.

Pact e produsul meu. Îți setezi obiceiurile, Pact ține scorul, iar dacă sari prea des, un partener de responsabilitate află pe WhatsApp. Merge pe web și ca aplicație de iOS, acum în TestFlight.

  • Obiceiuri pe zile fixe, cu ținte săptămânale sau cu limite, bifate, cronometrate sau numărate. Seriile au zile de grație, pentru că mai apare câte ceva.
  • Un singur motor de serii, folosit de aplicația web, de cea de iOS și de workflow-urile n8n, acoperit de 18 suite de teste. Testele de bază de date rulează în tranzacții care se anulează la final.
  • Supabase Postgres cu peste 40 de migrări versionate, Netlify Functions (una îți desenează obiceiurile ca wallpaper pentru ecranul de blocare) și planuri freemium pe Stripe.
  • React
  • Expo
  • React Native
  • Supabase
  • PostgreSQL
  • n8n
  • Netlify Functions
  • Stripe
  • Vitest
Ecranul Azi din Pact, cu obiceiuri, serii și cronometre
uvaconsulting.net
Pagina principală a uvaconsulting.net, un site pentru un client

Site-uri pentru clienți

uvaconsulting.net e un proiect pentru un client: un site de prezentare rapid pentru o firmă de consultanță, online din 2026.

  • Construit pe Vite și React, cu Decap CMS pregătit pentru editarea conținutului.
  • Formular de contact pe Netlify Forms, cu notificări pe email, și deploy automat la fiecare push în GitHub.
  • Același setup a rămas template-ul meu, așa că următorul client pornește de la o bază care merge.
  • Vite
  • React
  • Decap CMS
  • Netlify
  • Netlify Forms

Un server acasă care nu doarme niciodată

Un laptop vechi (Core i7, 32 GB RAM) care rulează Debian non-stop. Găzduiește lumea de Valheim a prietenilor mei, blochează reclamele pe toate dispozitivele mele și rulează automatizările din Pact. Accesul de administrare trece doar prin VPN-ul meu, așa că niciun port de administrare nu e deschis spre internet.

uptime pe Debian 13
24/7uptime pe Debian 13
porturi de administrare deschise spre internet
0porturi de administrare deschise spre internet
domenii blocate de Pi-hole
~277kdomenii blocate de Pi-hole
între backup-urile lumii
15 minîntre backup-urile lumii

Prieteni

client Steam

DuckDNS + router

IP dinamic, port fwd

Server Debian 13

i7 · 32 GB · UFW · 24/7

  • Valheim
  • Pi-hole
  • n8n

Dispozitivele mele

tailnet Tailscale

Prietenii ajung la serverul de Valheim prin DuckDNS și port forwarding în router, pe UDP 2456–2458. Dispozitivele mele ajung la server, la DNS-ul din Pi-hole și la n8n doar prin VPN-ul Tailscale.
Server de Valheim
Un serviciu systemd care se actualizează singur prin SteamCMD la pornire. Backup al lumii la 15 minute, păstrat 3 zile.
Pi-hole
DNS pentru rețeaua de acasă și pentru toate dispozitivele din tailnet, oriunde ar fi.
Tailscale
SSH, dashboard-urile și paginile de administrare se pot accesa doar prin VPN.
DuckDNS
DNS dinamic care urmărește IP-ul de acasă, actualizat la 5 minute.
n8n
Patru workflow-uri pentru verificările de seară din Pact, mesajele către parteneri și rapoartele de duminică.
LLM-uri locale (retrase)
Ollama cu Qwen 2.5 Coder (7B până la 32B) pe procesor, în spatele Caddy, cu Let's Encrypt, 2FA și fail2ban.
  • Debian
  • systemd
  • Bash
  • UFW
  • Docker
  • Tailscale
  • Pi-hole
  • Ollama

AI Brain

Al doilea creier al meu, organizat așa încât să-l poată citi și agenții. Aproximativ 2.000 de conversații din ChatGPT și Claude transformate în Markdown cu metadate și legături, lângă note pe teme, documentația proiectelor și runbook-uri. Claude Code lucrează direct în el, cu instrucțiuni de proiect, memorie persistentă și câteva skill-uri făcute de mine.

Un skill îmi planifică meal prep-ul săptămânal. Verifică prețurile publice din supermarketuri, echilibrează macronutrienții și pune lista de cumpărături în Notion prin MCP.

  • Obsidian
  • Claude Code
  • MCP
  • Python
  • React

AI_Brain/

├─ CLAUDE.mdinstrucțiuni pentru agenți

├─ ChatGPT/~2.000 de conversații

├─ Conversations/sesiuni Claude

├─ Projects/documentație și runbook-uri

├─ Topics/note pe teme

└─ Dashboards/Bases + aplicație React

Aplicație socială în stil Instagram

Un proiect pe microservicii, făcut ca să înțeleg cum se leagă piesele: gateway de autentificare cu JWT, chat pe WebSocket cu media, stories, notificări și un feed infinit. Rulează în Docker în spatele Nginx, cu PostgreSQL pentru datele de bază și MongoDB pentru relațiile dintre utilizatori.

  • Microservices
  • JWT
  • WebSockets
  • Docker
  • Nginx
  • PostgreSQL
  • MongoDB

Site-uri pentru afaceri

Ai un restaurant, un salon sau o pensiune? Îți fac și site-ul.

Rapid pe telefon, cu butoanele de sunat și de drum mereu la un deget distanță, iar de modificări mă ocup eu. Uită-te întâi la demo-uri.

Vezi demo-urile

04 / Unelte

Frontend în primul rând, dar mă descurc pe tot stack-ul.

Frontend

  • React
  • TypeScript
  • JavaScript
  • React Native
  • Expo
  • Preact
  • Redux
  • Vite
  • HTML
  • CSS / SCSS
  • Design systems
  • Accesibilitate
  • Figma-to-code

Back-end și date

  • Node.js
  • GraphQL
  • BFF-uri
  • Supabase
  • PostgreSQL
  • MongoDB
  • Java
  • Spring Boot
  • WebSockets
  • Python

AI și agenți

  • Copilot agent mode
  • Claude Code
  • Sub-agenți
  • Agent skills
  • Context engineering
  • MCP
  • Obsidian
  • Ollama

Infrastructură și DevOps

  • Docker
  • Nginx
  • GitHub Actions
  • Netlify
  • Nx
  • pnpm
  • Linux
  • systemd
  • Tailscale
  • n8n

Observabilitate și conținut

  • Splunk
  • Grafana
  • GA4
  • Headless CMS
  • Decap CMS
  • i18n

05 / Despre mine

Omul din spatele commit-urilor.

Alexandru Popa în fața Colosseumului din Roma
În concediu, la Roma

Am făcut liceul la profilul matematică-informatică în Petroșani, apoi am studiat Calculatoare și Tehnologia Informației la Universitatea Tehnică din Cluj-Napoca. Am intrat la Betfair Romania Development ca intern în 2023 și am rămas.

Cel mai mult îmi place să urmăresc un bug până la capăt. Începe ca o animație stricată, se dovedește a fi un resolver și se termină într-un fișier de configurare cu trei niveluri mai jos decât se uita oricine. Nu intru în panică atunci când pică producția. Devin curios.

Când nu sunt la tastatură, sunt la sală, alerg, zbor cu drona sau fac poze. Mai citesc, mă uit la anime și țin în viață serverul de Valheim.

06 / Contact

Hai să vorbim.

Angajezi, construiești ceva sau te-ai blocat într-un bug ciudat? Trimite-mi un email. Le citesc și le răspund personal.

alex24popa@gmail.com