Project Story

About the Project

Skillpea was envisioned as a next-generation learning platform—one that goes beyond traditional courses to offer a personalized, motivating, and holistic learning experience. Drawing inspiration from the need for seamless integration between learning, coaching, and personal growth, we set out to build a platform that empowers learners of all backgrounds.

What Inspired Us

Our journey began with a simple question: How can we make learning more engaging and effective for everyone? We noticed that most platforms focused either on static content or isolated achievements, but few offered a truly personalized path or integrated coaching. This inspired us to create Skillpea—a place where expert-led courses, AI-powered recommendations, and real coaching come together.

How We Built Skillpea

We started by designing a robust backend using PostgreSQL and Supabase, leveraging modern migration practices to ensure data integrity and scalability. The early commits show our focus on getting the foundational tables right: user profiles, courses, instructors, enrollments, achievements, coaching sessions, and much more. We implemented row-level security policies from the start, reflecting our commitment to user privacy and secure data access.

As our database evolved, we seeded it with real-world sample data to test relationships and queries, continuously refining constraints and indexes for performance. We tackled unique constraint issues, improved trigger functions to keep our data fresh, and built comprehensive RLS policies that balance openness for public data with privacy for user-specific content.

On the frontend, we harnessed the power of Expo and React Native, with TypeScript as our main language. Our commit history reveals a progression from basic navigation and theming to advanced features: personalized dashboards, animated tab bars, smart recommendations, digital badges, and seamless coaching session booking. We paid special attention to UI/UX—making sure the experience is smooth, beautiful, and accessible on every device.

What We Learned

  • Database Design: How to structure a scalable, secure database for a complex SaaS application, including migrations, triggers, and RLS policies.
  • TypeScript & React Native: Building a large-scale, maintainable app with modern TypeScript features and best practices.
  • Authentication & Security: Implementing fine-grained access control and ensuring smooth, persistent authentication flows with Supabase.
  • User Experience: The value of continuous iteration, real user feedback, and the impact of small UX details (like badges and animations) on engagement.
  • Collaboration & Version Control: How a commit-driven workflow helps track challenges, improvements, and the evolution of the app.

Challenges We Faced

  • Schema Evolution: Updating and refining the database schema as new features emerged, while preserving data and minimizing downtime.
  • RLS & Auth: Debugging row-level security policies and handling edge cases in authentication, especially when sessions were missing or invalid.
  • Cross-Platform UI: Ensuring a consistent, high-quality experience across web and mobile, dealing with platform-specific quirks and performance issues.
  • Live Data & Realtime Updates: Integrating live data flows without sacrificing performance or reliability.
  • Seeding Realistic Data: Balancing development convenience with the need for realistic, privacy-respecting sample datasets.

Looking Ahead

Skillpea is more than an app—it's an ongoing journey. Every commit tells a story of growth, learning, and overcoming challenges. We're excited to continue building, learning, and helping others unlock their full potential.


Built With

  • and-real-time-database.-postgresql-?-robust
  • and-row-level-security-policies.-lucide-icons-?-modern
  • asyncstorage
  • cloud
  • cross-platform-mobile-app.-expo-router-?-for-intuitive
  • expo.io
  • file-based-navigation.-supabase-?-open-source-backend-as-a-service;-provides-authentication
  • github-actions
  • instant-restful-apis
  • lucide-icons
  • maintainable-code.-react-native-&-expo-?-for-building-a-beautiful
  • open-source-icon-library-for-a-polished-ui.-asyncstorage-?-for-secure-and-persistent-client-side-storage-(on-mobile).-safe-area-context-?-for-adaptive-designs-on-all-devices.-reanimated-?-for-smooth
  • performant-animations.-github-actions-?-for-ci/cd-and-automated-deployments.-cloud-hosting-?-supabase-cloud-for-backend
  • pl/pgsql
  • postgresql
  • react-native
  • reanimated
  • safe-area-context
  • scalable-relational-database.-pl/pgsql-?-for-database-functions
  • supabase
  • triggers
  • typescript
Share this project:

Updates

Submission history