SignalX
Turning Data into Dignity: AI-Powered Livelihood
Created on 28th December 2025
•
SignalX
Turning Data into Dignity: AI-Powered Livelihood
The problem SignalX solves
SignalX: AI-Powered Livelihood Intelligence Platform:-
🚀 Tagline:
Preventing distress migration in rural India through AI-powered livelihood intelligence and hyper-local job matching.
💡 The Problem (Inspiration):
In rural West Bengal, and across much of India, "Income Collapse" is a silent crisis. Every year, millions of potential workers face a choice: starve due to seasonal unemployment or migrate to distant cities under hazardous conditions.
We identified three critical gaps driving this distress migration:
-
Information Asymmetry: Workers don't know about local jobs or government schemes (like MGNREGA or Lakshmir Bhandar) right next door.
-
Data Blindness: Administrators lack real-time data to predict where and when an income collapse is about to happen, leading to reactive instead of proactive aid.
-
Skill Mismatch: Local employers can't find reliable labor, while workers sit idle, creating a localized supply-demand paradox.
-
SignalX was born from the idea: What if we could predict distress before it forces a family to migrate?
🛠️ The Solution:
SignalX is a cohesive ecosystem bridging the gap between rural workers, local employers, and the government. It consists of two synchronized platforms:
-
The SignalX Mobile App (Flutter): A localized, voice-first tool for workers.
-
Native Language Support: Fully localized in Bengali (and English) for accessibility.
-
Hyper-Local Job Matching: Connects workers to nearby daily wage and contract jobs.
-
Scheme Bridge: Automatically matches workers with government schemes they are eligible for but haven't claimed.
-
AI Guide: A built-in AI assistant (powered by Groq/Llama 3) that offers personalized livelihood advice.
-
The SignalX Command Center (Next.js): A powerful dashboard for Administrators and Employers.
-
Predictive Analytics: Uses AI to analyze labor data and flag "High-Risk Blocks" where migration is imminent.
-
Real-Time Monitoring: Tracks MGNREGA active worker stats, wage trends, and supply-demand gaps live.
-
Smart Recruitment: Employers can filter verified candidates by specific skills (e.g., "Mason", "Electrician") matched by AI.
⚙️ How It Works:
-
Data Ingestion: Workers sign up via the app using simple OTP authentication. Their skills, location, and work preferences are stored.
-
The AI Engine: We use Groq (Llama 3) to process this unstructured data. It analyzes migration trends, wage gaps, and local demand to generate "Risk Scores" for each district.
The Match:
-
For Workers: The app pushes notifications for new local jobs and relevant government schemes.
-
For Admins: The dashboard highlights red zones (High Risk) on the map, prompting targeted intervention (e.g., opening new MGNREGA worksites).
-
The Loop: As more workers find local employment, the risk score decreases, effectively visualizing the prevention of distress migration.
💻 Tech Stack:
-
Mobile App: Flutter (Dart), Provider for state management, Lottie for animations.
-
Web Dashboard: Next.js 14 (App Router), TypeScript, TailwindCSS.
-
Backend & DB: Firebase (Auth, Firestore, Cloud Functions).
-
AI & LLM: Groq API (Llama-3-70b-versatile) for ultra-fast inference.
-
Visualization: Recharts for data analytics, Framer Motion for UI interactions.
-
Communication: Nodemailer for bulk admin alerts.
🧱 Challenges I Ran Into:
-
Localization Complexity: Ensuring the app felt "native" to a Bengali speaker wasn't just about translation; it was about cultural context. We had to refine terms like "AI Insights" to more natural phrasing like "AI পরামর্শ" (AI Advice).
-
Real-time Synchronization: Keeping the massive amount of job application data in sync between the mobile app (for thousands of users) and the admin dashboard without blowing up our Firebase read quotas was a challenge. We optimized this using smart caching and selective listeners.
-
AI Hallucinations: Early on, the AI would suggest generic advice. We had to prompt-engineer strict context about West Bengal's specific geography and economy to make the insights actionable.
🏆 Accomplishments I'm Proud Of:
-
The "AI Risk Radar": Successfully implementing a logic that doesn't just show data but interprets it to flag high-risk zones.
-
Seamless Onboarding: Creating a splash screen and onboarding flow that is welcoming and requires zero tech-literacy to understand.
-
Unified Design System: Maintaining a consistent, premium "Glassmorphism" aesthetic across both the mobile and web platforms using Tailwind and custom Flutter themes.
Challenges we ran into
🧱 Challenges We Ran Into (Technical & Engineering)
This document focuses specifically on the engineering hurdles and implementation blockers we faced while building SignalX, separate from the social problems the app addresses.
- The "Hydration Hell" with Framer Motion 🌊
The Issue: We used framer-motion for complex localized animations (like the West Bengal map hover effects). However, utilizing these in Next.js 14's App Router caused severe Server-Side Rendering (SSR) hydration mismatches. The UI would flicker or crash because the server-rendered HTML didn't match the initial client animation state.
The Fix: We had to strictly isolate all animation components into client-side separates using use client. We also implemented a custom IsMount hook to delay rendering heavy animations until the component was fully mounted on the client, ensuring zero layout shift. - Optimizing Firestore for Scale (The "N+1" Read Problem) 📉
The Issue: The Admin Dashboard needs to show live stats for thousands of workers (e.g., "Total Active Job Cards"). A naïve implementation listening to the entire users collection would trigger thousands of reads every time a single user updated their profile, instantly hitting Firebase's free tier limits and causing lag.
The Fix: We implemented Edge Aggregation Patterns. Instead of querying the user collection directly on the dashboard, we used Cloud Functions triggers. Every time a user registers or updates text, a trigger increments/decrements a simplified stats_metadata document. The dashboard only listens to this one document.
Result: Reduced read operations by 99.9% (from 5000 reads to 1 read per page load). - Validating AI Output for Safety 🛡️
The Issue: Llama 3 (via Groq) is powerful but can be overly creative ("hallucinations"). When tested, it initially suggested "urban" jobs like "Data Entry" to rural laborers in remote districts with no internet, which ends up being harmful advice.
The Fix: We built a Strict Context Injection Layer. Before the user's query hits the LLM, we inject a hidden "System Prompt" containing hard-coded constraints:
Constraint 1: "Only suggest government schemes from the provided list (Lakshmir Bhandar, etc.)."
Constraint 2: "Prioritize manual labor jobs available in West Bengal geography."
This "Grounding" technique reduced irrelevant advice from 40% to near 0%. - Cross-Platform "Glassmorphism" Consistency 🎨
The Issue: Our design language relies heavily on "Glassmorphism" (Blur + Translucency). Flutter's BackdropFilter and CSS's backdrop-filter: blur() handle rendering very differently. Initially, the mobile app looked "milky" while the web looked "crisp," breaking our brand consistency.
The Fix: We couldn't just use the same hex codes. We had to manually calibrate the alpha values.
Web: bg-white/10 (10% opacity)
Flutter: Colors.white.withOpacity(0.08) (8% opacity required to match the visual weight of the web version due to Skia rendering differences). - SMTP Security & Email Delivery 📧
The Issue: We wanted to send bulk alerts to admins without paying for an expensive email service like SendGrid. We tried using standard Gmail SMTP, but Google blocked the connection attempts as "Less Secure Apps," breaking our notification pipeline.
The Fix: We migrated to using OAuth2 authentication with Nodemailer instead of simple passwords. This involved setting up a GCP project, generating detailed Client IDs and Refresh Tokens, and creating a robust transporter wrapper that auto-refreshes tokens, ensuring emails never fail due to authentication timeouts.
Tracks Applied (2)
Build for Axicov
Axicov
Winner
Magic UI
Technologies used
