posted an update

Day 2 Update – App + AI Model Built SIMPEL – Day 2: From Zero to Working AI

Today was intense. We went from an empty app.py to a fully functional eligibility checker, AND built the machine learning model that powers it. Here's the breakdown:

Streamlit App (Aksa) -Built a single-file Python web app with 7 intuitive questions (dropdowns & radio buttons) -Results display in expandable cards with confidence scores, plain-language explanations, required documents, and the exact government office to visit -Added a persistent yellow disclaimer: "Ini bukan keputusan resmi. Harap verifikasi ke kelurahan." (This is not an official decision. Please verify at the village office.) -Print-friendly design — users can take a physical checklist to the kelurahan

AI Model (Alif) -Generated a synthetic dataset of 5,000 Indonesian households with realistic distributions -Applied simplified eligibility rules from official sources (Kemensos, BPJS, Kemdikbud) -Trained a multi-label Random Forest classifier (scikit-learn) — a single household can qualify for multiple programs simultaneously -Initial evaluation: precision/recall ~0.85-0.95 across all 4 programs -Discovered a false-positive issue: wealthy households were getting high PKH confidence due to label imbalance. Fixed by adding 1,500 negative training samples and reducing noise on the dominant label. -Final model: 0.97-0.99 F1-score, zero false positives for clearly ineligible families

Design (Damar) -Drafted mobile-first wireframe in Figma -Kept it minimal: questions → button → cards → disclaimer

Key technical decisions: -No chatbot — too risky for responsible AI, unreliable on 2G -No external APIs — the Random Forest runs in-memory, <10ms inference -Confidence capped at 95% — never says "100% certain" -Always uses "Anda MUNGKIN memenuhi syarat" (you MAY qualify), never "you qualify"

What's next (Day 3): -Deploy to Streamlit Cloud (get a public URL) -Finalize Figma prototype, logo, color pallete, etc -Arrange pitch deck

Log in or sign up for Devpost to join the conversation.