How beep-boop-ship-it/jan-setu works
JAN SETU is a citizen-problem reporting and solver-coordination prototype: reports are submitted and tracked, checked for validity and duplication, analyzed and matched to expertise, then handled through proposals and review. The Go backend exposes the reporting, account, mentor, proposal and tracking APIs and persists application data; the Python AI service provides report analysis, duplicate detection and matching. The README also documents image/location reporting and an industry workflow. Frontend files are absent from the supplied tree, and sampled excerpts do not establish Go-to-AI wiring, so that connection is omitted.
Main entry points: handlers.go API Handlers · orchestrator.py Workflow Orchestrator · service.py Duplicate Detection · server.py AI REST API
Components 22
Backend API
- Go HTTP Server
backend/main.go - API Handlers
backend/handlers.go
AI Analysis
- AI REST API
ai/api/server.py - Workflow Orchestrator
ai/orchestrator.py - Report Analysis
ai/challenge/analyzer.py - Image Evidence
ai/image_evidence/analyzer.py - Duplicate Detection
ai/dedup/service.py - Expert Matching
ai/matching - Participant Matching
ai/matching/participants.py
AI Support
- Embedding Service
ai/embeddings/service.py - Problem Retrieval
ai/dedup/retrieval.py - Relationship Classifier
ai/dedup/classifier.py - Organization Retrieval
ai/matching/retrieval.py
Solver Coordination
- Proposal Review
backend/handlers.go - Report Tracking
backend/handlers.go - Solver Profiles
backend/handlers.go
External Services
- PostgreSQL
- Image Object Store
- AI Providers
ai/providers
Other components
- Citizen
- Solver / Mentor
- Industry Expert
Connections 25
- Citizen → Go HTTP Server: submits report
- Solver / Mentor → Go HTTP Server: uses APIs
- Industry Expert → Go HTTP Server: uses APIs
- Go HTTP Server → API Handlers: dispatches requests
- API Handlers → PostgreSQL: reads and writes
- API Handlers → Image Object Store: stores images
- API Handlers → Proposal Review: serves proposal actions
- API Handlers → Report Tracking: serves tracking
- API Handlers → Solver Profiles: serves profiles
- Citizen → AI REST API: requests analysis
- AI REST API → Workflow Orchestrator: runs workflow
- AI REST API → Duplicate Detection: checks duplicates
- AI REST API → Expert Matching: requests matches
- Workflow Orchestrator → Report Analysis: analyzes report
- Workflow Orchestrator → Duplicate Detection: checks duplicates
- Workflow Orchestrator → Expert Matching: matches expertise
- Workflow Orchestrator → Image Evidence: analyzes evidence
- Workflow Orchestrator → Participant Matching: matches participants
- Duplicate Detection → Embedding Service: embeds report
- Duplicate Detection → Problem Retrieval: retrieves candidates
- Duplicate Detection → Relationship Classifier: classifies candidates
- Expert Matching → Embedding Service: embeds requirements
- Expert Matching → Organization Retrieval: retrieves candidates
- Report Analysis → AI Providers: requests generation
- Relationship Classifier → AI Providers: requests classification