Skip to content

mtaruno/hestia

Repository files navigation

Hestia: Copilot for Parents

NOTE : Hestia is currently under migration process. There is an internal code base and repo and currently am in the process of migration, here is a rough implementation plan for that

Task
Set up all the OpenAI key and Neo4j keys in Firebase parameter store
Rebuild the KG properly in the Neo4j database
Test the retrieval script locally; make sure retrieval algorithm makes sense
Run the firebase locally with emulator
Deploy firebase locally with the front-end on my iPhone
Publish to TestFlight

Premise for Hestia: I believe the way we are going to get advice (including parental advice) from digital products is evolving as AI gets more intelligent and we enable it in an accessible form via mobile application development. Hence, Hestia:

CleanShot 2025-09-18 at 00 43 09@2x

Here's a brief technical walkthrough of Hestia:

Data sources

It all starts from data. Knowledge is data. To simulate parental expert advice for how this idea would work, we created this form where anyone could input a data source.

This dataset is a curated collection of expert-backed parenting advice for ages 2–6 (and “Any”), contributed via a structured form. Each row captures provenance, actionable guidance, and rich facets (topic, age, style, temporal context, scenario), making it ideal for GraphRAG (graph-augmented retrieval) and LLM grounding. The following is a data dictionary, as long as how this maps to the semantic Knowledge Graph I store in Neo4J.

Field Purpose Examples Graph Node Property Relationship
What type of source is this? Provenance type Book, Website Article, Podcast, YouTube / Video, Expert Q&A / Forum Source type CITED_FROM
Source Name Human-readable source HealthyChildren.org, CHOP, The Whole-Brain Child Source name CITED_FROM
Source URL Citation link https://childmind.org/... Source url CITED_FROM
Author Author(s) Dr. Daniel J. Siegel Author name WRITTEN_BY
Credentials / Area of Expertise Credibility signals Ph.D. in Clinical Psychology Author credentials WRITTEN_BY
Title of Advice Entry title Connect Before You Redirect Advice title -
Paragraph or Advice Text Actionable content One paragraph of guidance Advice content, name -
Main Topic Entities Primary domain tags Tantrums, Sleep, Perfectionism, Screen Time Topic name HAS_TOPIC
Sub-entities Secondary tags (comma-sep) Aggressive Behavior, Bedtime Routine SubTopic name HAS_SUBTOPIC
Intervention Suggested (Actionable) Concrete actions “Offer two choices”, “Positive reinforcement” ActionableAdvice content, name HAS_ACTIONABLE_ADVICE
Child Age Range Facet for filtering 2, 3, 4, 5, 6, Any AgeGroup age_label RECOMMENDED_FOR
Guidance Style Tone/stance (multi-select) Empathic, Directive, Playful, Scientific, Adaptive, Reflective, Practical GuidanceStyle style_name USES_STYLE
Temporal Context Time-of-day/use window Morning, Mealtime, Bedtime TemporalContext context_label SUGGESTED_AT
What scenario would this be especially useful for? Fit/edge cases “Public tantrums”, “Culturally sensitive bedtime rituals” ScenarioNote summary, name HAS_SCENARIO_NOTE

The knowledge graph represents key aspects of parenting, including information about parents, children, parenting styles, discipline methods, emotional bonds, and parenting practices. It also captures how these elements interact to influence child development.

KG Builder

Nodes: Advice, Topic, SubTopic, AgeGroup, GuidanceStyle, TemporalContext, ScenarioNote, Author, Source, ActionableAdvice
Relationships HAS_TOPIC, HAS_SUBTOPIC, RECOMMENDED_FOR, USES_STYLE, SUGGESTED_AT, HAS_SCENARIO_NOTE, WRITTEN_BY, CITED_FROM, HAS_ACTIONABLE_ADVICE
KG Builder Files
neo4j_builder_1 - Processes research papers as raw text
- Uses academic parenting schema (Parent, Child, ParentingStyle, etc.)
- Designed for unstructured text extraction
neo4j_builder_2 - Processes structured JSONL data (from your CSV)
- Uses practical advice schema (Advice, Topic, AgeGroup, ActionableAdvice, etc.)
- Matches your brain.csv structure perfectly
- Handles the tags and metadata from your CSV conversion

| Retriever Files |

KG Retriever

Pros
Multi-hop traversal - Retrieves connected entities (topics, age groups, actionable advice)
Hybrid Search: Semantic + structural - Combines Vector search finds semantically similar advice and graph traversal enriched with structured metadata
Rich context - Captures parenting advice structure well
- Age groups, guidance styles enable precise filtering
- ActionableAdvice nodes provide concrete steps
- Returns comprehensive metadata for each advice piece
- Each advice piece comes with topics, age ranges, scenarios
- Metadata enables personalized recommendations
Score boosting - Prioritizes advice with actionable content
Flexible filtering - Can filter by age, guidance style, etc.
Scalable Design - Can handle large advice datasets
- Vector index enables fast similarity search
Cons
Limited graph reasoning Mostly 1-hop relationships from Advice nodes
No cross-advice connections Advice nodes aren't connected to each other
Doesn't involve research papers
                                                                 |
Retriever Files
neo4j_graphrag-retriever.py 1. Schema alignment - Uses exact schema from neo4j_builder_2 (Advice, Topic, AgeGroup, ActionableAdvice)
2. Rich retrieval - Gets full context: topics, age groups, actionable advice, scenarios
3. Semantic + structural - Combines vector similarity with graph relationships
4. Score boosting - Prioritizes advice with actionable content
5. Complete pipeline - Retrieval → formatting → LLM generation

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors