Kalo Chasma

Kalo Chasma
Nepal’s premium eyewear marketplace and eye-care booking platform.
Project Overview
Kalo Chasma (“black glasses” in Nepali) is a multi-vendor eyewear marketplace that connects Nepal’s optical centers with customers in one app — frames, lenses, contact lenses, and real eye care. Customers browse many stores, check out once (the cart automatically splits into one order per optical center), try frames on their face with the camera, and book eye exams — in English or नेपाली, with or without an account.
The standout feature is Vision Mirror: automatic virtual try-on that detects face landmarks on-device (Google ML Kit on Android/iOS, MediaPipe on web) and places glasses over the user’s eyes in real time — private by design, the camera feed never leaves the device.
Features Built
My Responsibilities
- Full product build: 25 feature modules under
lib/features/*— consumer shopping, eye-care booking, content, and a complete admin dashboard — from a single Dart codebase targeting four platforms. - Vision Mirror try-on engine: platform-adaptive face-landmark detection (ML Kit on Android/iOS, MediaPipe Face Landmarker via JS interop on web) wired through conditional Dart exports, with coordinate-space normalization between live camera streams and uploaded photos, smooth animated glasses placement, and manual fine-tune gestures layered on top.
- Multi-vendor commerce: per-business cart splitting at checkout, each order paid to and delivered by its optical center; eSewa and Stripe payment flows backed by TypeScript Cloud Functions with signature-verified webhooks.
- Role-based admin platform: six roles (super admin, business admin, practitioner, receptionist, bookkeeper, user) enforced end-to-end — Firebase Auth custom claims, Firestore security rules, and role-scoped admin UI covering orders, products, appointments, staff, content, and audit logs.
- Cloud backend: Firebase Auth, Firestore, Storage, Cloud Messaging, Hosting, and 20+ Cloud Functions — payment webhooks, notification fan-out, staff-claim propagation, scheduled reminders, and analytics rollups.
- Push notification pipeline: FCM topic subscriptions per user, foreground display via local notifications, tap-to-navigate deep linking through go_router, and user preference enforcement on both client and server.
- Cross-platform media handling: pure-Dart image compression (chosen over native plugins for identical behavior on web/mobile/desktop) applied to support attachments, prescriptions, and admin product uploads.
- Release engineering: dev/prod build flavors across Android, iOS, macOS, and web; app icons, splash screens, store listing copy, and platform entitlements.
Tech Stack
| Category | Tools / Libraries |
|---|---|
| Frontend | Flutter, Dart, Material 3, go_router, responsive layouts |
| State & DI | flutter_bloc, equatable, get_it |
| Backend | Firebase Auth, Cloud Firestore, Storage, Cloud Functions (TypeScript), FCM, Hosting |
| Payments | eSewa, Stripe (webhook-verified server flows) |
| Computer Vision | Google ML Kit Face Detection (Android/iOS), MediaPipe Face Landmarker (web, JS interop) |
| Media | camera, image (pure-Dart compression), cached_network_image, image_picker |
| Localization | flutter_localizations, intl — full English + Nepali (नेपाली) |
| Dev Tools | Flutter flavors, Firebase Emulator Suite, Makefile, Git |
Architecture Highlights
- Feature-first modules: each feature owns its screens and state, sharing a common repository layer over Firestore and a core widget/theme kit.
- Platform-adaptive by design: conditional exports keep ML Kit out of web builds and MediaPipe out of native builds; unsupported platforms degrade honestly instead of breaking.
- Security in depth: Firestore and Storage rules mirror the same role model enforced by Auth custom claims — no client-trusted authorization anywhere.
- Guest-first UX: anonymous sessions can browse, quiz, wishlist, and check out; data merges into the real account on sign-up.
- Test coverage: 46 unit/widget tests spanning cart splitting, face-alignment geometry, Frame Finder scoring, image compression, and role logic — analyzer-clean codebase.
Outcome / Highlights
- One codebase, four platforms: Android, iOS, web PWA, and macOS ship from the same Dart source with dev/prod flavors.
- Privacy-first try-on: all face detection runs on-device; nothing is uploaded unless the user explicitly saves a snapshot.
- Zero-commission marketplace model: optical centers join on a flat subscription and get paid directly — the platform never sits in the money flow.
- Truly bilingual: every screen, category, and notification available in English and Nepali.
- Production-seeded demo: live Firebase backend with 80 products across 8 categories, try-on assets, staff roles, appointments, blogs, and FAQs.
Skills Demonstrated
- Building production-grade multi-vendor marketplaces with real payment and delivery flows
- Integrating on-device ML (face landmarks) across three different platform backends behind one clean interface
- Designing serverless backends with security rules, custom claims, webhooks, and scheduled jobs
- Shipping a bilingual, guest-friendly UX with Material 3 theming in light and dark modes
- Managing multi-flavor releases across mobile, desktop, and web from one repository
Work With Me
I specialize in cross-platform Flutter apps, Firebase-backed marketplaces, on-device ML features, and polished Material 3 UX.
Let’s build your next Flutter appDescription
Eachut
Jul 2026
Kalo Chasma ("black glasses" in Nepali) is Nepal's premium eyewear marketplace and eye-care booking platform, built with Flutter for Android, iOS, web, and macOS by Eachut Pvt Ltd. It brings the country's optical centers into one app where customers can browse frames, sunglasses, and contact lenses from multiple stores and check out once — the cart automatically splits into one order per center, paid to and delivered by that center directly. Standout features include Vision Mirror, a privacy-first virtual try-on that places glasses on your face in real time using on-device face detection, a Frame Finder quiz for personalized recommendations, at-home frame trial boxes, and built-in eye-care tools like exam booking and prescription management — all available in English and नेपाली, with no account required to shop.