https://github.com/kyleprotho/question-cards
A web application that provides conversation starters for meaningful connections. Filter questions by intensity across multiple categories to create the perfect set of conversation prompts for any situation.
https://github.com/kyleprotho/question-cards
Last synced: 10 months ago
JSON representation
A web application that provides conversation starters for meaningful connections. Filter questions by intensity across multiple categories to create the perfect set of conversation prompts for any situation.
- Host: GitHub
- URL: https://github.com/kyleprotho/question-cards
- Owner: KyleProtho
- Created: 2025-07-13T15:34:39.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-07-13T16:59:04.000Z (12 months ago)
- Last Synced: 2025-07-13T18:29:15.641Z (12 months ago)
- Language: JavaScript
- Size: 90.8 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🎴 Question Cards
A web application that provides conversation starters for meaningful connections. Filter questions by intensity across multiple categories to create the perfect set of conversation prompts for any situation.
**🌐 Live Demo**: [https://kyleprotho.github.io/Question-Cards/](https://kyleprotho.github.io/Question-Cards/)
## ✨ Features
- **Customizable Filtering**: Set minimum intensity levels (1-5) across 8 different categories
- **Interactive Interface**: Touch/swipe support for mobile devices plus keyboard navigation
- **Smart Question Selection**: Randomly selects from filtered questions to ensure variety
- **Progress Tracking**: Visual progress bar and navigation through your question set
- **Persistent Preferences**: Saves your filter settings for future sessions
## 🎯 Categories
Questions are rated across 8 dimensions:
- 💔 **Vulnerability** - How emotionally open the question requires you to be
- 💕 **Sexuality** - How intimate or romantic the topic is
- 📖 **Personal History** - How much it delves into your past experiences
- 😄 **Humor** - How funny or lighthearted the question is
- 🤔 **Self-Reflection** - How much introspection the question requires
- 😳 **Embarrassment Potential** - How potentially embarrassing the answer might be
- 🔗 **Depth of Connection** - How much the question builds intimacy between people
- ⚡ **Conflict Potential** - How likely the question is to cause disagreement
## 🚀 Getting Started
### Prerequisites
- Python 3.x (for data processing)
- A local web server (built-in Python server works fine)
### Installation
1. Clone or download this repository
2. Navigate to the project directory
### Running the Application
Since this application loads data via fetch(), you need to serve it through a web server:
```bash
# Using Python's built-in server
python3 -m http.server 8000
# Then open http://localhost:8000 in your browser
```
## 📊 Data Management
### Adding New Questions
1. Add questions to CSV files in the `decks/` directory
2. Ensure each question has ratings (1-5) for all 8 categories
3. Convert CSV to JSON format:
```bash
python3 scripts/csv_to_json.py
```
### CSV Format
Your CSV should include these columns:
- `Index` - Question number
- `Question` - The question text
- `Vulnerability` - Rating 1-5
- `Sexuality` - Rating 1-5
- `Personal History` - Rating 1-5
- `Humor` - Rating 1-5
- `Self-Reflection` - Rating 1-5
- `Embarrassment Potential` - Rating 1-5
- `Depth of Connection` - Rating 1-5
- `Conflict Potential` - Rating 1-5
## 🎮 How to Use
1. **Set Your Filters**: Use the sliders to set minimum intensity levels for each category
2. **Choose Question Count**: Select how many questions you want (up to available filtered questions)
3. **Start Drawing Cards**: Begin your conversation session
4. **Navigate**: Use arrow keys, swipe gestures, or navigation buttons to move between questions
5. **New Game**: Reset to try different filters or get a new random selection
## 🎯 Navigation Controls
- **Desktop**: Arrow keys (←/→), Escape to return to setup
- **Mobile**: Swipe left/right to navigate between questions
- **Universal**: Click Previous/Next buttons
## 📁 Project Structure
```
question_cards/
├── index.html # Main application interface
├── script.js # Application logic and interactions
├── styles.css # Styling and responsive design
├── data/
│ └── truth_or_drink.json # Processed question data (412 questions)
├── decks/
│ └── truth_or_drink.csv # Source question data
└── scripts/
└── csv_to_json.py # Data conversion utility
```
## 🤝 Contributing
1. Add new questions to CSV files in the `decks/` directory
2. Run the conversion script to update JSON data
3. Test the application with your new questions
4. Submit your changes
## 🎲 Current Dataset
The application comes nearly 800 carefully curated conversation starter questions designed to foster meaningful connections while respecting boundaries through the category filtering system.