A mobile-friendly web application for ranking affirmations from least to most acceptable. Results are collected anonymously for statistical analysis.
- Mobile-friendly Material Design UI
- Drag-and-drop sorting of 3 random affirmations
- Anonymous result collection (stored in Firebase Firestore)
- Multiple surveys support
- Admin dashboard to view and export results as CSV
- React + Vite
- Material-UI (MUI)
- Firebase Firestore (database)
- Netlify (hosting)
# Install dependencies
npm install
# Start development server
npm run devThe site is deployed on Netlify. Push to main branch to deploy automatically.
- Edit
src/data/affirmations.json - Add a new survey entry:
{
"surveys": [
{ "id": "pilot-2026", "name": "Pilot Survey 2026" },
{ "id": "survey-2027", "name": "Survey 2027" }
],
"affirmations": [...]
}- Update the hardcoded
SURVEY_IDinsrc/pages/RankingPage.jsx
- 1 = Most acceptable (green)
- 2 = Neutral / Gray zone (gray)
- 3 = Least acceptable (red)
The admin page is at /admin and allows:
- Viewing all survey results
- Filtering by survey
- Exporting data as CSV
- Morgan Fouesneau
- Ivelina G. Momcheva
Max Planck Institute for Astronomy Department of Data Science
This application was primarily vibe-coded using Kilocode (v7.0.33) and the MiniMax model (MiniMax-M2.5).
Copyright (c) 2026 Max Planck Institute for Astronomy. See LICENSE for details.