✨ Inspiration
Keeping track of characters in a dense novel or long-running series can be challenging. Even for the most attentive fans. I built this app for anyone who wants to instantly recall who's who, reconnect with stories blurred by time, or simply dive deeper into the details that make their favorite worlds memorable.
📖 What the project does
Who Dat Dude?! web app will allow you to generate beautifully visualized character maps for any book, movie, or TV show. Just enter a title, and let the app handle the rest. Drill into any character to see their stories and trace their connections. Toggle between spoiler-free and spoiler-inclusive modes to control how much you reveal. Bookmark favorites, rate what you love, and revisit whenever curiosity strikes. Additionally, you can explore additional recommendations you're likely to enjoy.
Beyond generating new titles, you're invited to explore a vibrant, ever-expanding library of character maps generated by other users. The library is thoughtfully designed for exploration, with powerful filtering and sorting features, and visually rich presentation that makes discovery a pleasure.
For peace of mind, the app includes a clear and information-rich user dashboard. Track your credit balance, review your credit purchases and transaction history, and easily top up credits in three convenient packages (available in USD or EUR). Change your password, manage your profile, and enjoy a seamless experience throughout.
🛠️ How I built it
⚙️ A large portion of my time was spent developing a backend service (Node.js + Fastify), which chains multiple LLM queries to analyze titles, characters, and their relationships, generating consistent and visually distinctive portraits for each character.
🎨 When I began work on the frontend (Vue.js + Nuxt), I quickly realized improvisation wouldn’t cut it. I had to sit down, map out the intended app behavior, and assemble basic designs in Figma. This made the rest of the development much more manageable.
⚡ I've had my first experience with Supabase and I need to say it was incredibly helpful. I used Supabase services for user authentication, database, image storage, and Stripe integration.
✨ Thanks to Bolt, adding new features went smoothly and surprisingly fast! I was able to achieve almost everything I planned, leaving time for final polishing, enhancing user experience, and fine-tuning visuals.
👨💻 As a programmer, I also maintained a mirror of the codebase in my local IDE, for quick code reorganization, bug fixing, and precise UI adjustments. That said, all features, both frontend and backend, were first implemented on Bolt.new.
🕑 In total, I logged close to 200 hours on the project, alongside a full-time job (though I did take a week off for extra time).
🧩 Challenges I ran into
🧠 AI-generated content can be hit-or-miss. I spent significant time refining processes and iterating to improve results.
⏱️ Content generation can be slow without proper parallelization. invested effort into parallelizing the generation process and adding real-time progress updates to ensure smooth user experiences.
🪙 Pricing was tricky. Achieving high-quality portraits required costlier AI models. Balancing costs while keeping the service affordable was a major challenge.
💪 Accomplishments that I'm proud of
📊 Balanced planning, design, research, and development. Non-coding tasks often required as much or more time than actual development but were crucial for achieving the final result.
🚀 So is this basically my first startup? I went far beyond development, exploring legal, business, and technical requirements to make this a usable service. Even though it wasn’t my original goal, the one-month deadline kept me focused and turned a simple app into a fully realized product.
🔮 What's next for Who Dat Dude?!
Even though I accomplished most of what I set out to do, I still have plenty of ideas to take the project further. I hope I’ll be able to dedicate more time to the project in the future.
- ✨ Further refinement of generation processes.
- 🔁 Options to regenerate incorrect information or weak / rejected portraits.
- 🤖 A personal AI chat assistant ready to discuss plot details with you.
- 🎴 Characters from your favorite stories as collectible trading cards.
- 🌍 Enabling users to translate any content into their language.
- ☺️ Numerous quality-of-life improvements.
- 🎨 Visual overhaul.
Built With
- bolt
- cloudflare
- docker
- fastify
- github
- netlify
- node.js
- nuxt
- openai
- pinia
- shadcnui
- sigma.js
- stripe
- supabase
- tailwindcss
- typescript
- vite
- vue
- zod
Log in or sign up for Devpost to join the conversation.