Youre a solutions architect. below you will find a Game design document. i want you come up with a architecture for this game. I want initially to keep the cost low, but the game should feel quick, real time and snappy. I prefefer to use react, typescript and node and firebase. But if you have better suggestions for the use case. please provide them

### Game Design Document

---

## Overview

Dance Floor Ranking is an interactive and engaging team-based music game designed to test teams' intuition, creativity, and collaborative skills. The game revolves around selecting and ranking music tracks that best fit a given challenge, such as "most danceable song" or "best song to wake up to." It combines elements of strategy, musical taste, and group dynamics to create a fun and accessible experience for participants of all musical backgrounds.

---

## Objective

- Primary Goal: Teams aim to select or contribute songs that will be ranked highest by all teams based on how well they fit the assigned challenge.
- Secondary Goals:
- Earn bonus points by having your contributed song rank highly.
- Strategically use a Joker to double your points in a round.
- Engage in collaborative discussions and enhance team synergy.

---

## Components

- Teams: 2 to 6 teams, each consisting of 2 to 5 players.
- Rounds: The game consists of multiple rounds, each with a unique musical challenge.
- Songs per Round:
- Game-Provided Songs: A number of songs equal to the number of teams.
- Team-Contributed Songs: Each team adds one song of their choice per round.
- Roles: The role of Round Host rotates among teams each round.
- Joker Tokens: Each team has one Joker to use during the game.

---

## Setup

1. Preparation:
- Equipment:
- A device capable of playing music (e.g., smartphone with speakers).
- Access to a music streaming service (e.g., Spotify).
- Scoreboard visible to all teams (e.g., whiteboard or digital display).
- Teams Formation:
- Divide players evenly into teams.
- Assign a team name and appoint a team captain for communication.
- Joker Distribution:
- Provide each team with one physical Joker token or note its availability.

2. Game Materials:
- Predefined list of challenges suitable for the number of rounds.
- Prepared list of game-provided songs matching potential challenges.

---

## Game Flow

### 1. Round Structure

Each round follows these steps:

1. Challenge Announcement:
- The Round Host announces the musical challenge to all teams.
- Example Challenges:
- "Most Danceable Song"
- "Best Road Trip Anthem"
- "Ultimate Party Starter"
- "Song That Makes You Feel Empowered"

2. Song Selection:

a. Game-Provided Songs:

- The Round Host presents a number of songs equal to the number of teams.
- These songs are selected from the game’s prepared list to match the challenge.
- Presentation:
- Display song titles and album covers, without revealing the artist names if desired.

b. Team-Contributed Songs:

- Each team chooses one song they believe best fits the challenge.
- Rules for Selection:
- Songs must be available on the chosen music streaming service.
- Songs should be appropriate for all audiences.
- Teams have a set time (e.g., 2 minutes) to decide on their song.

3. Music Playback:

- All selected songs are played for the group.
- Order of Playback:
- Shuffle the playback order to avoid bias.
- Alternatively, play game-provided songs first, followed by team-contributed songs.
- Playback Duration:
- Play a 30-second snippet of each song, focusing on the chorus or a representative section.

4. Discussion and Reactions:

- Teams can briefly discuss their thoughts on each song.
- Encourage positive and fun interactions.

5. Ranking/Voting:

- Each team ranks the songs (excluding their own contributed song) based on how well they fit the challenge.
- Ranking System:
- Assign points in descending order (e.g., 1st choice = highest points).
- Teams submit their rankings privately to the Round Host.

6. Scoring:

- Points Allocation:
- For each ranking, songs receive points corresponding to their position.
- Example with 4 teams (excluding own song):
- 1st Place: 3 points
- 2nd Place: 2 points
- 3rd Place: 1 point
- Bonus Points:
- If a team’s contributed song ranks in the top positions based on cumulative points, they earn bonus points.
- Bonus Structure:
- 1st Place Contributed Song: +2 points
- 2nd Place Contributed Song: +1 point
- Joker Usage:
- If a team played their Joker this round, their total points (including bonuses) are doubled.

7. Score Update:

- The Round Host updates the scoreboard with the new scores.
- Provide a brief summary of standings.

8. Role Rotation:

- The role of Round Host passes to the next team for the following round.
- Rotation continues until all teams have hosted a round or the predetermined number of rounds is reached.

---

### 2. Detailed Mechanics

#### A. Challenge Selection

- The Round Host selects a challenge from the prepared list or creates one that aligns with the group's interests.
- Challenges should be clear, creative, and open to interpretation.

#### B. Game-Provided Songs Selection

- Songs should be diverse and well-known to accommodate varying musical tastes.
- The Round Host ensures the songs align with the challenge and are appropriate.

#### C. Team-Contributed Songs Guidelines

- Teams strategize to select a song that others will rank highly.
- Encourage teams to consider songs that are popular or have universal appeal.

#### D. Joker Mechanism

- Each team has one Joker to use during the game.
- Usage Rules:
- The Joker must be played before the challenge is announced.
- Teams signal their Joker play by handing their Joker token to the Round Host.
- A team can only use their Joker once per game.
- Strategic Considerations:
- Using the Joker early can give an early lead.
- Saving it for later rounds may be beneficial if a team is behind.

#### E. Scoring Details

- Ranking Points:
- Points are awarded based on cumulative rankings from all teams.
- Teams cannot rank their own contributed song.
- Tie-Breakers:
- In case of a tie in points, the song with the most first-place rankings wins.
- If still tied, the Round Host may decide on a quick tie-breaker, such as a trivia question related to the songs.

---

## Game End and Winning

- The game concludes after the predetermined number of rounds.
- The team with the highest total points at the end of the game is declared the winner.
- Prize Suggestions:
- Bragging rights.
- A small trophy or token.
- The opportunity to choose the first challenge in the next game session.

---

## Rules and Etiquette

- Fair Play:
- Teams should avoid selecting songs with offensive or inappropriate content.
- Respect all participants and their musical tastes.
- Time Management:
- Adhere to time limits for song selection to keep the game flowing.
- Participation:
- Encourage all team members to contribute to discussions and decisions.
- Device Usage:
- Teams may use personal devices to search for song ideas but should avoid distractions.

---

## Example Round Simulation

### Teams:

- Team Red
- Team Blue
- Team Green
- Team Yellow

### Round Host:

- Team Red is the Round Host for this round.

### Challenge:

- "Ultimate Feel-Good Song"

### Step-by-Step Breakdown:

1. Challenge Announcement:

- Team Red announces the challenge: "Ultimate Feel-Good Song"

2. Song Selection:

a. Game-Provided Songs:

- Team Red selects four songs from the game’s list:
1. "Walking on Sunshine" – Album cover with bright sun and clouds.
2. "Good Vibrations" – Beach-themed album cover with surfboards.
3. "I Got You (I Feel Good)" – Retro album cover with energetic typography.
4. "Happy" – Minimalist cover with a yellow background and smiley face.

b. Team-Contributed Songs:

- Team Blue selects "Best Day of My Life" by American Authors.
- Team Green selects "Lovely Day" by Bill Withers.
- Team Yellow selects "Can't Stop the Feeling!" by Justin Timberlake.
- Team Red (since they are the host, they may or may not contribute depending on agreed rules) selects "Good Life" by OneRepublic.

3. Music Playback:

- All eight songs are played for 30 seconds each.
- Order of Playback (shuffled):
1. "Happy"
2. "Lovely Day"
3. "Good Vibrations"
4. "Best Day of My Life"
5. "Walking on Sunshine"
6. "Can't Stop the Feeling!"
7. "I Got You (I Feel Good)"
8. "Good Life"

4. Discussion and Reactions:

- Teams express enjoyment and note which songs resonated most with the challenge.

5. Ranking/Voting:

- Teams rank the songs (excluding their own contributed song).
- Ranking Sheet Example:

Team Blue's Rankings (cannot rank "Best Day of My Life"):
1. "Can't Stop the Feeling!"
2. "Walking on Sunshine"
3. "Happy"
4. "Good Life"
5. "I Got You (I Feel Good)"
6. "Good Vibrations"
7. "Lovely Day"

(Similar rankings are submitted by other teams.)

6. Scoring:

- Points Allocation:

- Points are tallied based on rankings from all teams.
- Suppose after tallying, the top three songs are:
1. "Can't Stop the Feeling!" (Team Yellow's contribution)
2. "Walking on Sunshine" (Game-provided song)
3. "Happy" (Game-provided song)

- Bonus Points:

- Team Yellow receives +2 bonus points for their contributed song ranking first.
- No bonus points for other teams as their contributed songs did not rank in the top positions.

- Joker Usage:

- Team Green played their Joker this round.
- Their points for this round are doubled.

7. Score Update:

- The scoreboard is updated with the new points, including bonuses and Joker effects.

8. Role Rotation:

- The role of Round Host passes to Team Blue for the next round.

---

## Strategies and Tips

- Song Selection:
- Choose songs with broad appeal.
- Consider the tastes of other teams.
- Joker Timing:
- Play the Joker when confident in the challenge or your song selection.
- Hosting Role:
- As Round Host, select challenges that can showcase diverse songs.
- Ensure fairness in song presentation.

---

## Appendices

### A. Sample Challenges List

- Best Song for a Road Trip
- Song That Always Gets You on the Dance Floor
- Most Inspiring Anthem
- Classic Throwback Hit
- Perfect Song for a Chill Evening
- Song That Reminds You of Summer
- Ultimate Karaoke Song
- Best Song to Work Out To
- Song with the Best Lyrics
- Underrated Gem Everyone Should Know

### B. Game-Provided Songs Library

(Prepare a list of songs suitable for various challenges, ensuring diversity in genre and era.)

### C. Role of the Round Host

- Ensure smooth progression of the round.
- Manage time effectively.
- Be impartial and fair in handling submissions and scoring.

---

## Final Notes

Dance Floor Ranking is designed to create a lively and inclusive atmosphere where participants can share their love for music while engaging in friendly competition. The game's structure allows for flexibility and can be adapted to suit different group sizes and preferences. By incorporating elements like team-contributed songs, Jokers, and rotating roles, the game encourages strategic thinking, creativity, and active participation from all players.

Have fun, enjoy the music, and may the best team win!

---