# Luís Peixoto, Backend Software Engineer > Luís Peixoto is a backend software engineer at CEiiA (Centre of Engineering and Product Development, Portugal) with 3+ years building and owning Java and Spring Boot microservices in production. He owns 15+ services behind platforms that process hundreds of millions of records and validate over a million trips a month, and when every senior engineer on the platform left he kept all of it running alone for about six months with zero data loss. He is open to mid-level backend roles, with relocation or fully remote, and as an EU citizen he needs no visa or employer sponsorship in the EU or Switzerland. Source: https://peixotomdb.com/ · CV: https://peixotomdb.com/cv · PDF: https://peixotomdb.com/Luis_Peixoto_CV.pdf · Last updated: 2026-09-28 ## At a glance - **Role:** Backend Software Engineer (Java, Spring Boot, distributed systems) - **Level sought:** Mid-level backend roles - **Current employer:** CEiiA, Matosinhos, Portugal (Jul 2023 to present; intern Mar to Jun 2023) - **Based in:** Vila Real, Portugal - **Availability:** Open to relocation or fully remote - **Work authorisation:** EU citizen (Portuguese): free to work anywhere in the EU; in Switzerland, EU free movement applies (no sponsorship, no quota, no labour-market test; the L/B residence permit is issued on the basis of the job contract) - **Languages:** Portuguese (native), English (professional, C1) - **Core stack:** Java, Spring Boot, PostgreSQL, Redis, Apache Kafka, Docker, Kubernetes, Grafana - **Contact:** peixotomdb@gmail.com · https://linkedin.com/in/peixotomdb · https://github.com/peixotomdb ## Evidence (in his own words, from the site) - **Zero data loss.** Every senior engineer on the platform left. I held all 15 microservices on my own for about six months: 20+ production incidents resolved, millions of trips validated without interruption, and new work still shipping. - **Every request faster.** Authentication re-ran on every single request. I moved token storage into Redis and cut latency on every request from about 300ms to 14ms, roughly twenty times faster, across the whole platform. - **100M+ records.** I build and own 15+ Java and Spring Boot microservices behind platforms that process hundreds of millions of records and validate over a million trips a month, on Kafka, Redis, PostgreSQL, Docker and Kubernetes. - **Hours, not days.** I wire AI agents into daily engineering. A report a colleague spent 30 minutes on every day now writes itself, a full microservice test suite lands in hours instead of days, and new projects scaffold in minutes. Scale, in numbers: 3+ years at CEiiA; 15+ microservices owned; 1M+ trips validated each month; 100M+ records processed. ## What he does - **High-Scale Backend & Distributed Systems.** Java and Spring Boot microservices behind platforms that process hundreds of millions of records and validate millions of trips a month, using Kafka, Redis, PostgreSQL, Docker, and Kubernetes. - **Monoliths to Fast, Secure Microservices.** The thing I do best: turning tangled monoliths into clean, fast, scalable services, with security built in. One authentication redesign alone cut every request from ~300ms to ~14ms. - **AI-Augmented Engineering.** I wire AI agents deep into my workflow (Claude Code plus local models) to automate reports, generate full test suites in hours, and scaffold new projects in minutes. - **Sustainability & Mobility Tech.** Core engineer on AYR, CEiiA's award-winning platform (New European Bauhaus prize) that turns CO₂ avoided into digital green credits for citizens, cities, and partners. ## Experience ### CEiiA · Centre of Engineering and Product Development Software Engineer · Jul 2023 to present · Matosinhos, Portugal (hybrid) Intern to owner of large-scale distributed systems, now driving cross-team technical direction alongside the platform architect. **Cross-team technical direction (2026 to present)** - Works with the platform architect on solution design and architectural trade-offs across multiple products. - Decomposes monoliths into clean, performant microservices with authentication and security hardening built in. - The engineer other teams turn to for the problems with no obvious answer. **AYR, sustainability and mobility platform (2024 to 2025)** AYR won a New European Bauhaus prize: it quantifies CO2 avoided through sustainable mobility and rewards it as digital green credits. - Built trip validation and digital wallet services: accounts, transfers, purchases, green-credit rewards. - Delivered real-time CO2-avoided monitoring across multiple calculation methods, and onboarded major partners. - Designed REST APIs on PostgreSQL and removed N+1 query patterns by batching data access. - Ran asynchronous messaging on Kafka with Redis caching; tracked health and SLA compliance in Grafana and Prometheus. - Built internal React and Next.js dashboards for trip processing and errors, ending reliance on the frontend team. **Data ingestion and monitoring (2023 to 2024)** - Ingestion, processing and monitoring of trips and vehicles; foundational Spring Boot and PostgreSQL work at scale. ### CEiiA · Software Developer Intern Mar 2023 to Jun 2023 · Matosinhos, Portugal - Designed and delivered a back-office viewer for trips and vehicles for an emerging mobility project. Led to an immediate full-time hire. ### Earlier - Frontend Developer intern at X-Plora: responsive front ends and reusable components in Vue.js (2022). - Student Technology and Digital Innovation, UTAD student associations (2022 to 2023). ## Technical skills - **Core:** Java, Spring Boot, Spring Security, JPA/Hibernate, REST APIs, PostgreSQL, Redis, Apache Kafka, RabbitMQ - **Platform:** Docker, Kubernetes, GitLab CI, SonarQube, Grafana, Prometheus, JUnit, Mockito, Swagger/OpenAPI, Git - **Also:** TypeScript, React, Next.js, Claude Code and local LLM agents, Go, Rust, Tauri ## Projects built on his own time Side projects that are deployed, used and maintained, not demos. ### Nexo: Every bus, train and boat in Portugal. One map. Page: https://peixotomdb.com/projects/nexo Live: https://nexo.peixotomdb.com/landing/ Stack: Go, TypeScript, Svelte, deck.gl, Mapbox GL Nexo takes the open timetables of 34 Portuguese operators, from Carris Metropolitana and Metro do Porto to CP, Transtejo, the Algarve's town buses, FlixBus and BlaBlaCar, and serves the whole country on one live map: 51,954 stops, 457,045 trips and 7,206 routes. The backend is a single Go binary. Offline, it reads GTFS and NeTEx, map-matches missing shapes on OpenStreetMap, measures 616,194 walking paths between stops and writes a compact snapshot. Online, it loads that snapshot in under a second and answers everything from memory: a RAPTOR planner that returns a journey in about 35 ms and was checked against an oracle on 480 real trips (98.8% optimal), vehicle positions, departure boards, isochrones, and real time polled from GTFS-RT and GBFS feeds. The frontend is Svelte 5 and TypeScript on Mapbox GL and deck.gl, with vehicle positions interpolated in a Web Worker so the main thread stays free. Around it: an installable PWA, a landing page with a working waiting list, and Nico, the X of the logo come to life, who keeps you company from the first tap. He is riding along this page too. - **The whole country, live**: Every vehicle where its timetable or its GPS puts it. Follow a line and it switches to live positions with its delay; the rest glide calmly, labelled as estimates. Scrub the clock to any hour and watch the network breathe. - **Door-to-door planner**: RAPTOR over the whole country in about 35 ms. Leave now, leave at or arrive by, walks measured on real streets, shared bikes and scooters for the first mile, fares, accessibility and live delays. - **How far can I get**: Drop a pin and see everywhere reachable by transit and on foot in 10-minute bands, drag it live, play it through the day, or find where two people can meet halfway. - **Nico and the Caderneta**: A sticker for every line you ride, stamps for stops, medals, weekly missions and levels. Nico breathes, blinks, follows your pointer, waves at the bus, hurries when you are late and falls asleep after midnight. No accounts: it all lives on your device. - **One binary, one small server**: API, planner, real time and the embedded web app run from one Go process on a €7.37 a month VPS. Every push runs the checks and ships the binary; if the new version does not answer its health check, the server rolls back on its own. - **Tested like it matters**: 219 Go test functions, 200+ Vitest unit tests, Playwright end to end, axe audits, screenshot comparisons and frame-time budgets. A change that slows a hot path by more than 10% does not go in. ### Tools: One place. Every tool. Zero friction. Page: https://peixotomdb.com/projects/tools Live: https://tools.peixotomdb.com Stack: Next.js, React, TypeScript, Tailwind CSS, Playwright Stop tab-hopping. Tools puts 33 developer and design utilities in one workspace: JSON, SQL, CSS, JWT, regex, hashes, QR codes, cron, CSV, fake data, legal policies and more. Every tool opens instantly, no login required. Private by design. No accounts, no trackers, no analytics. Everything runs in your browser except PDF rendering, so your data stays yours. Keyboard-first and yours to style. Hit ⌘+K to search, ⌘+M for the sidebar, ESC to close. Pick one of 35 themes or build your own, in English, Portuguese, Spanish or French. - **Studios, not snippets**: JSON, SQL, CSS, CSV, UUID, QR and ASCII each get a full studio: model tables and export SQL, diff JSON trees, tune gradients, shadows and easing with WCAG contrast checks. - **Security toolkit**: JWT Inspector decodes and verifies signatures. Hash Generator, Keypair Generator and Password Generator cover the rest, all computed locally. - **Launchpad for shipping**: One upload produces every icon size for Web, iOS, Android and PWAs, plus SEO meta, Open Graph and structured data, ready to paste. - **Debug and data**: Log Analyzer highlights IPs, UUIDs, HTTP codes and stack traces. Regex Playground, Cron Builder, Data Faker, Diff Checker and Timestamp Converter sit one keystroke away. - **35 themes and a builder**: From Nord and Dracula to Crimson and Sepia, or pick your own colours and let the builder derive the rest of the palette. - **Keyboard-first UX**: Command palette (⌘+K), sidebar toggle (⌘+M), arrow navigation, favourites and ESC to close. Power users stay in flow without reaching for the mouse. ### Dead Letter: Where emails go to rest Page: https://peixotomdb.com/projects/deadletter Live: https://hub.docker.com/r/peixotomdb/deadletter Stack: Go, SMTP, Docker, Next.js, REST API Deadletter is a small, self-contained SMTP sink designed for local development and testing. Instead of sending emails to real SMTP providers, applications send them to Deadletter. Every message is captured exactly once as a raw .eml file plus immutable metadata, and indexed in memory so it can be inspected, replayed, and observed through a simple HTTP API or web UI. The filesystem is the source of truth. In-memory state exists only to support fast inspection, derived metrics, timelines, and replay counters. Deadletter is intentionally minimal: no external dependencies, no fake inboxes, and no risk of accidentally delivering emails to real users. - **SMTP Capture**: Captures every email sent to port 1025 as a raw .eml file with immutable JSON metadata. Zero config, zero risk. - **Web UI**: A clean, developer-focused web interface at port 8025 for browsing captured emails, viewing headers, body content, and metadata. - **Email Replay**: Re-send any captured email to a real SMTP server for testing forwarding rules, templates, and delivery pipelines. - **REST API**: Full HTTP API for listing, inspecting, exporting, and replaying emails. Integrates with any CI/CD pipeline or testing framework. - **CLI Tool**: A lightweight CLI (deadletterctl) for scripting against the HTTP API. List, show, replay, and export emails from the terminal. - **Retention Policy**: Configurable retention in minutes controls how long messages are kept. Cleanup can be triggered manually or runs automatically. ### Pulse: macOS system stats from the menu bar Page: https://peixotomdb.com/projects/pulse Live: https://github.com/peixotomdb/Pulse Stack: Tauri, Rust, React, Vite, Tailwind CSS Pulse is a lightweight macOS menu bar monitor built with Tauri. It surfaces CPU, memory, disk, load, temperature, and network throughput in a compact dropdown instead of full dashboards. Every metric refreshes in near real-time thanks to a Rust backend powered by sysinfo and a responsive React + Vite UI. Quick toggles let you switch units, choose accent colors, and focus on the numbers that matter without distraction. - **Menu Bar Snapshot**: Compact window that sits next to the status icons and keeps CPU, memory, disk, network, and load averages in reach. - **Live Throughput**: See current upload and download speeds to catch background syncs or runaway jobs instantly. - **Temperature Readings**: Best-effort temperature probes backed by sysinfo help spot throttling or fan spikes on supported Macs. - **Quick Settings**: Toggle Celsius/Fahrenheit, swap accent colors, and control refresh rate without leaving the app. - **Keyboard Shortcuts**: Open Pulse, cycle sections, or close the window entirely from the keyboard. - **Tauri + Rust Core**: Native macOS build with Tauri, Rust, and sysinfo gives low memory overhead and fast metric polling. ## Education and certifications - MSc Informatics Engineering & Web Technology, Universidade Aberta (2024 to present) - Graduate Coursework in Software Engineering, Instituto Superior de Engenharia do Porto (2023 to 2024) - BSc Communication and Multimedia, Universidade de Trás-os-Montes e Alto Douro (2020 to 2023) - Certifications: CMMI, SOLID Architecture, Java Development Course ## Questions a hiring manager usually asks **What level is he, and what is he looking for?** He positions himself as a mid-level backend engineer and is looking for a mid-level backend role (Java, Spring Boot, distributed systems, platform work). His track record includes owning a production platform alone for six months and now working with the platform architect on cross-team technical direction. **Is he open to remote work or relocation?** Yes to both: fully remote, or relocation. He is based in Vila Real, Portugal. **Does he need a visa or work permit?** No visa and no sponsorship. He is a Portuguese citizen: in the EU he can simply start work, and in Switzerland the EU free movement agreement applies, so there is no quota and no labour-market test; the employer only needs the job contract for his L/B residence permit, which is routine for EU citizens. **What is his strongest area?** Owning high-scale Java and Spring Boot backends in production, and turning slow or tangled systems into fast, secure, reliable services. Example: moving authentication tokens into Redis cut latency on every request from about 300ms to 14ms across the platform. **How does he handle pressure and ownership?** When every senior engineer on the platform left, he held all 15 microservices alone for about six months: 20+ production incidents resolved, zero data loss, millions of trips validated without interruption, and new work still shipping. **Does he use AI tools?** Yes, deeply and practically: Claude Code and local models in daily engineering. A report a colleague spent 30 minutes on every day now writes itself, full microservice test suites land in hours instead of days, and new projects scaffold in minutes instead of about five hours. **Does he build outside work?** Yes. Nexo (all of Portugal's public transport on one live map, a Go backend with a RAPTOR journey planner), Tools (33 browser-based developer utilities), Dead Letter (an SMTP sink for local development, on Docker Hub) and Pulse (a macOS menu-bar system monitor in Rust and Tauri). **Which languages does he speak?** Portuguese (native) and English (professional, C1). **How do I contact him?** Email peixotomdb@gmail.com, or LinkedIn https://linkedin.com/in/peixotomdb. ## Contact - Email: peixotomdb@gmail.com - LinkedIn: https://linkedin.com/in/peixotomdb - GitHub: https://github.com/peixotomdb - Site: https://peixotomdb.com/ (also in [Portuguese](https://peixotomdb.com/pt) and [German](https://peixotomdb.com/de))