DevPal

Your AI-powered development companion — A mobile application that connects developers with tech events, daily code challenges, and intelligent code reviews.

React Native Expo FastAPI Google Gemini


Inspiration

The developer community often feels fragmented. Finding relevant tech events, staying motivated to practice coding, and getting constructive feedback can be overwhelming. DevPal was born as a digital companion that gathers all of that into a single gamified experience.

We wanted to solve three key problems:

  • Event Discovery: Hackathons, conferences, and workshops are scattered across many platforms
  • Consistent Practice: Maintaining a coding habit without structure is difficult
  • Accessible Feedback: Good code reviews aren't always within everyone's reach

What it does

DevPal is a mobile app that acts as your personal development companion:

Tech Event Discovery

  • Explore hackathons, conferences, and workshops on an interactive map
  • Filter by category and location
  • Save events and receive reminders

Daily Code Challenges

  • A new challenge every day generated by AI

AI Code Review

  • Paste your code and receive a clear and actionable analysis
  • Bug detection, performance improvements, and best practices
  • Suggestions tailored to your level

Gamification

  • Earn XP for completing challenges and attending events
  • Level up and unlock badges
  • Compete on the global leaderboard
  • Maintain streaks of consecutive days

How we built it

Frontend (Mobile App)

  • React Native + Expo (iOS, Android, and Web)
  • Expo Router for file-based navigation
  • NativeWind / TailwindCSS for consistent styling
  • React Native Maps + Leaflet for maps
  • Expo Secure Store for credentials
  • React Native Reanimated for fluid animations

Backend (API)

  • FastAPI as the main framework
  • PostgreSQL + SQLAlchemy for persistence
  • Google Gemini 2.5 Flash for:
    • Daily challenges
    • Code reviews
    • Tech events
    • Dev ecosystem news
  • APScheduler for scheduled tasks
  • RestrictedPython to execute code securely

Architecture

┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ Mobile App │────▶│ FastAPI │────▶│ PostgreSQL │ │ (Expo/RN) │ │ Backend │ │ Database │ └─────────────────┘ └────────┬────────┘ └─────────────────┘ │ ▼ ┌─────────────────┐ │ Google Gemini │ │ 2.5 Flash AI │ └─────────────────┘

Challenges we ran into

Secure Code Execution

Running user code was critical. We used RestrictedPython to sandbox execution and prevent dangerous access.

Consistent Prompts

Getting Gemini to generate correctly formatted challenges required a lot of iteration and JSON validation.

Cross-platform Maps

React Native Maps doesn't work well on web, so we used Leaflet on web and RN Maps on mobile.

Costs and Rate Limiting

We implemented caching and rate limiting with SlowAPI to balance UX and costs.

Performance

Optimizing animations and images for low-end devices was an iterative process.

Accomplishments

  • Complete gamification system
  • Mobile code editor with real-time execution
  • Deep integration with Gemini
  • Scalable architecture
  • Polished UI/UX with glassmorphism and haptic feedback
  • Complete and secure authentication
  • Personalized onboarding

What we learned

Technical

  • Designing effective prompts for LLMs
  • Security when executing untrusted code
  • Gamification system design

Product

  • Immediate feedback is key
  • Gamification increases motivation
  • Personalization improves retention

Team

  • Constant frontend ↔ backend communication
  • Rapid iteration with real testing

What's next

Short term (v1.1)

  • Real-time multiplayer
  • More languages (Rust, Go, TypeScript)
  • Push notifications

Medium term

  • Integrated community
  • Personalized learning paths
  • GitHub integration
  • Mentorships

Long term

  • DevPal Pro
  • Options for companies or organizers to connect with institutions looking to rent out or offer venues for conferences, hackathons, etc.
  • Personalized news
  • Public API
  • Global expansion
Share this project:

Updates