The current implementation already includes:
- Guided 3-step frontend journey
- Session-backed profile match + evidence bundle
- Plan generation and cultural explanation endpoints
- Explore workspace with graph drill-down and category views
- Multi-provider AI abstraction with deterministic fallbacks
- Legacy Neo4j seed data and graph adapter code
Move the MVP data architecture to:
Markdown knowledge graph
public/static city knowledge
Neon Auth + Neon Postgres
private/dynamic user and product data
Neo4j remains optional as a future graph-database adapter if the relationship layer becomes too dynamic for Markdown.
- Define Markdown frontmatter schema and folder conventions.
- Convert a small Chicago slice from Cypher seed data to Markdown.
- Parse YAML frontmatter,
links_to,depends_on, and[[wikilinks]]. - Build an in-memory graph index and validation report.
- Add
MarkdownGraphServicebehind a graph adapter interface. - Update
/v1/profile/match,/v1/graph/subgraph, and target/health/graph. - Add tests for parsing, validation, ranking, and task dependency ordering.
- Add Postgres migration tooling and repository layer.
- Configure Neon project and Neon Auth URLs/JWKS.
- Integrate
/authwith Neon Auth. - Verify JWTs in FastAPI through Neon Auth JWKS.
- Create app tables for profiles, plan progress, documents, chat, connections, content, mentors, and notifications.
- Migrate plan completion and document tracker state out of localStorage for authenticated users.
- Convert Boston and NYC graph data to Markdown.
- Add feed and saved content from Markdown + Neon.
- Add connection requests and mentor introductions.
- Add mentor opt-in and rating flows.
- Add notifications through polling first, then SSE/WebSocket if needed.
- Keep structured logs around provider selection, latency, graph source, and fallback status.
- Improve timeout/error telemetry for
plan,bridge, andchatroutes. - Keep regression tests for
new_to_us=falseskip behavior. - Validate Markdown graph data in CI.
- Keep public onboarding functional even when Neon persistence is unavailable.
- Persist plan progress server-side.
- Add richer "why recommended" explanations for each category card.
- Add export/share option for first-30-days plan.
- Add confidence bands per recommendation cluster.
- Move Cultural Bridge one-off lookups into persistent chat.
- Unit tests for agents, routers, and graph parsing pass.
- Health endpoints report expected state.
- Profile -> plan -> explore flow works with and without AI fallback.
- Markdown graph validation has zero errors for supported cities.
- Docs remain updated with every UI/API/data contract change.
- Data/graph: Markdown schema, seed conversion, ranking policy, validation.
- Backend/API: graph adapter, Neon repositories, provider layer, fallback logic.
- Frontend: step flow, auth screens, graph interactions, accessibility.
- QA/demo: scripted walkthroughs, smoke checks, graph validation fixtures.
- App can complete the 3-step journey without Neo4j credentials.
- Markdown graph drives profile matching, plan evidence, and subgraph visualization.
/health/graphreports node/edge counts and validation status.- Existing tests pass or are updated to mock the graph adapter rather than Neo4j.