I am angelo
and I do
even more!
Remote | November 2024 – Present
Led the migration of HBS’s web ecosystem to Contentful across 61 sites, delivering 24 in a single six-month acceleration phase after taking over from a previous vendor. Migrated 10,000+ content entries and built production components in Next.js and TypeScript, including HBS Online’s Course Finder. Built a delivery team of up to five, and now lead ongoing maintenance with the two developers I trained.
Munich, Germany & Remote | November 2021 – July 2024
Headed frontend development of HUK’s vehicle-servicing booking platform from concept through public launch and production, serving a nationwide network of ~300 partner workshops. Led a team of five as the integration point between engineering, design, and product. Spent 18 months on-site in Munich embedded with the client’s teams.
Remote | February 2021 – November 2021
Tech lead on Vibe, a live HR platform for performance-driven employee management. Owned two principal migrations — replacing Material UI with a bespoke component library and moving the codebase to TypeScript — while leading a three-developer team.
Brazil, Remote | January 2019 – February 2021
Delivered freelance projects for clients including Folha de S.Paulo, returning as an external specialist after five years in-house. Built CMS-backed websites end to end — the start of the headless CMS focus that still defines my work.
São Paulo, Brazil | January 2014 – January 2019
Designed and developed A World of Walls, an interactive feature that won five national and international journalism and design awards, including the Rey de España and ICRC/Red Cross prizes. Built internal tools for a newsroom of 100+ journalists and worked as infographics and layout designer across major sections.
Third time I build this website. It was Gatsby, then Next.js, now Astro ➹ — every move for the same reason: less machinery between the writing and the page.
There is no frontend framework here. The only JavaScript that ships is a theme toggle and the filters on the blog and projects lists. Turn JavaScript off and you still get every post, every project, in full.
Content is MDX in a folder, validated by schemas — if I typo a date or forget a description the build fails instead of the page. Markdown runs through satteri ➹ with two plugins I wrote: one marks external links, the other turns lone images into captioned figures.
Social cards are drawn at build time with satori and resvg — one per post and per project, no image service, nothing running when you open the page.
Type is DM Serif Display and Lora. Hosted on GitHub Pages. It is open source: read the code ➹.
This project was created with non-creative assistance ➹ from Claude Code. CLAUDE.md has strict rules about not writing any code, just helping with information. I have strong opinions on using AI creatively, but to hear them you must (at least) buy me fried chicken.