Work
Backend Engineer
Perk · January 2024 - present · Zurich, Switzerland
Expense and business-travel spend platform for enterprises. I joined Yokoy, which TravelPerk later acquired and rebranded as Perk. TypeScript and Node.js microservices on GCP (Cloud Run, Cloud Functions), Firestore, MongoDB, PostgreSQL, Terraform, Datadog.
- Led France receipt digitization from refinement to full rollout: receipts converted to digitally signed, timestamped PDF/A-3. A compliance prerequisite for French customers going paperless, and a sales blocker in France without it.
- Found, while verifying that rollout, that receipts for Spanish legal entities had been signed for months with an expired certificate, making them legally invalid, with nothing watching for it. Scoped the affected records and built the certificate-expiry monitoring and alerting now in place.
- Owned travel-to-expense integrations (TravelPerk, Egencia). Built the trip import: each TravelPerk trip arrives pre-filled with its itinerary and booking expenses, so the traveler only adds other receipts before submitting.
- Extended the expense import: real-time invoice ingestion, tax-item enrichment, duplicates, refunds and credit notes, lodge-card matching, auto-submission of pre-approved expenses, and transaction matching for expenses with flexible-booking credits.
- Implemented the expense workflow action API and the permission matrix behind it, so a stale client could no longer silently overwrite a document.
- Standardized user-facing errors and workflow notifications onto a localization-key contract across the expense backend, so users can see what went wrong and fix it themselves instead of opening a support ticket, against a team goal of halving support volume.
- Reliability: Datadog monitors and structured audit logs for the signing pipeline, expand/contract PostgreSQL migrations, and a regular firefighter rotation. Traced a callback race from production logs that had been silently orphaning expense records for 20 months.
- Work agent-first in Cursor: I plan and design the change, delegate implementation to MCP-connected agents, and verify the result myself.
Software Engineer (Technical Lead)
Etops · September 2022 - December 2023 · Zurich, Switzerland
Globalance World: a sustainability and wealth-impact analytics platform for a Zurich private bank, ingesting third-party provider data and computing impact metrics at security, portfolio and country level across 12,000 portfolios and 300,000 securities. TypeScript and Node.js services on MongoDB and Redis, React frontends, Docker and CI/CD.
- Took the platform over when the senior engineer and the CTO left at the same time, as the only person who knew how the systems worked, and was sole owner of around 50 repositories for about a year.
- Ran requirements directly with the bank's stakeholders, finance specialists with no software background: worked out what was feasible, then designed and implemented it.
- Owned delivery end to end, including the servers, deployments and production maintenance.
- The client brought a platform's frontend in-house from an external vendor on the strength of our delivery record, after earlier attempts to win that work had not succeeded. I took it on and owned it for my last four months.
- Interviewed and selected the engineer for the one opening I was given, then onboarded him across the codebase and ran his code reviews.
- Handed the work over to a team of three on my departure.
Software Engineer (Full Stack)
Etops · September 2020 - August 2022 · Zurich, Switzerland
Stack: TypeScript, Node.js, React, Go, MongoDB, Redis, Docker, CI/CD.
- Built a machine-learning document parser for a Swiss financial institution that recognized and extracted text from scanned document images, using Azure Cognitive Services, TensorFlow, Detectron2 and YOLOv5 with COCO, YOLO and LabelMe datasets. Several backend services and one frontend.
- Contributed to and maintained a data warehouse platform for a Swiss financial institution, across several backend services and one frontend.
- Worked on the Globalance World analytics platform in a three-person team with a senior engineer and the CTO, and took it over when they left.
Business Intelligence Developer, previously Business Intelligence Intern
Bondalti · July 2016 - May 2017 · Lisbon, Portugal
SAP BW and Power BI reporting alongside my Computer Science degree: datasource activation, transformations and data transfer processes from SAP R/3 into SAP BW, process chains to automate master and transactional loads, and Power BI dashboards built with DAX.