Humanity Against Cards is a real-time, multiplayer web-based card game inspired by the popular "Cards Against Humanity." Built with Nuxt 4 and Supabase, it offers a seamless and interactive experience for players to compete, create, and share their own humor.
Format: Landscape. Copyright (c) 2026 Joel Kammermann, Eve Steiger, Karim Pathan.
Format: Landscape. Copyright (c) 2026 Joel Kammermann, Eve Steiger, Karim Pathan.
Format: Landscape. Copyright (c) 2026 Joel Kammermann, Eve Steiger, Karim Pathan.
Format: Portrait. Copyright (c) 2026 Joel Kammermann, Eve Steiger, Karim Pathan.
Format: Portrait. Copyright (c) 2026 Joel Kammermann, Eve Steiger, Karim Pathan.
- Title: Humanity Against Cards
- Group members: Joel Kammermann, Eve Steiger, Karim Pathan
- Roles: Joel Kammermann(development), Eve Steiger (development); Karim Pathan (UX design)
- Module / Semester / Year: Studio UX & Web 2 / 4th semester / 2026
- Intellectual property declaration: All content (code, design, text, screenshots) was created by the group members. Third-party content remains property of its respective owners.
- Real-time Multiplayer: Instant synchronization between players using Supabase Realtime.
- Multiple Game Modes:
- Classic: Play with predefined card sets (Official or User-created).
- Creative: Write your own white cards every round! The Czar also gets to craft the black card.
- Custom Card Sets: Create, manage, and share your own collections of black and white cards.
- Save Your Creations: In Creative mode, the Game Master can save all the hilarious cards written during a session into a permanent collection.
- User Authentication: Support for permanent accounts and guest logins.
- Mobile-First Design: A sleek, responsive UI built with Tailwind CSS, optimized for mobile devices.
- Frontend: Nuxt 4 (Vue 3, TypeScript)
- Styling: Tailwind CSS
- Backend & Database: Supabase
- Authentication: For user management and guest accounts.
- PostgreSQL: To store rooms, players, cards, and collections.
- Realtime: To sync game state and player actions instantly.
- Edge Functions: To handle server-side game logic securely.
- Create or Join a Room: One player creates a room and shares the 4-character room code.
- Select a Mode: The Game Master chooses between Classic or Creative mode.
- Start the Game: At least 2 players are required to begin.
- The Round:
- A Czar is chosen for each round.
- A Black Card (question/prompt) is drawn or created.
- Players submit their White Cards (answers) to fill the gaps.
- The Czar reviews all submissions and picks their favorite.
- Scoring: The winner of the round receives a point, and the next round begins!
- Node.js (v18 or higher)
- npm, pnpm, or yarn
- A Supabase account and project
-
Clone the repository:
git clone https://github.com/your-username/HumanityAgainstCards.git cd HumanityAgainstCards -
Install dependencies:
npm install
-
Environment Variables: Create a
.envfile in the root directory and add your Supabase credentials:SUPABASE_URL=https://your-project-id.supabase.co SUPABASE_KEY=your-anon-key
-
Run the development server:
npm run dev
-
Open the app: Navigate to
http://localhost:3000in your browser.
To build the application for production:
npm run buildTo preview the production build locally:
npm run previewThis project is licensed under the MIT License.


