$ cat ~/work/sahaay.case
Sahaay.
Full-stack product · In progress
// A hyperlocal Indian freelance marketplace — connecting everyday service providers with customers across every city, town, and village, with real-time chat, bidding, and Razorpay payments.
// Impact at a glance
- - Dual-role platform — any user can toggle between customer and provider without a second account
- - Real-time WebSocket chat with privacy controls — contact details hidden until booking is confirmed
- - Razorpay UPI + cards + netbanking + cash fallback — built for India's actual payment behavior
// summary
Sahaay (सहाय — 'help') is a hyperlocal freelance marketplace built for India's informal economy. Customers post jobs, providers bid, and work gets done — with real-time WebSocket chat, distance-based matching, Razorpay payments, and a dual-role system where any user can switch between customer and provider modes.
// problem
India's vast informal service sector — plumbers, electricians, tutors, domestic workers — has no reliable digital layer. There is no unified platform for discovery, trust, booking, and payment across every city, town, and village.
// what I built
A monorepo with a Next.js frontend and FastAPI backend: Clerk phone OTP auth, a location-indexed provider database, real-time job board with bid flows, WebSocket messaging with privacy controls, Razorpay UPI/card/netbanking integration, and multilingual UI in English, Hindi, and Telugu.
// core experience
- - Post a job, receive bids from nearby providers, accept one — full booking and payment flow without leaving the app
- - Real-time WebSocket chat with privacy flow: phone and address are only revealed after a booking is confirmed
- - Toggle between Customer and Provider modes from a single account — serve in your skill, hire in your need
// architecture
- - Next.js 14 App Router + Tailwind + shadcn/ui frontend; FastAPI Python backend with WebSockets
- - Neon PostgreSQL + Drizzle ORM; Clerk for phone OTP and Google OAuth; Razorpay for all payment methods
- - Monorepo with apps/web, apps/api, packages/db, and packages/shared — Cloudinary for photos and ID docs
// ai involvement
No generative AI layer in v1 — the product complexity is in the marketplace mechanics: matching, trust, privacy flows, and payments. AI-assisted matching and dispute resolution are planned for a later phase.
// challenges
- - Modeling India's geographic density — cities, towns, and villages with distance-based matching at scale
- - Privacy-first real-time chat: contact details must be hidden from both parties until a booking is confirmed
- - Razorpay integration across UPI, cards, netbanking, and cash fallback with webhook reconciliation
// outcome
Phase 1 MVP in active development — auth, dual roles, job board, bidding, WebSocket chat, and payment flows are built. Location intelligence and full provider discovery are the next milestones.
// why this matters
It shows I can build real marketplace mechanics — not just CRUD — with trust-first UX, multilingual support, and a payment layer designed for India's actual payment behavior.
// reflection
The hardest part is trust, not tech. The privacy flow, review system, and booking confirmation model all exist because a marketplace only works when both sides feel safe enough to transact.
// capabilities
// links