KITCHEN TABLE STUDIO • NEO4J GRAPHRAG • 50/50 PRECEDES INVARIANT • ZERO-PREP

Artstache: Why Graphs Beat Vectors in Early Childhood EdTech

Parents don’t default to “that’s nice!” because they don’t care — they do it because after a 10-hour workday, they are exhausted and holding a curling drawing at the kitchen counter. Child development is strictly chronological. Vector embeddings conflate a 4-year-old's tadpole figure with a 10-year-old's comic. Artstache models Viktor Lowenfeld's 1947 developmental ontology into a Neo4j property graph, delivering a 10-second bedside Ghost Guide grounded in deterministic relationships.

Project Meta
RoleSolo Product Designer & Systems Engineer
ScopeDiscovery → Graph Ontology → Production Shipped
StackNext.js 16, Neo4j Aura, FastAPI, LangGraph, Gemini 2.5 Flash
AudienceExhausted working parents, Magic Window ages 4–12
50/50
[:PRECEDES] Invariant
~90.07ms
Bolt Cypher (Local)
<80KB
Zero Facial PII
01 / DISCOVERY

The Kitchen Counter Problem: Guilt, Clutter & Fatigue at 6:15 PM

Founder's Truth: I'm not a parent. I built Artstache for my sisters and friends — working parents who love their kids' art but after a 10-hour day default to “that's nice!” and feel guilty tossing the paper pile at midnight. I earned my design degree much later than most, and learning visual literacy helped me cut through noise. This is my contribution.

Child development literature is dense and academic. Parents want to guide creative growth but have zero time for lesson prep. Result: 25+ unsorted drawings piling up on counters, guilt-driven midnight purges, and passive iPad screen time.

What Success Looks Like

“A tired parent gets a meaningful, stage-accurate thing to say in under 10 seconds. Web-first, one-handed mobile scan at the kitchen table. Out of scope: Classroom dashboards, art supply delivery.”

Kitchen Table Studio10-Second GuidanceZero-Prep Sprints
From Fridge Pile to Ghost Guide — 6:15 PM → 6:16 PM
10-Second Bedside Guidance
✦
6:15 PM
1. The Pile
25+ unsorted drawings pile up on counters. Parent exhausted after 10-hour day.
◑
6:15:30 PM
2. The Trap
“What is it?” Well-meaning, but triggers defensiveness. Default: “that's nice!”.
✧
6:15:40 PM
3. Ghost Guide
Ask: “Where is the dino running to?” Replaces guilt with 10 min of eye contact.
10s • Zero-Prep • No Search
Problem: Generic parenting advice requires 45 minutes of forum searching while dinner boils over.
Solution: 10-second kitchen window gives instant reassurance before pasta boils over.
Viktor Lowenfeld (1947) // Child Developmental Stages
PHASE 02 OF 06
Stage // Age Band
What Adults Misread vs. What It Means
01 Scribbling
2–4 yrs • Kinesthetic joy
Uncontrolled → controlled longitudinal lines. Kinesthetic exploration, not motor deficit or mess.
02 Preschematic
4–7 yrs • The Tadpole Person
Head with legs, no body. Cognitive egocentrism: draws sensory significance (face talks, legs run). Torso has no sensory feedback, so it's omitted.
03 Schematic
7–9 yrs • Spatial ordering
Baseline and skyline appear, x-ray drawings, subjective color choices reflecting emotional connection.
04 Dawning Realism
9–12 yrs • The Gang Age
Overlapping planes, self-criticism emerges, peer awareness replaces pure egocentric play.
05–06 Naturalistic & Decision
12–17 yrs • Conscious craft
Perspective, light, proportions, and deliberate artistic intention. Roadmap to creative fluency.
*Grounding: Viktor Lowenfeld (1947), Creative and Mental Growth (Public K-12 scope & sequence).
Ontology: 6 Stages
Age Band: 4–12 Years
Window: 15 Seconds
Sprints: 15-Min Prep
02 / ONTOLOGY

Why “What is it?” Backfires: The Tadpole Breakthrough

I audited public K-12 art scope & sequence curricula. Most school districts already anchor to Viktor Lowenfeld's 1947 developmental stages. The research was completed decades ago — we simply needed to make it usable in 10 seconds at the kitchen table:

15-Sec Window
Reassurance before pasta boils over. Lengthy setups are abandoned; parents need zero-prep micro-bonding.
Bridge, Not Sink
Phone in hand for 5 seconds to spark 10 minutes of direct eye contact. Screen serves as a catalyst, not a babysitter.
Don't Skip Stages
Never suggest a 10-year-old perspective lesson to a 4-year-old. Development is chronological — that is why Neo4j property graphs beat vector RAG.
Core Architectural Rule

“A tadpole person is not an error — it is cognitive emergence. Artstache's job is to translate that drawing so parents celebrate milestones rather than correct anatomy.”

03 / ARCHITECTURE

Why Graphs Beat Vectors When Sequence Matters

Standard VectorRAG matches purely by semantic token similarity. A 4-year-old's tadpole figure and an older child's stick-figure comic share overlapping descriptive tokens (“figure, limbs, face”), causing naive similarity searches to conflate developmental stages and recommend advanced perspective drawing years before a child is ready.

The Architectural Invariant
VectorRAG
Matches wording. “Stick figure” ~ “stick figure” = similar. Hallucinates sequence.
Neo4j GraphRAG
Matches edges: (:Stage)-[:PRECEDES]->(:Stage). Enforces chronological order.

In child development, sequence is everything. You cannot light a 3D scene before it is modeled; similarly, you cannot teach perspective before spatial baselines emerge.

Graph Enforces Chronology Where Vectors Hallucinate
Neo4j Aura • Bolt Cypher ~90.07ms Median (Local)
INPUT
Kid Art Scan
Canvas Memory
80KB in-browser buffer. EXIF GPS stripped before upload. Zero facial PII.
→
GROUNDING
Neo4j Cypher
[:PRECEDES] Invariant
Bolt Cypher ~90.07ms median. If 0 nodes match → null. No badge > fake badge.
→
OUTPUT
Ghost Guide
1-Tap Dialogue
Open inquiry prompt delivered in <10s. Science-backed reassurance.
Fail-Closed Validation Gate:is_grounded_in_neo4j

If Cypher returns 0 nodes or model confidence <0.75, the application halts and suppresses milestone badges. The LLM is strictly constrained to author dialogue only from exact graph IDs retrieved — it cannot invent developmental stages.

Guardrail Rule:Science does science, LLMs do context. No badge > fake badge.
artstache.app • Split-Pane Studio • Archival Canvas
Paper Elevation Hierarchy
Level 2: Cards#FFFFFF
Level 1: Paper Low#FAF2EC
Level 0: Archival Canvas#FDFBF7
Ergonomic Layout
288px → 80px collapsed Atelier: Keeps camera, archive, and sprints in one thumb zone for one-handed operation during dinner chaos.
Split-Pane Studio // Ghost Guide
Clay Dino: “Where Is He Running To?”
15 MIN • PRINTABLE
!
Preschematic Milestone (Ages 4–7)
She is focused on story narrative, not anatomy — that is cognitive play emerging. Ask: “Where is he running to?”
Typography
Georgia (reflection) + Manrope (bedtime)
Edge Treatment
Deckle edges (255px 15px 225px 15px)
04 / CRAFT

The No-Line Rule: From Clinical to Archival

The Psychological Challenge
How do you show developmental analysis without making an exhausted parent feel like they are receiving a medical diagnostic report card that says “your child is behind”?
Early tests with 1px gray borders and cold white cards felt like a pediatric portal. We eliminated all harsh border strokes, replacing them with stacked tonal paper elevations (`#FDFBF7` canvas, `#FAF2EC` paper, `#FFFFFF` cards) and warm ink shadows.
// Decoupled 5-Node LangGraph DAG
node[1]: Gatekeeper (EXIF strip, buffer normalize, Neo4j lock)
node[2]: Illustrator (Gemini 2.5 Flash extracts geometric primitives)
node[3]: Psychologist (Cypher traversal, Ghost Guide inquiry authoring)
node[4]: Curriculum PM (matches past sprints, picks 15-min lesson)
node[5]: Village Elder (formats outputs into warm, reassuring voice)
05 / VALIDATION

What's Real vs. What's Next: Verified in Code

Core Principle: No fake user counts. I report what a solo builder can actually verify in code. The core technical risk was ensuring an LLM never hallucinates milestone progression or suggests out-of-order pedagogical lessons.

1
50/50 Golden Set Invariant
100% of golden pedagogy test vectors passed [:PRECEDES] constraints. No lesson suggested without verified Neo4j path.
2
Mutation Test (Proves Invariant)
Deleted Stage 2→3 edge in Neo4j Aura: suite caught 12 out-of-order failures (38/50 passed). Restored to 50/50.
3
Schema-Gated Vision Extraction
Vision extraction bound strictly to skeletal_mapping.json. Extra keys dropped; 0 biometric PII retained.
4
In-Browser Canvas Privacy
EXIF GPS metadata stripped in-browser memory before upload. Buffer <80KB. Designed with COPPA principles in mind.
Deterministic Guardrail Invariant (milestone_guard.ts)
50/50 Verified • Mutation Tested
Foundation: Neo4j AuraDB • Lowenfeld (1947) Triples • Bolt Cypher ~90.07ms Median (Local)
Guardrail — milestone_guard.tsscience does science, LLMs do context
// Science does science, LLMs do context
const result = await neo4jDriver.executeRead(async (tx) => {
  return tx.run(`
    MATCH (current:Stage {id: $stageId})-[:PRECEDES]->(next:Stage)
    RETURN current, next
  `, { stageId });
});

// Fail-closed gate: No badge > fake badge
if (!result.records.length || confidence < 0.75) return null;

// 5-Node LangGraph DAG only synthesizes grounded graph nodes
const guide = await langGraphDAG.invoke({
  stage: result.records[0].get('current'),
  next: result.records[0].get('next'),
  drawingPrimitives: visionFeatures
});
Latency Profile (Local Telemetry)
Bolt Cypher ~90.07ms median (p90 ~659.69ms across 50 runs, raw: latency_runs.jsonl). E2E scan ~800.19ms median. Target SLA <800ms. AuraDB free-tier sleeps after 72h = ~30s cold start unless watchdog active.
Privacy Approach (Data Minimization)
HTML5 Canvas strips EXIF in-browser memory before upload. 1024x768 <80KB buffer. Zero biometric PII persisted. Designed with COPPA principles in mind — not certified COPPA compliant, intellectual honesty.
Retrospective — Solo Receipts & Real Engineering Trade-Offs
Live • Intellectual Honesty • 0 Fake Users
50/50
[:PRECEDES] Invariant
Mutation tested: deleting edge caught 12 failures; restoration restored 50/50.
~90.07ms
Bolt Cypher Median
Verified locally via 50 runs. Target SLA <800ms. No prod APM yet.
<80KB
Canvas Memory Buffer
In-browser EXIF stripped. Zero facial/biometric PII stored by design.
What Solo Taught Me — Honest Engineering Post-Mortem
  • Graphs beat vectors when sequence matters: Vectors match a 4yo tadpole to a 10yo comic. Development is chronological: `(:Stage)-[:PRECEDES]->(:Stage)` enforces reality, not similarity.
  • I over-engineered the Village: 11 named agents felt clever, but 2 pipelines do 90% of the work. If I had a PM, they would have cut the Elder and Psychologist on day 2. Name it only if you can justify it to a tired parent.
  • Shame is the real competitor: Not other ed-tech apps. A parent feeling judged by a clinical UI and defaulting to “that's nice!”. The No-Line Rule was a direct response to shame.
  • What I'd do differently: Move vision extraction from Gemini Flash to on-device Wasm/ONNX so scans work in basements and cabins with zero signal.
Current Status & Next at Disney Scale
  • Honest Pilot Status: Solo-built PWA is live, Neo4j invariants unit-tested. Recruiting 10–15 pilot families ages 3–8 for real kitchen trials — 0 enrolled yet, intellectual honesty.
  • Curriculum Authoring: Writing 15-min micro-sprints across all 6 Lowenfeld stages (~15–20 milestones total).
  • DEEP&T Application Transfer: Connecting conversational AI to structured enterprise knowledge; property graphs for tracking sequential operational and project dependencies; and building deterministic validation gates so AI tools remain reliable in production.
06 / RETROSPECTIVE

Shipped, Verified, and Honest About What's Next

I built Artstache as a production tool for real kitchen tables. No fake user counts. The real outcome is that a complex developmental ontology now runs as a deterministic graph with a tactile design system that feels like a museum archive, not a clinical diagnostic chart. That architecture transfers directly to enterprise operational data and conversational interfaces.

Design Outcome
No-Line Rule + 3 paper elevations + dual-voice typography + 80px collapsed thumb zone + Ghost Guide drawer.
Technical Outcome
Neo4j AuraDB with Lowenfeld (1947) triples, `[:PRECEDES]` invariant (mutation tested 50/50), 5-node LangGraph DAG, ~90.07ms Bolt Cypher, and in-browser Canvas privacy buffer.
What I'd Measure at Disney
As a designer/developer hybrid, I care about whether tools actually make life easier for people. In DEEP&T Business Operations, I'd bridge human intent with engineering telemetry across three metrics: 1) Resolution Velocity: P90 time-to-guidance, measuring how quickly team members get accurate answers without context-switching across tools. 2) Source-Grounding Invariants: Strict property graph verification ensuring 0% ungrounded citations, with real-time tracking of re-prompt rates. and 3) Bypass Rate & Daily Adoption: Measuring whether operators actively adopt conversational assistance vs. falling back to manual processes. Good software should be simple, reliable, and respectful of people's time.
© Don Martirez — Artstache Case Study • Kitchen Table Studio • #FAF9F6 / #141413 • #FF4D23