🧠 Inspiration

During our internships in Singapore, we often found ourselves commuting 1–2 hours daily. On those long rides, we noticed how many people (including ourselves) were doomscrolling mindlessly, especially at night. Afterwards, we’d often feel like we wasted time and we realized this is a common global problem.

We wanted to change that.

Our Idea: A microlearning app that transforms how people consume information. It combines bite-sized news, fun facts, and genuinely useful content in a visually engaging format. It helps users stay informed, spark curiosity, and build a habit of meaningful learning without the noise of social media or the guilt of wasted time. Just effortless, addictive knowledge that fits into your day and fuels better conversations.

Our goal is to help users become the most interesting person in the room all while casually doomscrolling on Dopa.

🛠️ How We Built It

Frontend: React Native with Expo + TypeScript

Backend: FastAPI (Python) + Supabase (PostgreSQL, Auth, RLS)

AI-assisted dev: Cursor and Bolt for rapid prototyping

Content pipeline:

OpenAI scripts to generate factual, engaging educational blurbs

Stock videos from Pexels

FFmpeg for stitching, subtitle burning, and format optimization

ElevenLabs for AI voiceovers of text-based facts

Expo AV for video/audio playback, and Zustand for state management

Deployed via Supabase and Expo Go

🧱 Challenges We Ran Into

Time: We all had 9–6pm internships, so all Dopa development happened at night. It was intense — but we stayed committed.

Mobile dev: This was our first time building a full mobile app from scratch. It was a steep learning curve from our usual web stack.

Multimedia: Getting smooth video/audio playback with fast loading and mute toggles was surprisingly hard, especially on React Native.

Scope creep: We had big ideas (friends system, more gamification features, monetization), but had to cut features to meet MVP deadline and prioritized the core learning experience

🎓 What We Learned

The algorithms behind TikTok, Instagram, and YouTube Shorts — and how to implement our own personalized recommendation engine based on topic affinity

How to use AI coding tools like Bolt and Cursor to dramatically speed up product development

How to design content that’s optimized for attention, retention, and bite-sized learning — including auto-generation via OpenAI, ElevenLabs, and FFmpeg

Structuring user personalization systems (topic affinity + smart recommendations)

🏅 Accomplishments that we're proud of

Built a complete mobile app experience from scratch

Designed and deployed a custom content generation pipeline using multiple AI tools

Created a personalized recommendation engine that actually adapts to users

Implemented real-time interaction tracking, streaks, coins, and badge systems

🔮 What’s next for Dopa

Add social features: follow friends, shared learning challenges

Integrate monetization: premium unlocks, ads, and tokenized incentives

Optimize performance for video reels and animations, and make it even more engaging and addictive to scroll

Expand content categories: history, science, life hacks, careers, psychology, and more

💬 Final Thoughts

Even though it was tiring at times, building Dopa was fun, meaningful, and energizing. We built something that genuinely solves a problem we face every day — and we plan to keep working on it.

We’re excited to keep pushing Dopa forward, because we believe this is a better way to learn in the modern world.

Built With

  • bolt.new
  • cursor-ai
  • eas
  • elevenlabs
  • expo-av
  • expo-go
  • expo-router
  • fastapi
  • ffmpeg
  • git
  • github
  • lottie
  • lucide-icons
  • openai-gpt-4
  • pexels-api
  • postgresql
  • pydantic
  • python
  • railway
  • react-native-gesture-handler
  • react-native-haptic-feedback
  • react-native-reanimated
  • react-native-with-expo
  • render
  • row-level-security
  • supabase
  • supabase-auth
  • supabase-python-client
  • typescript
  • zustand
Share this project:

Updates