Turn awkward dates into unforgettable connections through meaningful conversations
Spark & Tell is an interactive conversation game designed for couples to deepen their connection through thoughtful questions, playful challenges, and meaningful conversations. No awkward silences, just genuine moments of connection.
- Roll the Dice - Each number corresponds to a different category
- Answer Questions - Share your thoughts, stories, and dreams
- Award Sparks - Give your partner points based on their answers
- Connect & Win - The real victory is the connection you build together
- ๐ฒ 6 Unique Categories - From icebreakers to deep conversations
- โจ Spark Awarding System - Reward your partner for great answers
- โก Power-Ups - Skip, re-roll, or both answer for added fun
- ๐ Progress Tracking - See your connection score grow
- ๐ฑ Mobile Responsive - Play on any device
- ๐จ Beautiful Animations - Smooth, engaging user experience
- ๐พ No Sign-up Required - Jump right in and start playing
- ๐ง Icebreakers - Light, fun questions to get started
- โจ Dreams & Adventures - Explore aspirations and future plans
- ๐ค Would You Rather - Fun dilemmas and choices
- ๐ Story Time - Share personal stories and memories
- ๐ฅ Spicy - Flirty and romantic questions
- ๐ญ Deep Dive - Meaningful, vulnerable conversations
- Framework: Next.js 15 with App Router
- Language: TypeScript
- Styling: Tailwind CSS v4
- Animations: Framer Motion
- State Management: Zustand
- Package Manager: Bun
- Deployment: Vercel
- Node.js 18+ or Bun (recommended)
- Git
- Clone the repository:
git clone https://github.com/yourusername/spark-and-tell.git
cd spark-and-tell- Install dependencies:
bun install
# or
npm install- Run the development server:
bun dev
# or
npm run dev- Open http://localhost:3000 in your browser
bun run build
bun run startQuestions are stored in src/data/questions.json. Each question follows this structure:
{
"id": "unique-id",
"category": 1,
"difficulty": 1,
"points": 1,
"text": "Your question here",
"tags": ["tag1", "tag2"],
"type": "standard"
}Categories are defined in src/types/game.ts:
export enum Category {
ICEBREAKER = 1,
DREAMS = 2,
WOULD_YOU_RATHER = 3,
STORY_TIME = 4,
SPICY = 5,
DEEP_DIVE = 6,
}spark-and-tell/
โโโ src/
โ โโโ app/ # Next.js app directory
โ โ โโโ _components/ # React components
โ โ โโโ layout.tsx # Root layout
โ โ โโโ page.tsx # Home page
โ โโโ data/
โ โ โโโ questions.json # Question database
โ โโโ store/
โ โ โโโ gameStore.ts # Zustand store
โ โโโ types/
โ โโโ game.ts # TypeScript types
โโโ public/ # Static assets
โโโ package.json # Dependencies
Contributions are welcome! Feel free to:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Add more questions to existing categories
- Create new question categories
- Add sound effects and music
- Implement additional power-ups
- Add multiplayer support
- Create themed question packs
- Improve accessibility features
If you enjoy Spark & Tell and it helps bring you closer to your partner, consider:
- โญ Starring this repository
- ๐ Sharing it with friends
- โ Buying me a coffee
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with love for couples everywhere
- Inspired by the need for deeper connections in the digital age
- Special thanks to all contributors and supporters
Elliott Chong - @elliottchong
Project Link: https://github.com/yourusername/spark-and-tell
Made with โค๏ธ for meaningful connections