Divyansh GuptaDivyansh Gupta
All work
Mobile · Marketplace · EdTech

Kalpla

A learning marketplace app with live classes, courses, and an instructor side.

ExpoExpo RouterTypeScriptZod
Kalpla interface

Overview

Kalpla is a feature-based Expo app for online learning — course browsing, cart and checkout, live classes, assessments and results, certificates, and a wallet, alongside a separate instructor-facing area for managing content. The codebase is organised by feature (auth, courses, live-class, checkout, instructor, etc.), each with its own api/screens/components/hooks, with environment config validated through Zod and loaded per environment (development/staging/production).

The challenge

A learning marketplace has two very different users in one app — learners and instructors — plus commerce (cart, checkout, wallet), live sessions, and assessments all needing to share auth and navigation without becoming one tangled codebase.

What I built

  • Feature-based architecture: courses, live-class, assessment, certificates, checkout, wallet, cart, orders, wishlist
  • Separate instructor-facing area for content and class management
  • Expo Router navigation across public, auth, protected, and instructor route groups
  • Environment configuration validated with Zod across development/staging/production
  • Automated checks (lint, type-check, translations lint, Jest) run as a single gate before merging

Screenshots

Kalpla screenshot 1
Kalpla screenshot 2
Kalpla screenshot 3
Kalpla screenshot 4
Kalpla screenshot 5
Kalpla screenshot 6
Kalpla screenshot 7

Architecture

Expo Router App
Feature Modules
Shared API/Auth Layer
Instructor Module

Engineering highlights

Feature-based structure

Each feature (courses, live-class, checkout, wallet, …) owns its own api/screens/components/hooks, keeping cross-feature coupling low as the app grew to a dozen-plus features.

Two user experiences, one app

Learner and instructor flows share the same auth and shell but live in distinct route groups and feature modules, so instructor-only functionality never leaks into the learner experience.

Results

17

Feature modules

100+

Commits

Dev · Staging · Prod

Environments