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