How lositha/govready works
GovReady helps a citizen describe a government-service need and produces a completed applicant profile through a conversational flow. The Streamlit UI classifies the service, extracts attributes, asks for missing fields, and displays the result; a terminal ConversationManager provides the same orchestration path. Completed feedback can be stored for document-list discrepancy review. The README is empty, and no document-resolution engine or knowledge-graph data source appears in the sampled tree, so the architecture ends at profile completion.
Components 11
User Experience
- Streamlit UI
frontend/app.py - Conversation State
frontend/app.py - Conversation Manager
nlp/conversation.py
Language Processing
- Intent Classifier
nlp/intent.py - Embedding Model
- Entity Extractor
nlp/extractor.py
Profile Construction
- Profile Builder
nlp/profile_builder.py - Applicant Profile
kg/profile.py
Feedback Storage
- Feedback API
frontend/feedback.py - Feedback Database
Other components
- Citizen
Connections 17
- Citizen → Streamlit UI: sends request
- Streamlit UI → Conversation State: stores turn
- Streamlit UI → Intent Classifier: classifies intent
- Intent Classifier → Embedding Model: encodes query
- Streamlit UI → Entity Extractor: extracts entities
- Streamlit UI → Profile Builder: builds profile
- Profile Builder → Applicant Profile: creates profile
- Profile Builder → Streamlit UI: returns status
- Streamlit UI → Conversation State: updates state
- Streamlit UI → Citizen: shows result
- Streamlit UI → Feedback API: saves feedback
- Feedback API → Feedback Database: writes reports
- Citizen → Conversation Manager: answers prompts
- Conversation Manager → Intent Classifier: classifies intent
- Conversation Manager → Entity Extractor: extracts entities
- Conversation Manager → Profile Builder: builds profile
- Conversation Manager → Citizen: asks questions