1. Github repo: will provide if requested
  2. Also, you need an account to be vip after paying with Stripe and an admin account to use all functions. ###email: hoangminhabc11@gmail.com ###password: minh123456
  3. Some features are only for Vip or Pro users. Some features are only for admin users.
  4. I intend to make a business with this idea. So, I was planning this idea very carefully, this project is not just for Hackathon, but also for my future career and income or business. I am gonna try hard to make a living with this project.

Inspiration

From Dishwasher to Developer: My Journey of Never Giving Up In high school, my mom gave me a small Arduino. That gift sparked a big dream — I learned C++ by trial and error, lighting up LEDs and building a mini RC car. It felt like magic: I could bring things to life with code.

But after high school, I took a safer path and majored in Tourism — a decision I came to regret. After graduating, I moved abroad, hoping for a better future. Instead, I found myself washing dishes, struggling with a language barrier, and a growing sense that I was drifting away from who I truly was.

For two years, I cleaned plates and questioned everything. But deep down, I never let go of my dream.

Then I found the Bolt Hackathon — and everything changed. As someone with language barriers, I sparked an idea to help people read more books and enhance their listening and speaking skills. So, I asked myself why not build a book summary website with AI audio timing and conversational AI, so that people can improve both listening skills and speaking skills in just one book, one moment. After a lot of thought over several nights, I came up with a book summary app, which I call ISummarize. A summary app that uses ElevenLabs audio with real-time word highlighting to help users improve their listening skills. I even integrated AI video from Tavus so users can interact with a virtual book guide.

It wasn’t easy. I had to relearn everything and fight through doubt. But each line of code pulled me further from the kitchen sink and closer to the future I always wanted.

From dishwasher to developer — it’s not just a career change. It’s proof that with persistence, anyone can rewrite their story.

And this is just the beginning.

What it does

🎧 Streams AI-generated book summaries with natural voice narration from ElevenLabs

✨ Highlights each word in real time as it’s spoken to improve English listening and pronunciation

🎥 Integrates Tavus conversational AI video companions that guide users through summaries with prompts and feedback

🧩 Let's users complete quests based on summaries to earn XP and level up their Gremlin avatar

🏅 Mints NFT badges on Algorand when users reach milestones — rewards are user-owned and verifiable

📢 Auto-posts achievements to Reddit via the Reddit API, turning book progress into public game achievements

🔐 Uses Supabase for auth, database, and storing audio playback, quests, NFTs, and progress

🚀 Deployed on Netlify for fast, global performance

🌐 Domain registered via Entri + IONOS at isummarize.site

How we built it

Frontend (Client-Side) — Powered by Bolt.new Built with Next.js 14 and styled using Tailwind CSS for fast, responsive UI Leveraged Bolt.new’s app scaffolding and starter templates to speed up development and keep code clean Integrated ElevenLabs streaming TTS with timestamp syncing for real-time word highlighting, improving English listening skills Embedded Tavus AI video companions to provide interactive, conversational book guides Used Bolt’s recommended patterns for React hooks and API calls to communicate smoothly with backend endpoints Handles user login, Reddit OAuth redirects, quest interactions, and dashboard views with intuitive UI components

Backend (Server-Side) — Structured with Bolt.new Developed as modular Express.js (.mjs) API handlers following Bolt’s clean endpoint architecture Utilized Supabase for authentication, database, and secure audio file storage — all pre-configured within Bolt’s backend setup Implemented Reddit OAuth and API calls directly in backend handlers, eliminating need for polling or separate bots, exactly as Bolt encourages Built NFT minting logic on Algorand blockchain, triggered by quest completions, using Bolt’s event-driven model to keep workflows smooth and manageable Performed complex audio-text timestamp normalization and user progress updates within backend logic, keeping frontend lightweight Deployed full stack on Netlify, using Bolt’s seamless deployment workflows and environment management

How Bolt.new Helped Provided a cohesive full-stack framework that unifies frontend, backend, and deployment pipelines Encouraged best practices for modular Express handlers and React components, keeping the app maintainable as it grows Enabled fast integration of third-party APIs (ElevenLabs, Tavus, Reddit, Algorand) with clear flow and security Simplified deployment to Netlify with custom domain support via Entri + IONOS Made complex features like blockchain minting and OAuth straightforward through reusable patterns

Challenges we ran into

1. Precise Audio-Text Synchronization ElevenLabs provides timestamps for each spoken word, but these don’t always match perfectly with the original book summary text. Words may be altered, omitted, or reordered slightly during AI narration. Solution: We developed backend logic to normalize and remap timestamps to the exact original text, ensuring the frontend can highlight each word precisely as it’s spoken.

2. Real-Time Word Highlighting Performance Highlighting words exactly as they are spoken requires synchronizing UI updates with streaming audio in real time. Challenges included: Preventing lag or jitter in the highlight animation, especially on slower devices or fluctuating networks Buffering enough audio and timestamp data ahead of playback Efficiently updating the UI at animation frame rate without excessive re-renders

3. Secure and Smooth OAuth Integration Integrating Reddit OAuth securely was critical for linking user accounts without exposing tokens or creating security holes. Challenges included: Managing OAuth redirects cleanly in the frontend Exchanging authorization codes for tokens on the backend Linking Reddit profiles to existing user accounts in Supabase

4. Complex NFT Minting on Algorand Algorand does not have a simple “mint NFT” API. Instead, minting NFTs requires: Crafting and signing low-level blockchain asset creation transactions with precise metadata Handling transaction fees and waiting for confirmations asynchronously Managing transaction failures and implementing retry logic Securing private keys and signing operations in backend environment variables Ensuring minted asset info is reliably saved in the database and reflected in user profiles

5. Coordinating Multiple APIs and Services The app integrates multiple complex services: ElevenLabs for voice, Tavus for video, Reddit API for social posts, Algorand for NFTs, Supabase for backend, and Netlify for deployment. Challenges included: Ensuring smooth, low-latency communication between frontend, backend, and third-party APIs Handling error scenarios gracefully when any external API is slow or down Keeping user experience consistent despite these dependencies

6. Scalability & Data Modeling with Supabase Using Supabase provided great flexibility, but designing efficient, scalable database schemas was challenging. Structuring tables for users, quests, game stats, Reddit profiles, and NFTs with normalization but good query performance Storing and streaming large audio files securely with proper access controls Syncing user progress in real time without excessive API calls or data duplication

7. Deployment and Custom Domain Setup Deploying the full stack on Netlify was straightforward but required learning: Environment variable management for API keys and secrets DNS setup and SSL provisioning for the custom domain isummarize.site registered via Entri + IONOS

Accomplishments that we're proud of

Synced ElevenLabs AI narration with real-time word highlighting to boost English listening skills. Integrated Tavus AI videos for interactive, personalized learning. Built a reliable backend to mint NFT badges on Algorand, giving users true digital ownership. Connected achievements to Reddit automatically—no bots or polling needed. Created a scalable full-stack app using Supabase, Express, and Next.js. Deployed smoothly on Netlify with a professional domain: isummarize.site. Built from personal experience, making the app authentic and user-focused.

What we learned

Precise syncing of AI voice and text requires deep backend and frontend coordination—small timing errors impact user experience greatly. Integrating multiple APIs (ElevenLabs, Tavus, Reddit, Algorand, Supabase) demands careful orchestration and robust error handling. Blockchain NFT minting is complex but adds real value by giving users true ownership of achievements. OAuth flows need secure, seamless handling to maintain user trust and smooth onboarding. Using Supabase streamlined backend development but designing scalable, flexible data models is key for growth. Deploying with Netlify and managing custom domains taught us the importance of solid DevOps practices. Most importantly, building from personal struggle keeps the product empathetic and user-centered.

What's next for ISummarize

Expand Content & Features: Add more book summaries, include diverse genres, and introduce personalized learning paths powered by smarter AI conversation agents. Enhance Gamification: Deepen the quest system with more challenges, social leaderboards, and community events to boost engagement. Mobile Apps: Build dedicated iOS and Android apps for seamless on-the-go learning and offline support. Partnerships & Licensing: Collaborate with publishers, educators, and language schools to integrate iSummarize into formal learning environments. Scaling & Performance: Optimize infrastructure and database schemas to support millions of users with fast, reliable service globally.

Built With

  • algorand
  • bolt
  • developer
  • elevenlabs
  • entri
  • ionos
  • netlify
  • reddit?s
  • supabase
  • tavus
  • typescript
  • vercel
Share this project:

Updates