Tiago Antunes — Portfolio

Wishly

--role="Engineer — end-to-end"

Rails 8 Ruby 3.3 PostgreSQL RubyLLM (OpenAI) Jina Reader API Solid Queue Devise Stripe (Pay) Stimulus Tailwind Kamal
Wishly — wishlist items

cat README.md

A social wishlist app where you paste a product link and the item fills itself in — the page is fetched as clean text, then read by a model that has to answer in a fixed shape: title, description, price, currency, image, categories. Items copied from someone else's list keep a reference back to the original, so whoever added it first still gets the credit.

cat features.txt

Paste a product URL and the item is built for you: the page is fetched as clean text, then read by a model that has to return a fixed set of fields — and has to say why when a page isn't a product page, instead of inventing one
Suggested categories are matched against the categories that already exist, rather than creating a new one for every wording
The import runs as a background job, so the page comes straight back and the item appears once it's done
Copying an item from someone else's wishlist keeps a link to the original all the way back to the person who added it first, notifies them, and warns you if you already have the same thing
Follow other people, see their public lists in a feed, and share a list by its own public URL — private lists stay hidden
Image links are re-checked in the background and quietly marked dead when they stop resolving, so lists don't fill up with broken images

cat outcomes.log

Structured extraction with an explicit "this isn't a product page" answer, and a copy chain that tracks an item back to whoever added it first.

ls screenshots/

3 files · click to enlarge

url import
feed copy
explore