Civic Tech & Democratic Engagement. CivicGuide is a dynamic, AI-powered assistant designed to demystify the election process, making voter registration, polling timelines, and civic duties easy to understand.
The application utilizes an Agentic Workflow built with Python, FastAPI, and LangGraph. Instead of a standard chatbot, the system uses semantic routing:
- Intent Recognition: User queries are analyzed using the Gemini API.
- Dynamic Routing: LangGraph routes the query to the appropriate sub-agent (Timeline Expert, Registration Guide, or Polling Locator).
- Contextual Response: The frontend dynamically updates, displaying conversational text alongside visual timeline markers or Google Maps data.
- Frontend: A lightweight, highly accessible HTML/JS interface that ensures zero bloat.
- Backend: FastAPI handles asynchronous requests to prevent UI blocking.
- Google Services: Deeply integrated with the Gemini API for natural language understanding and generation, and Google Maps for spatial polling data.
- Security: API keys are managed via environment variables (not committed to the repo). Inputs are sanitized on the backend.
- Accessibility: The UI utilizes high-contrast dark mode, ARIA labels, and semantic HTML for screen readers.
- Efficiency: The total repository size is kept strictly under 10MB by avoiding heavy node modules or frontend frameworks.