$ icat felix.png && whoami
Felix Lin
i like building reliable software — here's some of my work
$ ls links/
$ ls projects/ --sort=year · click a row to cat it
2026
zylosnode.js · agent infra
›
built channel integrations, the plugin system, and reliability infrastructure of an open-source agent platform
$ cat projects/zylos.md
# zylos
- what
- an open-source platform that turns LLM runtimes (Claude Code and Codex, interchangeable) into persistent agents — memory that survives sessions, communication across real channels, operation without a human in the loop
- comms
- built six production channel integrations end to end — Discord, Microsoft Teams, WhatsApp Business, LINE, Zalo, Zalo Personal — each written against a single channel-conformance contract on a SQLite-backed gateway; 96 merged pull requests into a platform serving 400+ deployed agents
- hardening
- webhook signature verification, SSRF-guarded media fetch, and timing-attack-safe token comparison across all six channels — each cleared through production-readiness review, with eight components published to the public registry
- onboarding
- the dashboard connect flow for every channel in Next.js/TypeScript with AES-GCM credential encryption — including WhatsApp Business's phone-number path and its request/confirm OTP endpoints — so attaching an account no longer needed an engineer
- plugins
- developed the component system powering the ecosystem: a modular plugin architecture with hot-reload configuration, lifecycle hooks, and a public registry, enabling community-contributed integrations across 10+ channels
- infra
- deployed production agent services with automated health monitoring, crash recovery, heartbeat liveness probes, and context-aware session rotation — always-on agents that actually stay on
- links
- zylos-ai org ↗
2026
mem-evalpython · docker
›
end-to-end evaluation harness for LLM agent memory — reproducible Docker runs measuring long-horizon retention
$ cat projects/mem-eval.md
# mem-eval
- what
- evaluation harness that measures what agents actually retain — not what they claim to
- problem
- memory demos test recall with the answer still in context; that measures prompting, not memory
- approach
- a dockerized distill/answer/judge harness replays chat histories one memory-sync per simulated day; the agent runs with its real runtime and is probed after controlled noise
- outcome
- 125 LongMemEval questions scored to a 75% retention baseline; traced the weakest category (20%) to upstream distillation rather than answer-time retrieval
- links
- repo ↗ · harness readme ↗
results — claude runtime, vanilla-memory arm · longmemeval-s · 125 questions · overall 75%
knowledge-update93%
single-session-user93%
temporal-reasoning82%
multi-session73%
single-session-assistant73%
single-session-preference20%
accuracy by question type · 15–50 questions per type · full run data in the repo under data/runs/
2026
zylos-recallnode.js · retrieval
›
semantic recall layer for an AI agent — surfaces the right memory into live sessions, turn by turn
$ cat projects/zylos-recall.md
# zylos-recall
- what
- a retrieval layer that gives a persistent-memory agent automatic recall — relevant memory injected into the conversation as it works
- problem
- an agent can store months of memory but won't resurface it; relevant context sits on disk unless someone loads it by hand
- approach
- BM25 lexical and dense-embedding retrieval fused through Reciprocal Rank Fusion, with cross-encoder reranking on every turn; fail-open behind a 1s timeout so retrieval never blocks a turn
- outcome
- gated on a graded golden set at nDCG@k 0.95 / injected-F1 0.85 as a regression check — a threshold on an 18-case set, not a benchmark result. running live against a production agent's memory; the evaluation side grew into its own project (mem-eval)
- links
- repo ↗
2026
rl-pongpython · pytorch · rl
›
advantage actor-critic agent that learns to play atari pong from scratch
$ cat projects/rl-pong.md
# rl-pong
- what
- a reinforcement-learning agent trained to play Atari Pong (ALE/Pong-v5, restricted to up/down)
- problem
- no labels and no supervision — the agent only ever sees a score, and has to work backwards from it to which of thousands of frames mattered
- approach
- Advantage Actor-Critic in PyTorch — separate policy and value networks (2×256 hidden), n-step advantage returns, decoupled policy and value objectives
- outcome
- learns to play from reward alone; judged on reward curves rather than a single accuracy number, which is the honest way to report an RL run
- links
- code private (academic integrity)
2025
memory-allocatorc · systems
›
dynamic memory allocator in C — segregated explicit free lists, footerless blocks, two-word mini-blocks; 11,031 KOPS at 74.1% utilization
$ cat projects/memory-allocator.md
# memory-allocator
- what
- a general-purpose dynamic memory allocator (malloc/free) in C
- problem
- an allocator has to be fast and waste little memory — and the two pull against each other
- approach
- segregated explicit free lists with better-fit search, footerless allocated blocks, two-word mini-blocks for the smallest allocations, adjacent-block coalescing
- outcome
- 11,031 KOPS throughput at 74.1% memory utilization
- links
- code private (academic integrity)
2025
network-proxyc · systems
›
multithreaded HTTP proxy in C — concurrent request handling with a caching layer that cuts redundant network calls
$ cat projects/network-proxy.md
# network-proxy
- what
- an HTTP proxy in C that serves many clients at once
- problem
- every repeated request costs a full round-trip to the origin, and a single-threaded proxy stalls every client behind one slow request
- approach
- detached thread-per-connection handling for concurrency, with a mutex-guarded LRU object cache answering repeats without re-fetching
- outcome
- reduced redundant network calls and improved service latency under load
- links
- code private (academic integrity)
2025
unix-shellc · systems
›
a tiny unix shell in C — job control, fg/bg, signal handling, I/O redirection
$ cat projects/unix-shell.md
# unix-shell
- what
- a mini Unix shell (tsh) — runs programs, manages foreground and background jobs, and stays responsive while doing it
- problem
- a shell lives on the racy edge between the kernel and the user: children exit whenever they want, signals arrive whenever they want, and naive handling loses jobs or deadlocks
- approach
- fork/exec with per-job process groups; handlers for SIGCHLD, SIGINT, and SIGTSTP; signal-blocked critical sections with a sigsuspend-based foreground wait; I/O redirection for both input and output
- outcome
- handles the classic signal races correctly — no lost children, no zombie buildup, ctrl-c/ctrl-z land on the right job
- links
- code private (academic integrity)
2022
smartmetercomputer vision · time series
›
water-leak detection: computer vision reads the analog meter, a seasonal ARIMA forecaster learns the household's rhythm — published at MLNLP '22
$ cat projects/smartmeter.md
# smartmeter
- what
- a latch-on accessory that turns an ordinary water meter into a leak detector
- problem
- household leaks hide inside normal usage, and analog meters can't flag them
- approach
- a Cloud Vision dial reader takes readings off an unmodified analog meter; a seasonal ARIMA model learns the household's daily water-use rhythm from 15-minute readings
- outcome
- held-out one-day forecast validated by RMSE against a seasonal-naive baseline — consumption diverging from its own forecast flags a candidate leak. proof of concept on seven days of data; the leak-flagging rule is the paper's design, not a deployed system
- links
- paper ↗
2021
gait-rehab-appflutter · dart
›
cross-platform app for stroke-rehabilitation patients — built at Chapman’s Gait Rehabilitation & Research Lab
$ cat projects/gait-rehab-app.md
# gait-rehab-app
- what
- a cross-platform Flutter/Dart app for stroke-rehabilitation patients, built as a mobile-development intern at Chapman University’s Gait Rehabilitation & Research Lab
- problem
- clinicians see a patient for an hour a week and have no idea what happens in between — whether the exercises are being done at all
- approach
- exercise rep tracking, progress-visualization charts, and therapy-adherence monitoring in one patient-facing app
- outcome
- gave clinicians visibility into between-visit adherence
- links
- internal to the lab; not public
$ cat now.txt
exploring agent memory — how AI systems retain, recall, and prove it. ask me about LLM agents, eval harnesses, or retrieval.