InspirationEvery week, millions of fans flood Reddit and Twitter to debate the fate of characters in Jujutsu Kaisen, One Piece, and Sakamoto Days. Theories about Gojo’s return or Usopp’s power-up in Elbaf aren’t just casual chatter—they are deeply analyzed forecasts.
We realized that while platforms like Polymarket exist for politics and finance, there was no dedicated, high-stakes home for the passion and volatility of anime fandom. We wanted to turn that emotional investment into a gamified, social experience. We built AniPredict to prove that the emerging "Vibe Coding" paradigm could deliver a complex, data-driven financial application in a single weekend. What it does AniPredict is a parimutuel prediction market where users bet "Vibe Points" on future anime outcomes. Live Markets: Users can bet YES/NO on specific plot points (e.g., "Will Gojo Satoru return in 2025?"). Dynamic Odds: The market creates its own odds based on the volume of bets in the pool—if everyone bets YES, the payout for NO skyrockets. Cyberpunk UI: A fully immersive, "glitch-aesthetic" interface inspired by series like Cyberpunk: Edgerunners and Psycho-Pass. The "Tsundere" Oracle: An integrated AI assistant named "Mina" who analyzes market trends but roasts you for making risky bets (e.g., "You really think he's coming back? Baka."). Secure Ledger: A real-time transactional system that ensures every point is tracked and every win is paid out fairly. How we built it We embraced the "Vibe Coding" methodology to compress a multi-week dev cycle into 48 hours. Instead of manually writing boilerplate, we acted as "Directors" of AI agents: The Visual Architect (v0.dev): We generated the "holographic" glassmorphism UI and glitch effects by prompting v0 with sci-fi references. This gave us our tailwind components instantly. The Builder (Lovable.dev): Lovable acted as our full-stack engineer. We used natural language to wire our React frontend directly to our backend logic, asking it to "fetch markets and display them as data chips." The Backbone (Supabase): We used Supabase for our PostgreSQL database and Authentication. We implemented strict Row Level Security (RLS) and database triggers to handle the parimutuel math securely on the server side using PL/pgSQL functions. Challenges we ran into The "Hallucination" Trap: AI tools are great at visuals but often invent database columns that don't exist. We spent hours debugging SQL errors like 42P07: relation "users" already exists because our AI agents tried to re-create tables that were already live. Transaction Safety: Making the betting math secure was difficult. We had to write custom Postgres functions (place_bet) to ensure that users couldn't bet money they didn't have, requiring us to learn database transaction isolation levels on the fly. The "Vibe" Shift: Moving from a clean corporate dashboard to a chaotic "Cyberpunk" aesthetic required fighting the default tendencies of modern UI libraries, which prefer minimalism over "juice." Accomplishments that we're proud of Functional Betting Engine: We successfully implemented a secure parimutuel betting algorithm that updates odds in real-time based on community volume. The Aesthetic: The app doesn't look like a template. The neon glows, glitch animations, and "Orbitron" typography make it feel like a piece of in-world anime tech. Speed to Ship: We went from an empty folder to a deployed, database-backed application with authentication in under 48 hours. What we learned Vibe Coding is a Skill: "Prompt Engineering" isn't enough; you need "Context Engineering." We learned that giving the AI the full database schema context prevents 90% of bugs. Security First: Even in a hackathon, setting up RLS policies at Hour 0 saved us from massive headaches at Hour 40. Community is Content: The most exciting part of the app isn't the code; it's the specific, culturally relevant questions (like the Sakamoto Days animation quality debate) that drive engagement.
Built With
- claude
- gemini
- lovable
- next.js
- supabase
Log in or sign up for Devpost to join the conversation.