Skip to content

Marqed4/PopularVote

Repository files navigation


PopularVote logo

𝑃𝑜𝑝𝑢𝑙𝑎𝑟𝑉𝑜𝑡𝑒

Anonymous questions, collectively surfaced.

🌐 Popular Vote Website

📦 View the repository


Open a session, let the room ask anything, cluster the noise into signal, and respond to what actually matters.

Homepage

Day & night mode with background selector

Day & night mode · Background selector


See it in action

Start a session or jump into one

Create a session in seconds, or join with a code, a link, or a QR scan.

Watch the room fill up , in real time

Share the code, watch submissions roll in, cluster when you're ready.

The host's full view

Clusters, responses, participant management , everything in one place.

What participants see

Submit anonymously, watch your question surface, upvote what matters.

The participant's full view

See clusters form, read responses, and dig deeper in round two.

Close out & take the results with you

End the session and download a clean PDF summary of every cluster and response.


Features

  • Anonymous submissions Participants submit questions freely without any pressure. No names, no judgment.

  • AI-powered clustering Submissions are automatically grouped by meaning so hosts see themes, not clutter.

  • Host responses Hosts write a single response per cluster, answering everyone who asked the same thing at once.

  • Live session management Share a session code, link, or QR code. Track participants and submissions in real time.

  • Participant upvoting Once results are live, participants can upvote questions inside a cluster to surface what matters most.

  • Session summary & PDF export At the end of a session, a full summary of clusters and host responses can be downloaded as a PDF.

  • Optional accounts Sign in to have your submissions remembered across devices. The app is fully usable without an account.

  • Day & night mode Switch between light and dark themes with a customizable background selector.


Getting Started

1. Clone the repo

git clone https://github.com/Marqed4/PopularVote.git
cd PopularVote

2. Install dependencies

npm install

3. Set up environment variables

Create server/database/.env:

SUPABASE_URL=your_supabase_url
SUPABASE_KEY=your_supabase_anon_key
GEMINI_API_KEY=your_gemini_api_key

Create .env in the project root:

VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
VITE_API_URL=your_server_url

4. Run the project

npm run dev

This starts both the Vite frontend and the Node server concurrently. Open http://localhost:6967 in your browser.


Tech Stack

  • Frontend : React + Vite
  • Backend : Node.js (Express) + Socket.io
  • Database : PostgreSQL (via Supabase)
  • Authentication : Google Identity Services (Google Auth API 2.0)
  • AI : Google Gemini
  • Styling : CSS

Contributing

If you're thinking about contributing to PopularVote, first of all, thank you! Feel free to open an issue or submit a pull request — all feedback is welcomed.

For full contribution guidelines, please see the Contributing Guide.


License

This repository is licensed under GNU General Public License (GPLv3)


Legal

For all licensing, service notices, privacy details, and security policies, see the Legal Overview.

About

Private query session w/ AI forked clustering & condensing

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors