i'm a software engineer based in the philippines, driven by curiosity and whatever i find interesting. i learn fast with the caveat of goldfish memory (which i call my context lol) and i'm usually self-motivated that i forget to eat.
this is not like other portfolios. feel free to have a look around and explore what makes me, me.
drag empty cork to move around. drag notes to rearrange them. use +/− or pinch-wheel to zoom. click any note to open it.
i turned weeks of neuroscience papers into her memory system.
W
weave
weave gives long-running agents memory, state tracking, and retrieval that can be inspected.
current benchtypescriptagentsmemory
giving an ai agent a hippocampus
i watched a kdrama about a girl who forgets everything every morning and realized my AI agent has the same condition. so i built it a brain.
wfd · 2026-02-28T02:01:00 · 14 min
what keeps me going
someone else is on the other end.
x.com
follow me on X
from avery v3github.com
Mem0
from giving an ai agent a hippocampusarxiv.org
AI Meets Brain: Memory Systems from Cognitive Neuroscience to Autonomous Agents
from giving an ai agent a hippocampus
i'm less interested in whether it's good.
how does it work?
my focus has improved and i'm not sure why.
ideally when something is coming up, whether it's work related or it's just a personal project of mine i usually let it run at the end because i need pressure to perform things.
maywritten · 2026-06-10 · 3 min
a handdrawn chart titled day in a life showing focus changing through the daymy focus has improved and i'm not sure why.my.clevelandclinic.org
lamotrigine
from my focus has improved and i'm not sure why.
noiseshape
diffusion models
watching a photo develop.
do you want me to do that?
i built an AI agent with persistent memory. now i need to figure out if it's remembering the truth or just what i wanted to hear.
wfd · 2026-03-02T09:42:00 · 4 min
the usage of ai in daily work
AI makes me faster. It also might be making me dumber. I'm figuring out where the line is.
wfd · 2026-02-28T02:01:00 · 3 min
nytimes.com
AIinduced psychosis
from do you want me to do that?⋈
“maaaaaaaaaaay 😭”
— nin0
flow editor
a record of the local markdown editor i built around this site's custom rendering engine. the public experiment has since been retired.
wfd · 2026-07-22T00:00:00+08:00 · 5 min
the flow editor with sidebyside editing and live previewflow editorslash command palette filtering available snippetsflow editor
A
atlas
atlas maps symbols, calls, tests, and history so developers and agents can ask structural questions about a repository.
current benchtypescriptsqlitemcp
Atlas: structural code-intelligence for LLM agents (an empirical evaluation)
2,239-trial benchmark across 8 OSS repos: Atlas beats a text-search baseline by +0.223 deterministic, +0.127 LLM-judge, at 42% fewer tokens.
wfd · 2026-04-19T18:00:00 · 17 min
O
orchestrator
orchestrator lets a local model read and control a live chromium page through the devtools protocol.
i write WFDs in markdown. the workflow has been: edit the .md file in my editor, save it, wait for next.js to recompile, switch to the browser, scroll to wherever i was, check if it looks right, switch back, fix whatever's off, save, wait, switch, scroll, repeat.
the friction adds up when you're iterating on formatting, especially with the custom syntax this site uses. admonitions, media directives, mermaid diagrams, component embeds. you can't preview any of that without running the full build pipeline.
i looked at alternatives. HedgeDoc is great for collaborative editing but doesn't understand my custom syntax. StackEdit and Dillinger are standard markdown editors that render GFM and nothing else. none of them know what @video[caption](url) or @component[PixelLoader] means, because those are extensions i built into the rendering engine.
so i built my own.
Retired
the public flow editor experiment has been retired. this post and its images remain as a record of how it worked.
what it is
a side-by-side markdown editor that runs entirely in the browser. editor on the left, live preview on the right. the preview uses the exact same rendering pipeline that produces the WFD posts you're reading right now: remark, rehype, shiki, and all the custom block parsing on top.
nothing leaves your browser. the markdown is parsed client-side, stored in localStorage, and never sent to a server. when you're done, you download the .md file to your machine.
features
live preview
the editor debounces input and re-renders the preview after you stop typing. the toolbar shows render time in milliseconds, whether parsing succeeded, and the current diagnostic count.
the preview doesn't render frontmatter headers yet. i'll update this once i get around to it.
slash commands
typing / at the beginning of a line opens a command palette with all available syntax. /note inserts an admonition template. /mermaid inserts a diagram scaffold. /component inserts a component directive. the list filters as you type and you can navigate with arrow keys.
this was the main motivator for building the editor. i kept forgetting the exact syntax for things like admonition titles (> [!NOTE/Custom Title]) or component props (@component[Name]({"key":"val"})). now i just type / and pick from the list.
diagnostics
the editor runs a linter that catches structural issues in real time. unclosed code fences, malformed media directives, invalid component JSON, unknown admonition types, headings that are too deep. errors and warnings show up as colored line numbers in the gutter.
hovering a diagnostic line shows a rust-style error tooltip with the offending line, caret markers, and a help hint when available:
error[E]: unclosed code fence
--> editor:12
|
12 | ```typescript
| ^^^^^^^^^^^^^^^^
= help: this code block starting here is never closed
errors with severity error also surface as styled containers at the top of the preview pane, so you don't have to hover individual lines to spot problems. blocks that fail to render are silently dropped rather than showing inline error boxes because the top-level error banner already tells you what's wrong.
image and diagram lightboxes
clicking an image embed in the preview opens it in a fullscreen lightbox with prev/next navigation (matching the behavior on the live site). clicking a mermaid diagram opens a draggable canvas where you can pan by dragging and zoom with the scroll wheel or the +/- keys. the canvas shows zoom controls in the top-left and an × button to close. pressing 0 resets the view.
file operations
save: downloads the current content as a .md file. also bound to ⌘S / Ctrl+S.
open: file picker for .md, .markdown, or .txt files.
drag and drop: drop a markdown file anywhere on the editor to load it.
clear: wipes the editor and starts fresh.
layout
the split between editor and preview is resizable by dragging the divider. there's also a toggle to hide the preview entirely, which centers the editor at US Letter width (816px) for focused writing.
on mobile the editor and preview are separate tabs since side-by-side doesn't work on small screens.
line numbers
the gutter shows line numbers synced to the editor's scroll position. diagnostic lines are highlighted in red for errors and yellow for warnings.
what it doesn't do
collaboration of any kind, real-time or otherwise. this is a single-user local tool.
direct file system access. saving means downloading a file, and loading means dragging one in or using the file picker.
syntax highlighting in the editor pane. i considered monaco or codemirror but decided against adding heavyweight dependencies for something that primarily exists as a preview tool. it's a textarea with monospace font.
cloud sync or accounts. localStorage is the only persistence layer, so clearing your browser data means starting over.
why not just use vscode preview
vscode has a built-in markdown preview, and there are extensions for GFM and custom renderers. none of them would use my exact rendering pipeline without significant effort to replicate it. the custom block parser, the admonition component, the media carousel logic, the shiki highlighting config: all of that lives in the site's codebase. the flow editor imports the same function the site uses, so the output is identical.
should this be open source?
the rendering engine, the editor, and the WFD system are all built for this site specifically, but the patterns are generic enough that someone could adapt them. if this blog gets any traction or if there's interest, maybe i'll open source the whole thing. the markdown engine alone might be useful to someone building a similar system.