Projects

Things I've built: my own products, free tools, client work, and open source.

Products

Vidextract

Any social video, as structured data. One API call turns a YouTube, TikTok or Instagram video into transcript, comments and metadata, plus a typed AI extraction that conforms to your JSON schema.

Cut Gen

Upload a selfie and see photorealistic previews of hundreds of hairstyles in seconds, from classic bobs to bold mohawks. Compare before and after with a slider, then download the result to bring to your stylist.

Our Baby Bee

Each parent swipes through names on their own phone: yes, no or maybe. Votes stay secret until you both like the same name, and then it’s a match. Invite partners, grandparents or anyone else.

Clip Recipe

Paste a link to a cooking video and get a clean written recipe: ingredients, quantities and steps. Built with Django, htmx and Gemini.

Streamliter

Write, run and deploy Streamlit apps directly in the browser, with billing through Stripe. No local setup or infrastructure needed.

Neckie

E-commerce store built from scratch for a neck warmer brand, with Stripe checkout. Django, htmx and a lot of product photos.

Freelance

Copilapa

Website for a Lisbon printing service, including an interactive calculator that prices print jobs on the spot.

Intentional Sets

Website for a movement coach, with resources, classes and guidance.

LATO Projects

Portfolio website for an architecture studio, built with Next.js on top of a CMS so the team manages projects themselves.

João Jóia Paulo

Portfolio website for a photographer, kept minimal so the images do the talking.

Mussoc

Website for a Portuguese mental health non-profit, built with Django and Wagtail so the team edits all content themselves.

Olaria e Figurado

CMS-backed site that gathers Portuguese pottery and figurado artists, museums and fairs in one place.

IPS Grow reporting tool

Reporting platform used to monitor IPS employment program progress across the UK. Built with Django and PostgreSQL during my time at Social Finance.

Free tools

Regiões de Portugal

Every distrito, município and freguesia in Portugal, from the official CAOP boundaries, with the codes each one is filed under. Search any name or code, drill down on a map of the country, and copy what you need. The whole thing is also served as plain markdown for anything that would rather read it that way.

Parking

Save the spot where you parked your car and share it, so you or anyone you send it to can find the car later.

EMEL Zones

Interactive map of EMEL parking zones in Lisbon. Check the zone you are in and whether you can park there.

Toolbelt

Chrome extension with three page utilities: download every image on a page as a single zip, extract text from any region of the screen, and convert pages to clean markdown. Runs entirely on your device, using your own Gemini API key.

Quanto Fica

Enter your salary, pick dependent or independent worker, and see how much goes to taxes and how much you take home. Pre-filled values make it quick to compare scenarios.

Open source

Saldo

TypeScript library that calculates Portuguese taxes and net income for employees and freelancers, covering the withholding tables for the mainland, Azores and Madeira. Zero dependencies, fully typed, with a CLI for quick simulations.

Freelance Simulator

Estimate net income and taxes for freelancers in Portugal, across regimes and scenarios. Open source, built with Vue and TypeScript.

Lucide

Use Lucide icons directly in Django and Jinja templates through a simple template tag.

Debtors

Search, filter and export the Portuguese Tax Authority’s public debtors lists. A Python scraper keeps the data fresh and a React frontend makes it searchable.

Recursos Hídricos

API that makes Portuguese SNIRH national water resources data easier to access programmatically. Built with Django and django-ninja.

Bereal Telegram Bot

Telegram bot that pings your chat at a random time each day asking for a photo, inspired by BeReal.

VLC Remote Control

Control VLC playback from your phone through a small web interface. Python, FastAPI and Tailwind.