📖About Secret Santa-inator

What is Secret Santa-inator?

Secret Santa-inator is a simple, privacy-focused web application that helps you organize Secret Santa gift exchanges with your friends, family, or coworkers. No registration required, no personal data stored - just pure holiday fun!

How it Works

1

Create a Group: Start by creating a new Secret Santa group with a name and description.

2

Invite Participants: Share the group link with friends and family so they can join.

3

Add Wish Lists: Everyone can add their wish list items to help their Secret Santa choose the perfect gift. (maybe in the future)

4

Draw Names: When everyone has joined, the group admin can randomly assign Secret Santa pairs.

5

Exchange Gifts: Each participant can see who they're buying for and their wish list - the fun begins!

Privacy & Security

  • No account registration required
  • Data is stored locally in your browser
  • Groups are identified by unique, private links
  • Only group members can see group details
  • No personal information is collected or stored

Features

For Everyone:

  • Join multiple Secret Santa groups
  • Create and manage wish lists
  • View your Secret Santa assignment
  • Easy group joining via shared links

For Group Admins:

  • Create and manage groups
  • View all group members
  • Randomly assign Secret Santa pairs
  • Share group links easily

Technical Details

Built with Next.js, React, and Tailwind CSS. Data is managed through Supabase for reliable group coordination while maintaining privacy. The app works entirely in your browser with no server-side user tracking.

From the author

This project came about due to a random request from my sister to hunt for a tool that could help her organize Secret Santa groups.

I then took this as an opportunity to conduct an experiment: How far can I take an AI tool (GitHub Copilot) to write code for me without me intervening and writing it myself. As it turns out, very far!

You see, this application is written virtually by AI — everything from front-end logic to backend triggers. I haven't written a line of code in this project apart from this small section here on the About page and a couple of Supabase client code I copied from a previous project.

Most of the time I spent is on writing prompts, reviewing the changes, accepting some changes, and refining the rest with further prompts.

Notice the "Add Wish Lists" feature it hallucinated? I figured to keep it for illustration purposes and just ask GitHub Copilot to add a disclaimer there.

Am I satisfied with the end result? On the backend side, absolutely! That part took the most scrutiny from me. As for the frontend, I'll admit I still feel uneasy about the fact that I just blindly accepted the suggested code based on how it looked on the browser.

Anyway, this whole project/experiment has been fun and I am very happy that I have something to show for, considering that it only took about a day to complete.