eGovPH Hackathon 2026
One message. One journey. One clear next action.¶
eAkto helps citizens turn a life event or government-record request into a structured, understandable journey. This documentation explains the current Flutter client, FastAPI API, deterministic journey engine, identity integrations, and private document vault.
Start here¶
Understand the product Learn the citizen problem, supported journeys, and the boundary between AI interpretation and deterministic execution. Run the full stack Start FastAPI and Flutter Web together from Git Bash, or run each process separately. Use the API Review authentication, request conventions, endpoint groups, error envelopes, and assurance requirements. Verify a change Run backend tests, Flutter analysis, widget tests, and golden-image checks without calling government sandboxes.
What the repository contains¶
| Area | Technology | Responsibility |
|---|---|---|
frontend/ |
Flutter, Riverpod, Dio, GoRouter | Citizen-facing UI, secure local session reference, routing, and presentation state |
backend/ |
FastAPI, Pydantic, SQLAlchemy | Authentication, intent assessment, workflow resolution, persistence, ownership, and integrations |
backend/app/seeds/ |
Validated workflow definitions | Versioned journey questions, documents, dependencies, and action metadata |
backend/app/integrations/ |
Bounded HTTP adapters | eGovAI, eGovPH SSO, eVerify, Face Liveness, and Supabase |
docs/ |
Markdown | Canonical project, API, setup, security, and operating documentation |
docs_theme/ |
Jinja, CSS, JavaScript | Custom eAkto MkDocs theme |
Prototype scope
eAkto was built for the eGovPH Hackathon 2026. Workflow requirements are prototype data, not official agency policy. Never upload real identity documents or use real citizen information in a local demo.
Current supported workflow families¶
The mounted backend currently recognizes two workflow codes:
POST_MARRIAGE_RECORD_UPDATE— update selected government records after marriage.GOVERNMENT_RECORD_INFORMATION_UPDATE— correct or update information in a specific government record without requiring a life event.
AI can interpret many conversational inputs, but a journey is created only when the backend selects a supported workflow. Ambiguous or conversational messages remain a chat response.
Documentation principles¶
- Implementation is the source of truth. Endpoint lists are based on routers mounted by
backend/app/main.py. - Secrets stay private. Examples use placeholders and never include provider credentials, exchange codes, access tokens, private keys, or real identity data.
- Restricted provider material is not reproduced. eGovPH-provided partner documentation is summarized only where needed to explain eAkto’s integration boundary.
- Citizen-facing language stays clear. Technical terms are defined in the glossary.