gig-worker-discovery

Inspiration

Delhi's informal and gig economy runs on word-of-mouth — a contractor needs 5 masons by tomorrow, or a delivery rider is between gigs, and there's no real system connecting them beyond WhatsApp groups and physical labour chowks. Meanwhile, existing gig platforms (Q-commerce, Urban Company, ride-hailing) serve narrow verticals and don't help a construction contractor find a skilled electrician, or a small business owner find reliable daily-wage help. We wanted to build something that treats all gig and wage work — from mistris to delivery partners — as one discoverable, matchable pool, using AI to do the messy work of matching skills to needs instead of relying on manual scrolling or lucky timing.

What it does

Gig Worker Discovery is a two-sided platform with separate Streamlit apps for contractors and gig workers. Workers create a simple profile (skills, experience, availability, location, expected pay) and contractors post job requirements in plain language. Our AI/LLM matching engine reads both sides — parsing unstructured skill descriptions and job requirements — and surfaces ranked matches instead of forcing rigid dropdown-based filtering. A contractor can type "need 2 people who can do tiling and basic plumbing, starting Monday, Dwarka area" and get back real candidate matches ranked by fit, not just keyword overlap.

How we built it

  • Two Streamlit apps — one for contractors (post jobs, view ranked candidates), one for gig workers (build profile, view matched opportunities)
  • LLM-based matching layer that embeds worker profiles and job descriptions, then uses semantic similarity plus an LLM reasoning pass to rank and explain matches (not just a cosine similarity score, but a short "why this match" rationale)
  • Shared backend/data store so both apps read/write to the same worker and job pool in real time
  • Kept the worker-side inputs deliberately short and structured (skill tags, area, availability) to reduce reliance on writing long profiles, since much of our target user base isn't comfortable with heavy text input

Challenges we ran into

  • Balancing structured input vs natural language — gig workers often can't articulate skills in resume-speak, so we had to design prompts and profile fields that accept casual phrasing ("I do wiring and small fitting work") and still get parsed correctly by the LLM
  • Getting match ranking to feel trustworthy — early on, semantic similarity alone surfaced weird matches (e.g. matching on tangential keywords); we had to add the LLM reasoning step to sanity-check and explain each match
  • Running two Streamlit apps against shared state cleanly, since Streamlit isn't natively built for real-time multi-user, multi-app data sync
  • Designing for low digital literacy users within a hackathon timeframe — we knew voice/regional-language input was the "right" answer but had to scope down to keep the demo buildable in the time we had

Accomplishments that we're proud of

  • Got true two-sided AI matching working end-to-end in the hackathon window — not just a filter/search UI, but genuine LLM-based understanding of both job needs and worker skills
  • Designed the worker profile flow to be usable by someone who wouldn't write a traditional resume
  • Built something that treats gig work broadly — construction, delivery, domestic, skilled trades — as one addressable market instead of siloed apps per vertical

What we learned

  • Matching quality depends far more on how you structure the input prompts than on model choice — a lot of our iteration time went into prompt design, not model swapping
  • The hardest part of "AI for informal workers" isn't the AI — it's meeting people where their literacy and language comfort actually is, and we came away wanting to push much further on voice and regional-language support
  • Real trust in a matching system comes from explainability ("why was I matched to this job") — a bare ranked list isn't enough for a worker deciding whether to travel across the city for a gig

What's next for gig-worker-discovery

  • Voice-based profile creation and job search in Hindi and regional languages, so literacy isn't a barrier to entry
  • Verified work-history and ratings so contractors can trust worker profiles and workers can flag bad-faith contractors
  • Wage transparency layer — surfacing fair/expected pay for a given skill and area alongside each match, so workers can negotiate from an informed position
  • Expanding matching to account for real-time availability and location proximity, closer to how labour chowks actually work today, but digitized
  • Piloting with a real contractor network and a labour chowk in Delhi to test actual usability, not just demo usability

Built With

Share this project:

Updates

Submission history