← All work
Mobile, 2021 – 2023

Yantra — home services marketplace app

Flutter customer app for booking home services in Nepal, with Khalti payments, OTP login and push.

Role
Mobile developer
Context
Yantra Group, Nepal
Scale
~230 Dart files, 200 of 203 commits, 18 months
Live
landing.yantragroup.com.np
Yantra service detail and checkout screens
Service detail and order summary. Design from Ottr's sprint; the Flutter app is mine.

Background

Yantra lets people in Kathmandu book plumbers, electricians, painters and other home services. It started in 2021 as a startup competing with established players in a market where people hire whoever they already know.

Ottr ran the discovery and design sprint. I built the customer app over eighteen months against a Koa and MongoDB backend built by a colleague.

The problem

Trust was the product. Users needed to see prices up front, book a time that suited them, change or cancel without calling, and know where their job stood.

Users are on cheap Android phones and unreliable networks, paying with Nepali wallets, and booking on dates in the Nepali calendar. Most Flutter packages assume none of that.

Approach

  1. flutter_bloc with rxdart streams for search, cart, booking and rescheduling. Connectivity-aware retries with Dio.
  2. Khalti in-app payments, phone OTP login via Firebase, FCM push and local notifications.
  3. Nepali calendar handling with nepali_utils, force-update via store redirect, Sentry with Dio tracing.

Architecture

yantra-appFlutter customer app. Mine, 200 of 203 commits.
yantra-dashboardReact + Ant Design admin for services, bookings, providers. ~80 of 254 commits mine, with Socket.IO notifications.
yantra-backendKoa + MongoDB, Casbin RBAC, Khalti, Sparrow SMS. Colleague-built.

Outcome

  • Shipped on Android and iOS against api.yantragroup.com.np and maintained for a year and a half.

Stack

FlutterBLoCDioFirebase AuthFCMKhaltiSentry