Wish Lists is a web app for small groups of friends and family to exchange gift ideas. Think of it as a multi-user gift registry. The key feature is that users may indicate which gift they intend to give others without the recipients knowing. A user has a different view of their own lift than they do of others'.

It’s a cleaner interface and more secure than using email chains. (This is how my wife’s family handles wish lists. The recipient sends their list out, and then everyone replies to all minus the original sender with their pick.) Compared to sharing a spreadsheet, it allows the recipient to add more ideas without getting spoiled. Of course, it does take a bit more legwork to use compared to email or a spreadsheet.

To help with ease of use, I’ve added plaintext parsing, so a bunch of gift ideas can be entered in one go. It had also been using a csv parsing microservice a fellow student wrote in JS. I’d like to reimplement that as a built-in feature.

It uses FastAPI and sqlite on the backend, and React plus React Router v6 for the frontend. The frontend’s code structure and visual design takes as its starting point the React Router tutorial. Indeed, the CSS is heavily indebted to that tutorial’s CSS.

Initially, I built it as part of a software engineering course that required us to use a microservices architecture. Here’s the final showcase video of that version: https://youtu.be/zxTnYocdt1w