Building an AI wrapper is easy; building one that doesn't lie to you is hard. Divyansh0208's latest submission to the Hacktoberfest Open-Source AI Challenge, GigLift, tackles a specific friction point in the Indian gig economy: converting messy, Hinglish WhatsApp messages into structured job briefs for students. The project is a working prototype deployed on Render's free tier, using Django and HTMX, but its real value lies in how it constrains the LLM's tendency to invent facts. Crucially, GigLift itself earns nothing; nobody has paid through it and no real client has used it yet.

The Problem with Asking Models for Prices

The core design philosophy here is born from a painful lesson: if you ask a model for a price, it will give you one, even if the client never stated one. The developer states, 'I stopped letting it decide numbers.' In GigLift, the developer separated concerns strictly. A custom rule-based extraction module in core/extract.py handles all numerical dataβ€”budgets and deadlinesβ€”using regex that understands English, Hinglish, and Devanagari digits. The model, Gemma (specifically gemma-4-26b-a4b-it), is only responsible for understanding the semantic intent and generating the deliverables and open questions. If the client didn't specify a budget, the system labels any AI-suggested price as a 'rough guess' and asks the user to confirm, preventing silent hallucinations.

Eval Results and Edge Cases

To verify the rules, the developer wrote 30 briefs by hand, built the rules on them, and then froze extract.py. A rigorous eval was conducted on 32 new held-out briefs, comparing 'Old regex' against 'New rules'. The results were stark: the new rules correctly read stated budgets in 22 out of 25 cases with zero errors, compared to 11 correct and 14 wrong for the old regex method. Furthermore, the new rules correctly read stated deadlines in 25 out of 27 cases with zero errors, whereas the old regex method got 8 right and 19 wrong. Crucially, the new rules never 'invented' a budget or deadline when none was provided, whereas the old regex method invented a budget in 7 cases and a deadline in 5 cases. The few misses involved complex phrasings like 'paanch hazar' (five thousand in words) or relative deadlines like 'within 48 hours,' which the system correctly flagged for user input rather than guessing.

Why Open Innovation Matters

The choice of Gemma was driven by the principles of open innovation, specifically regarding cost, privacy, and replaceability. The developer notes that because code decides the numbers, the model only has to read a messy request and write a short brief, meaning a mid-size open model is sufficient. This makes the model replaceable; switching backends requires only changing the GEMMA_MODEL environment variable. Financially, the project relies on Google's free API tier, but the developer emphasizes that 'open weights mean I'm not stuck if that free tier changes.' The ultimate goal is to run the same prompts on local hardware to eliminate API costs entirely.

Infrastructure and Privacy Goals

From an infrastructure perspective, GigLift is impressively lean. The entire AI logic lives in one file, core/llm.py, using only the Python standard libraryβ€”no heavy SDKs. Security wasn't an afterthought either, with Content Security Policy (CSP) nonces, rate limiting, and ownership checks implemented alongside 31 Django tests. However, privacy remains the most significant hurdle. The developer admits, 'Privacy... is the least finished part.' Currently, sensitive messages containing phone numbers are sent to Google's API. The developer frames running open weights locally as a goal rather than a current plan, stating, 'I haven't built that yet.' The aim is to ensure that a shop's message doesn't end up inside a closed vendor's system, but for now, the data leaves the server.

Key Takeaways

  • Hybrid AI systems that use code for deterministic tasks (numbers) and LLMs for semantic tasks (language) are more reliable than pure LLM solutions.
  • Open weights offer critical advantages in replaceability and long-term cost control, preventing vendor lock-in when free tiers change.
  • Local inference remains the necessary end-state for sensitive data privacy, though it is currently unimplemented in this prototype.
  • GigLift is a proof-of-concept with no current revenue or real-world users, highlighting the gap between technical validation and product-market fit.

The Bottom Line

GigLift is a masterclass in knowing when not to use AI. By letting Django and regex handle the truth and Gemma handle the translation, the developer built a tool that actually works for real-world, messy inputs. It’s a practical reminder that in dev tools, reliability beats raw model power every time, and open weights provide the only true path to privacy and cost stability.