Staff Software Engineer · Lisbon, Portugal
I work end-to-end across backend, platform and full-stack — billing and licensing systems, event-driven services, identity — and I run coding agents through the whole lifecycle, not just the fun bits.
Currently embedded in client engineering teams at madewithlove. Before that: nearly four years on a design platform with 28M+ users, two years running my own software company, and earlier, meter firmware and mining simulators.
Claude Code and Codex from requirements and technical planning through architecture, implementation, testing, debugging, review and rollout — on a large multi-repository platform, with normal review and test discipline intact.
C/C++ on electricity meters and mining simulators at the start, then PHP and Python platforms for most of the years since. The infrastructure layer — Kubernetes, Helm, Terraform — is the newest part: about six months in, learned on the job with agents alongside.
Founded Singularity Technologies and ran it for two years — contracts, clients, requirements, delivery. It is why "owning a feature end-to-end" doesn't feel like a stretch assignment.
Described by problem shape rather than by client — the specifics live in my CV and in conversation.
Order-to-invoice flows, subscriptions and auto-renewal, settlement processing with configurable rules, VAT and multilingual invoicing. The work is mostly in the seams: keeping commerce, licensing and CRM agreeing with each other without anyone reconciling spreadsheets afterwards.
Event-driven services and message-queue middleware made reliable with distributed locking, caching, deduplication and retry handling. Identity and access across environments with OIDC. I contribute to the Kubernetes, Helm and Terraform layer underneath rather than own it — that part is still new to me.
Memory exhaustion, failing large-data exports, broken queue reconnection, async bottlenecks. One N+1 query turned 600+ queries per request into one and four seconds into 700 milliseconds — which is usually the shape of it: measure, then delete work rather than add layers.
Two years leading a team of five, eighteen months as the go-to for onboarding and code review, and a habit of restructuring a core payment path into something testable before adding to it. Modernising an API so that adding hundreds of new products stopped being a project each time.
Embedded in client engineering teams, owning features end-to-end alongside their developers and product stakeholders. Two engagements so far: a data platform (backend and platform) and a payments platform (team lead and full-stack).
APIs and reusable frontend components for a design platform with 28M+ registered users. Two years leading a team of five; the go-to for new developers and code review.
Custom web and mobile software for multiple clients, run solo and remote: contracts, requirements, build, production delivery. Property management with OpenCV meter reading, a geofenced workforce app shipped to the Play Store, a reporting engine over half a million records, and a campaign platform targeting across 25M+ contacts.
Smart utility and electricity metering: C/C++ meter firmware with GSM, Zigbee and OTA updates, C# and MongoDB services, and contributed to the Smart Utilities app on both stores.
Laravel applications and e-commerce with payment, courier and order-management integrations, plus automated CRUD generation from XML.
C, C++ and Lua for heavy-vehicle mining simulators used to train operators safely. Led the light-vehicle simulator projects.
BEng Computer Engineering, cum laude — University of Pretoria, 2010–2013. Greek (EU) and South African citizen; English, Afrikaans, Greek.
Python · FastAPI · SQLAlchemy · Pydantic · PHP · Laravel · Symfony
PostgreSQL · MySQL · SQL · Redis · MongoDB · DynamoDB
Stripe · HubSpot · Keycloak/OIDC · RabbitMQ · REST · SOAP
Docker · GitHub Actions · Sentry · pytest · PHPUnit · Claude Code · Codex
Kubernetes · Helm · Terraform (~6 months) · React · Next.js · TypeScript (under a year) — mostly learned on the job, agent-assisted, and not where I'd claim depth yet
C/C++ · Lua · C# · Aurelia · Vue · Flutter · Ionic · AWS (SQS, S3)
South African with Greek roots, now in Lisbon. Most of my time off goes outdoors — hiking, fishing, and going back to the South African bush for wildlife whenever I can. Also football, travel, and our local church.
And a stubborn side project making biltong — South African dried meat — in Portugal.