Inspiration
Ripple was inspired by a simple frustration: civic complaints disappear. You report a pothole, tweet about a broken streetlight, or tell a friend about unsafe crosswalks and nothing happens. Platforms like Reddit and Twitter/X show that people naturally rally around shared experiences, and public figures like Zohran Mamdani have proven that digital engagement can drive real civic action.
We asked ourselves: what if every individual complaint could automatically find others like it, and together they became impossible to ignore? That's how Ripple was born a platform where scattered voices become collective waves of change.
What it does
Ripple allows any citizen to submit a civic complaint or concern by typing or speaking, in their own words.
Instead of letting that complaint disappear as an isolated post, Ripple uses AI to analyze it and connect it with similar concerns from other users. When multiple people are experiencing the same issue, their voices form a Ripple.
These Ripples help surface recurring problems and give governments, organizations, and companies a clearer picture of what communities are experiencing. Organizations can acknowledge a Ripple, communicate what they are doing about it, and provide updates creating a transparent loop between raising an issue, building collective support, taking action, and tracking progress.
Our goal is simple: turn scattered complaints into structured, visible, and actionable community feedback.
How we built it
We developed the frontend and backend separately before connecting them into one application. During the hackathon, we challenged ourselves to learn and integrate new technologies provided by sponsors, including ElevenLabs, Tiger Data, Auth0, and Google Gemini. For the frontend we used React, Vite, and Tailwind CSS. The backend runs on FastAPI with Auth0 authentication and connects to TimescaleDB (Tiger Data) with PostgreSQL, using pgvector for semantic similarity search. Google Gemini generates embeddings for each complaint and finds matching topics when a match is found the complaint joins an existing Ripple, otherwise a new topic is created. ElevenLabs Scribe enables real-time speech-to-text so citizens can speak their complaint instead of typing it.
Challenges we ran into
One of our biggest challenges was integrating APIs and technologies that we had never worked with before, particularly ElevenLabs, Tiger Data, Auth0, and Google Gemini. Each had its own authentication flow, SDK quirks, and documentation gaps.
We also encountered networking and port configuration problems that temporarily prevented our database and backend services from communicating correctly, and tuning the AI similarity matching required more experimentation than expected.
Finally, time was one of our biggest constraints. We had many ideas for Ripple, but during the hackathon we had to prioritize the features that best demonstrated the core concept. These challenges forced us to learn quickly, debug collaboratively, and make decisions about what mattered most for the product.
Accomplishments that we're proud of
We are especially proud that the AI-powered matching actually works two differently-worded complaints about the same issue correctly merge into one Ripple. That's real semantic understanding, not keyword matching.
We're also proud that we built a complete civic feedback loop in 36 hours: from voice input and AI matching to organization dashboards and progress tracking. Rather than a platform focused only on complaints, we built a bridge between citizens, organizations, and decision-makers, with progress that can be followed transparently. And we are proud that we turned an idea that emerged through brainstorming into a working product within the limited time of a hackathon.
What we learned
We learned that hackathons are as much about collaboration and creativity as they are about coding. Many of Ripple's strongest ideas came from sharing different perspectives, challenging each other's assumptions, and continuously refining the concept as a team.
We also discovered how much semantic search changes what's possible grouping complaints by meaning rather than keywords opened up features that simply wouldn't have been feasible otherwise. Most importantly, we learned that a simple idea can become much more powerful when a team works together to develop it.
What's next for Ripple
We believe Ripple has the potential to grow beyond a hackathon project. Our next step would be to make Ripple useful not only for citizens, but also for the organizations receiving that feedback. Governments, municipalities, nonprofits, and companies could have verified organization accounts where they can discover emerging Ripples, respond publicly, and show what actions they are taking.
Future versions could also include smarter AI-powered clustering, geographic visualization, trend detection, real-time notifications, and analytics showing which issues are growing within a community.
Ultimately, we envision Ripple as a platform where people don't just post complaints their voices connect, create momentum, and become visible action.
Built With
- auth0
- css
- elevenlabs
- fastapi
- gemini
- html
- javascript
- jsx
- pgvector
- postgresql
- python
- react
- tailwindcss
- timescaledb
- vite
Log in or sign up for Devpost to join the conversation.