Skip to content
曾亮懿 ZengLiangYi Blog
Page 6 of 6

Blog

Notes on frontend engineering and AI coding: problems, implementation choices and lessons learned.

Knowledge Bases for AI Agents: Recall, Validate, and Write Back

Use ChatCrystal MCP tools and task memory to build scoped, revisable agent memory, separating real tool capabilities from automation promises.

曾亮懿 曾亮懿
5 min read
#ChatCrystal #MCP #AI Agent #Knowledge management

From RAG to Knowledge Graphs: Preserving Context in Retrieval

Compare keyword search, vectors, and knowledge graphs. Trace one-hop candidate expansion in ChatCrystal and identify boundaries relationships cannot prove.

曾亮懿 曾亮懿
5 min read
#ChatCrystal #RAG #Knowledge graphs #Retrieval

Local-First and Cloud AI: Understanding Data Boundaries

Trace storage, embeddings, summaries, and agent recall in ChatCrystal to identify which data boundaries local-first architecture actually controls.

曾亮懿 曾亮懿
5 min read
#ChatCrystal #Architecture #Privacy #AI

Using AudioContext suspend/resume as a Streaming A/V Sync Gate

Freeze and release the AudioContext timeline as streamed frames arrive, so frame availability drives playback while audio and video remain synchronized.

曾亮懿 曾亮懿
4 min read
#TypeScript #web audio api #a/v sync

Stable React Event Subscriptions: useEffect to useEffectEvent

Prevent WebSocket, EventEmitter, and DOM listeners from resubscribing on every callback change, using a ref proxy or React 19.2 useEffectEvent.

曾亮懿 曾亮懿
4 min read
#React #hooks #event subscriptions

Token Refresh Races Under Concurrent 401 Responses

How to collapse concurrent 401 responses into one token refresh, retry queued requests safely, and settle every waiting Promise when refresh fails.

曾亮懿 曾亮懿
4 min read
#TypeScript #authentication #concurrency

From writing to code

Explore ChatCrystal, developer tools and daily learning notes on my GitHub. Questions about the implementation are welcome.