Skip to content
View RealChrisSean's full-sized avatar

Block or report RealChrisSean

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
RealChrisSean/README.md

Hi, I'm Chris "Sean" Dabatos

πŸ“ Las Vegas | πŸ’» Developer | πŸ₯‘ DevRel @ TiDB

I build apps I'd actually use myself, then share them with the world.

Profile Views

My Skills

Currently Working On

  • Speak2Me - I wanted to build an AI companion that actually remembers you. So I built Speak2Me. But here's what makes it different from slapping a mic on a notes app: it can actually pick up on your emotions in real time through your ACTUAL voice. And not because you told it you were stressed, but because it can literally HEAR that you're stressed. Claude Opus 4.6 runs the brain. And for the memory system - well, it isn't some LLM-generated summary that drifts over time. Every fact gets its own row in my database, categorized and validated. Deterministic. No LLM synthesis, no corruption from a bad run, and facts never fall off no matter how many conversations you have. When new info contradicts old info, the old fact gets superseded - not duplicated, not deleted. Identity facts like your wife's name or your kid's birthday are pinned and can never get pushed out by newer stuff. You can come back tomorrow, next week or next year and it will remember and know your story. No catch-up. No repeating yourself. You just talk.
How the Memory Architecture Works
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    SPEAK2ME MEMORY ARCHITECTURE                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

  YOU TALK                        REAL-TIME
  ───────►  Hume EVI  ─────────►  Emotion Detection
            (voice)               (prosody analysis)
               β”‚                        β”‚
               β–Ό                        β–Ό
         Transcription         Top 3 emotions + scores
               β”‚                   attached to each message
               β–Ό                        β”‚
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β”‚         Claude Opus 4.6          β”‚
        β”‚     (knows your full story +     β”‚
        β”‚      can hear how you feel)      β”‚
        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

═══════════════════════════════════════════════════════════════════
  AFTER EACH CONVERSATION β€” THE FACTS ENGINE
═══════════════════════════════════════════════════════════════════

  Transcript
      β”‚
      β”œβ”€β”€β–Ί FAST PATH (inline, ~500ms)          Start a new session
      β”‚    Claude Haiku quick extraction        10 seconds later and
      β”‚    Facts available immediately          the AI already knows.
      β”‚
      └──► DEEP PATH (async, background)
           Deeper extraction + embeddings
           Catches anything fast path missed

  Both paths run through the same pipeline:
                β”‚
                β–Ό
  VALIDATE ── garbage? ──► REJECT
      β”‚         (meta-observations,
      β”‚          AI behavior notes,
      β”‚          negatives, generics)
      β–Ό
  CATEGORIZE (keyword matching, no LLM)
      β”‚
      β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
      β”‚   β”‚  identity Β· family Β· work        β”‚
      β”‚   β”‚  finance Β· health Β· interest     β”‚
      β”‚   β”‚  project Β· social                β”‚
      β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
      β–Ό
  SUPERSEDE ── overlaps existing fact? ──► old fact marked inactive
      β”‚          (70% word overlap check)       (never deleted)
      β–Ό
  STORE as its own row in s2m_user_facts
      β”‚
      β–Ό
  PIN IDENTITY FACTS β€” family, names, birthdays
      β”‚    are flagged and ALWAYS loaded.
      β”‚    Can never be pushed out.
      β–Ό
  BUILD PROFILE (deterministic string format)
      No LLM. Same input = same output. Always.

═══════════════════════════════════════════════════════════════════
  NEXT SESSION β€” INSTANT RECALL
═══════════════════════════════════════════════════════════════════

  App opens                    You click "Start Talking"
      β”‚                              β”‚
      β–Ό                              β–Ό
  Prefetch ALL active facts    Everything already loaded.
  profile + recent context     Zero wait. Zero catch-up.
  (background, before you      AI knows your whole story
   even click anything)        from word one.
How Most AI Apps Do It Speak2Me
Storage JSON blobs / summaries One row per fact
Profile LLM synthesis (can corrupt) Deterministic, no LLM
Fact lifespan Falls off after N chats Never falls off
Bad LLM run Corrupts everything Can't happen
Contradictions Both versions kept Old fact superseded
Garbage facts Stored anyway Rejected on write
Identity facts Same priority as all Pinned, always loaded
Recall speed 5-10s mid-conversation Pre-loaded, instant
Back-to-back sessions Waits for background processing Facts ready in ~500ms

Current Status for Speak2Me

Phase What Status
1 Foundation (Next.js, TiDB, auth) βœ… Complete
2 Voice conversation (Hume EVI + emotion detection) βœ… Complete
3 AI brain (Claude via custom LM endpoint) βœ… Complete
4 Dedicated facts table (deterministic profile, no LLM synthesis, facts never fall off) βœ… Complete
5 Instant memory recall (zero-delay prefetch on app open) βœ… Complete
6 Session history, search, transcript export βœ… Complete
7 Dashboard (streaks, per-message emotion scores charted over weeks, memory carousel) βœ… Complete
8 "On This Day" throwbacks (surfaces journal entries from the same date in past months) βœ… Complete
9 Proactive reminders (upcoming birthdays, anniversaries) βœ… Complete
10 Research Mode (voice-in, text-out, web search in your speaking style) βœ… Complete
11 Voice identity verification (Modal infra + DB + API built, UI wiring left) πŸ”§ In progress
12 Memory management (user can see/edit/correct what AI remembers) Not started
13 Mobile app (PWA or native) Not started

My Projects

  • BaseCamp - Voice-first personal health OS that builds long-term memory about what works for YOUR body
  • Parallel Lives - AI decision simulator using multi-model reasoning (Claude + GPT)
  • Speak It - Voice-to-text Chrome extension that learns your style without storing your words
  • College Picker - AI college comparison with real Dept. of Education data
  • Journal It - AI journaling system that writes your autobiography
  • atlasMemory - Unified AI memory layer with branching and rollbacks
  • OriginAI - Chrome extension to detect AI-generated content

Latest Blog Posts

Content

Latest Video

Latest YouTube Video

Connect

X LinkedIn YouTube Website

Pinned Loading

  1. OriginAI OriginAI Public

    AI Content Detector. Check if text was written by a human or AI.

    JavaScript 1

  2. Speak-It Speak-It Public

    Voice-to-text anywhere on the web. Talk naturally, get text instantly.

    JavaScript 1

  3. ParallelLives.ai ParallelLives.ai Public

    Explore multiple life paths before making decisions

    TypeScript

  4. college-picker college-picker Public

    College Picker - A Next.js app to help find and compare colleges

    TypeScript