Lisbon · Full-Stack Engineer · Front-end leaning
I writeapplications.
Web, mobile and desktop — since 2019.
Front-end leaning full-stack engineer. 7 years shipping React, Next.js, React Native and TypeScript across web, mobile and desktop — blockchain platforms, forensic-report pipelines, developer tooling. Download my CV
2019 — present
Selected work
Production systems and products I've built. Open one for the brief and what I did.
About
Front-end leaning,full-stack capable.

I've spent seven years building production software across web, mobile and desktop — blockchain transaction platforms at Teranode, forensic-report pipelines at Token Recovery, and real-time tooling of my own.
I care about the parts users never see: predictable state, typed boundaries, accessible markup, shared component libraries, and builds a new teammate can run on day one. I work in English and Portuguese.
Download full CVStack
- TypeScript
- JavaScript
- Python
- Go
- React
- React Native
- Next.js
- Redux
- Node.js
- Storybook
- Tailwind
- Supabase
- PostgreSQL
- MongoDB
- Jest
- Cypress
- GitHub Actions
Experience
- Designed a two-mode Python pipeline (Quarto, python-docx, lxml) that compiles 21 modular JSON section files (43 KB) into a publication-ready .docx in under 300ms — supporting first-run generation from raw API context and on-demand regeneration from analyst-edited section files.
- Built a multi-stage normalization layer handling type coercion, block merging, field defaulting, and activation filtering across 100+ content blocks; serialized the final hierarchically numbered document model to JSON before render.
- Engineered a two-pass regex footnote engine scanning 37,000+ characters per run — with unicode superscript mapping and keyword deduplication — auto-injecting Quarto inline footnote syntax throughout the compiled document.
- Implemented a 7-pass python-docx post-processing pipeline producing output Quarto can't render natively: full-bleed tables, TOC field injection, cover styling, dynamic page breaks, and Page X of Y footers — delivering a 663 KB formatted report.
- Spearheaded end-to-end development of two production applications built from scratch within a Turborepo monorepo (10 shared packages):
- Teranode Console — blockchain transaction management platform.
- Teranode Admin Dashboard — internal monitoring tool.
- Architected the shared UI system across the platform using 10 internal packages — including a UI library (168 components and icons), a shared hooks package (9 custom hooks), typed themes, utilities, and a wallet client — enabling consistent patterns and zero duplication across products.
- Implemented and documented the design system in Storybook (50+ components), featuring interactive demos, prop controls, visual guidelines, and theme customization— empowering other developers to easily adopt, extend, and maintain consistent UI across all apps.
- Engineered state management with Redux and secure session handling — covering authentication flows, cookie lifecycle, and role-based access across the Console and Admin Dashboard.
- Translated raw blockchain service data — transaction volumes, wallet distributions, and chain analytics — into real-time graphs and monitoring dashboards consumed by end users and internal support teams.
- Collaborated with backend teams to build and consume RESTful APIs (Go, Node.js).
- Developed React Native and universal React applications targeting 3 platforms (web, iOS, and Android).
- Spearheaded end-to-end development of two production applications built from scratch within a Turborepo monorepo (10 shared packages):
- Built a full-stack app for Six Sweet Under from scratch — React SPA, Node.js/Express MVC backend, MongoDB, REST API integration, and Heroku deployment.
- Rebuilt the Freck Beauty e-commerce storefront (Next.js, WooCommerce API) — handling full payment and product DB integration end-to-end, contributing to a 12% increase in sales.
- Overhauled the purchase flow by replacing disruptive cart-page redirects with a nonblocking checkout prompt, and converted full-page product pagination to async WooCommerce API calls — keeping users in the browsing flow and eliminating unnecessary reloads.
Contact
Let's make something.
Three quick steps, straight to my inbox. I reply within a working day.