Secret Santa app for Christmas 2025
# 🎅 Nollaig Shona - Secret Santa Generator
A web-based Secret Santa gift exchange organizer with automated SMS distribution for UK mobile numbers.
## Features
- **Web UI**: Easy-to-use interface for managing participants
- **Smart Algorithm**: Ensures each person:
- Is a gifter exactly once (Rule A)
- Is a recipient exactly once (Rule B)
- Is never assigned to themselves (Rule C)
- **SMS Distribution**: Automatically sends assignments via text message using Twilio
- **Privacy First**: Each participant only knows who they're buying for
- **UK Mobile Support**: Validates and sends to UK phone numbers (+447XXXXXXXXX format)
## Requirements
- Node.js 18+
- npm or yarn
- Twilio account (for SMS sending)
## Local Development
### Installation
```bash
# Install dependencies
npm install
```
### Configuration
Create a `.env` file in the root directory:
```env
TWILIO_ACCOUNT_SID=your_account_sid_here
TWILIO_AUTH_TOKEN=your_auth_token_here
TWILIO_PHONE_NUMBER=+44XXXXXXXXXX
```
### Getting Twilio Credentials
1. Sign up for a Twilio account
2. Get a UK phone number from the Twilio console
3. Find your Account SID and Auth Token in the Twilio console dashboard
4. Add these to your `.env` file
### Start the Development Server
```bash
# Run with Netlify CLI (simulates serverless functions locally)
npm run dev
```
The app will be available at `
localhost`
The Netlify CLI will automatically:
- Serve your static files from `public/`
- Run your serverless functions from `netlify/functions/`
- Load environment variables from `.env`
### Using the Web Interface
1. Open `
localhost` in your browser
2. Add participants by clicking "Add Person"
3. Enter each person's name and UK mobile number (format: +447XXXXXXXXX)
4. Click "Generate Secret Santa Assignments"
5. After generation, choose one of two actions:
- **🔍 Reveal Assignments (Testing)**: Shows all assignments on screen for verification
- **📱 Send via SMS**: Sends assignments to participants via …