Inspiration
As developers, we often feel like we're shouting into a void when we check our Google Play app reviews. For users, leaving a review feels like throwing a needle in a haystack - you report a major bug or a brilliant feature idea, only for it to sit in a dashboard, never to be noticed. While tools exist to sync reviews to Slack or Jira, no solution actually closes the loop by turning that human frustration into a functional code contribution. To bridge the gap between "User Rant" and "Pull Request," I created Prism.
What it does
Prism is an AI-powered automation agent that monitors app reviews for a particular Google Play app and programmatically generates tested, secure pull requests (suggestions for code improvements) to fix reported issues.
1. Review Monitoring & Triage
- Prism polls the Google Play Store directly using google-play-scraper, fetching the most recent low-rated (1–2 star) reviews for your registered app every 15 minutes while Prism is running. Rather than auto-running the full pipeline on every review, Prism surfaces them in a Pending Reviews queue, which is a real-time dashboard where you can inspect the review and decide which ones are worth fixing. This prevents rate-limiting and lets developers stay in control.
2. Intent Classification & Interview Simulation
- When a review is selected, Prism sends it to Claude and it classifies the review into one of four intents: bug, feature, ux, or vague. If a review is too vague to fix immediately, the agent triggers an interview simulator to generate targeted follow-up questions about reproduction steps.
3. Semantic Code Search (RAG)
- Instead of dumping the whole repo into the LLM, PRism creates a precise "map". It shallow-clones the target repository and parses source files by language to extract individual functions. Each function becomes a chunk, embedded via Voyage AI's voyage-code-2 model (optimized for code retrieval) and stored in Pinecone. It then retrieves the top 20 code snippets most relevant to the review's specific complaint.
4. AI-Powered Fix Generation with Self-Correction
- Claude receives the review and the retrieved code chunks to propose a fix via a structured propose_fix tool. If the first attempt fails linting, Prism triggers a self-correction loop (refine_fix), sending the error logs back to Claude to attempt one more retry loop before the pipeline admits defeat.
5. The Secure Sandbox (Modal)
- Every fix is "stress-tested" in an isolated Modal Sandbox (gVisor container). It clones the app repo, applies the patches, and runs tests. If the tests or lints fail, the pipeline stops. It will not go on to make a PR.
6. Reflected Pull Requests
- On a successful sandbox run, Prism uses the GitHub API to create a new branch and open a Pull Request. The PR includes the original review, the agent’s reasoning, and proposed code changes, giving maintainers a verified, ready to review and then potentially merge solution.
7. Real-Time Dashboard
- A FastAPI dashboard streams the pipeline's progress live via Server-Sent Events (SSE). You can watch each stage - Classify, RAG, Fix, Sandbox, and PR - update in real-time with human-readable status messages as the agent works.
How I built it
Automation & Scraping:
- Google Play Scraper: Scheduled polling of live Play Store pages to ingest 1–2 star reviews.
- GitHub REST API: Automated branch creation, file commits, and PR generation via httpx.
AI Core & RAG Pipeline:
- Claude: Orchestrates the "Agentic" reasoning loop, intent classification, and multi-file fix generation.
- Voyage AI (voyage-code-2): Generates specialized high-dimensional code embeddings for asymmetric retrieval.
- Pinecone: High-performance vector database for storing and querying repository-scale code namespaces.
- AST & Regex Parsers: Language-aware chunking for Python, Java, Kotlin, and JavaScript/TypeScript.
Execution & Validation:
- Modal Sandboxes: Isolated gVisor containers for secure, remote execution of AI-generated code.
- Verification Suite: Automated linting (Ruff, ktlint) and testing (Pytest) with a refine_fix() self-correction loop.
- FastAPI: Backend orchestration and SSE (Server-Sent Events) for real-time pipeline streaming.
Challenges I ran into
It was difficult for me to use Modal at first, because I had never used it prior to the hackathon. Also, since I didn't have a google play mobile app that I made myself, I had to find other apps with their repositories on the internet - it was a bit difficult to find them initially.
Accomplishments that I'm proud of
I'm proud of the immense value and voice that I'm able to give app users through this product. Their review to PR, if accepted by the developer, not only saves the developer time to code but also makes the user's review feel validated.
What I learned
This was my first time using Modal, Pinecone, Voyage, and the google play scraper, so it was interesting to see how powerful they are when they work together in a project.
What's next for Prism
I want to see if I can later integrate OpenClaw into this app in some way. I also want to add OAuth and allow users to make their own individual accounts to use this and save their review-to-PR actions.
Log in or sign up for Devpost to join the conversation.