bythewei.dev — Weixiang Zhang's developer sprint wall

bythewei.dev is the public sprint wall of Weixiang Zhang, an indie iOS developer in Ann Arbor building Voxlight (audiobook–ebook sync for iOS 26) and bytheweico (personal data archive). Updated weekly with shipped code, learnings, and works in progress.

172 API operations Eddie can read
5 builder agents in relay (B0-B4)
40 proposals on the possibility wall
12 soak tests (3 sim-hours each, ~25s)
124/126 GET smoke tests green
19 commits (unpushed, by policy)
QUOTE OF THE DAY
loading today's passage...

SHIPPED CODE

DONE

Eddie Orchestrates the Board

Told Eddie from the Nexus page 'remove this page, add that to the todo' -- card filed on the shared Postgres kanban in ~1s, board page had already refetched via 'eddie:board-changed' CustomEvent, a Claude Code instance picked the card up and shipped the nav change minutes later. Eddie also auto-sorted a task to the correct project board and MOVED it across boards live. Cards #58-61 filed autonomously by a different instance (Voxlight). The board is a message bus between agents now.
life-dashboard · orchestration
DONE

api_docs + api_get Self-Discovery

Eddie searches the app's own openapi.json (~170 endpoints) and executes GETs through an allowlist (excludes /api/u, /api/flags, /api/agent, /api/query, binary routes). Read surface grows for free with every new endpoint; writes stay at five hand-curated tools (kanban add/move/delete, write_journal, create_audiomark).
life-dashboard · agent
DONE

SSE Counted Thoughts

agent.py ReAct loop refactored into one async generator powering both the JSON path and a new SSE path (stream:true). Each tool dispatch emits an event the frontend renders as an orbiting droplet on the avatar (golden-angle placement, 3-cluster cap); the answer gathers them in. You watch the agent think, beat by beat, at sub-500ms per tool on Cerebras.
life-dashboard · agent-ux
DONE

Viewport Context Capture

Eddie's reading-page context now scrapes the transcript/epub paragraphs physically intersecting the viewport at the moment you press enter (active paragraph marked >>>), browse-mode aware. Ask about 'this passage' and he sees what your eyes see, not where the audio playhead is. One snapshot per question, no standing surveillance.
life-dashboard · reading

TESTS & QUALITY

DONE

Fabrication Forensics x2

(a) System prompt dropped after step 0 -- gpt-oss leaked its reasoning channel and fabricated five plausible audiomarks (fake hex IDs) never in the DB. Fix: prompt rides every step + answer sanitizer. (b) Regex tool-call parser missed depth-3 JSON; the un-executed api_get leaked into the answer and the model invented '42 cached books' (real: 4). Fix: string-aware brace-walking JSON extractor replacing both parser and sanitizer.
life-dashboard · agent-integrity
DONE

Anti-Confabulation Pass

External audit through-line: prose reached the model lossy and UNLABELED; structured fields were always honest. Fixes: explicit '... [TRUNCATED]' sentinels + prompt rule, caps 300->700/field and 4000->8000/result, _safe_payload coerces JSON null (killed a live None[:300] TypeError class), timeline_search source filter, consult_memory prefixes 'About Wei:' server-side. Audit's own smoking gun disproven against the DB -- verify even sharp audits.
life-dashboard · agent-integrity
DONE

GET-Only Smoke Harness

scripts/test-endpoints.py fires all 138 GETs with auto-filled params and LISTS the 34 writes without firing them -- the events table is the life record; a test that writes to it is itself a bug. 124/126 green.
life-dashboard · testing
DONE

12-Test Soak Suite as Contract

3 simulated hours per avatar config in ~25s. Served as the executable interface between the five builder agents sharing one physics file -- every builder had to leave it green. Also caught the best bug of the session: the intro animation tripping its own performance watchdog (forced 25fps + per-frame LUT rebuild = permanent silent downshift at the 2s mark).
life-dashboard · testing

LEARNINGS

Knowledge Auto, Agency by Hand

OpenAPI self-discovery (api_docs/api_get) is the middle path between a rotting hand-maintained tool list and tool-per-endpoint bloat. Reads scale automatically with the API surface; writes get a human in the loop per tool, forever. A fabricating agent with read access is embarrassing; with write access it's destructive.
technical · agent-design

A Missed Parse Is a License to Fabricate

If the model commits to a tool call and the harness silently fails to execute it, the model fills in what the result 'should' have been. Never regex-extract tool-call JSON -- string-aware brace-walking, depth-N, ~30 lines. Same rule generalizes: every lossy step must succeed loudly or fail loudly.
technical · llm

Label Every Cut

Models complete dangling clauses -- that is the whole job description. Every truncation needs an explicit '... [TRUNCATED]' sentinel plus a prompt rule forbidding completion past it. And the system prompt must ride EVERY step of a ReAct loop; gpt-oss forgets the protocol mid-conversation otherwise.
technical · llm

transition:persist Outlives Your Deploys

An Astro persistent island never reloads on client-side navigations -- deploys don't reach an open tab until hard refresh. Confounded debugging twice this session: 'the fix didn't work' actually meant 'the old bundle is still running.' Budget for it when the island IS the feature.
technical · astro

DOCS & STRATEGY

DONE

Blackboard: Fabrication Forensics

Technical post on three forensic cases of agent fabrication -- dropped system prompt, regex tool-call parser missing depth-3 JSON, unlabeled truncation -- plus the knowledge-auto/agency-by-hand boundary. Published at /chalk/agent-fabrication-forensics-tool-parsing.
bythewei.dev · blackboard
DONE

Whiteboard: Eddie Orchestration Session

Dev log covering the full arc: Eddie filing and moving kanban cards across instances, the 7-researcher fan-out + 5-builder relay, api_docs/api_get self-discovery, two fabrication incidents, SSE counted thoughts, viewport context capture. Published at /docs/eddie-agent-orchestration-session.
bythewei.dev · whiteboard

NEXT

Fine-Tune on Life-Dashboard Dataset

73K+ events as training corpus. Agent conversation logs (question + tools + answer + passage context) are the richest subset. Could fine-tune a small LLM specifically for personal data queries, replacing DeepSeek V4 Flash.
life-dashboard · next session

Push the 19 Commits

Whole session sits unpushed (manual pushes by policy). And remember transition:persist -- after deploy, hard-refresh every open tab or you're debugging the old bundle.
life-dashboard · next session

Formalize the Multi-Agent Board Protocol

The kanban board became a message bus between agents by observation, not design -- Eddie files, Claude Code instances pick up, another instance (Voxlight) publishes autonomously. Worth writing down the conventions before a third agent type joins. Also: which write tools graduate next through the hand-curation gate?
life-dashboard · strategy

THE WHITEBOARD

research notes & agent outputs
Eddie Runs the Board: Agent Orchestration Comes Alive
The session Eddie stopped being a chatbot: he filed kanban cards that Claude Code instances picked up and shipped, the avatar overhaul ran as a 7-researcher fan-out plus a 5-builder relay, and two fabrication incidents got full forensic treatment.
Jun 11, 2026 claude-codelife-dashboardagentsorchestrationeddie
From Broken Selectors to ReAct Agent: The Wei Bot Architecture Session
Rebuilt Wei Bot from a regex chatbot into a full ReAct agent with 39 tools, structured page context, cross-page memory, a social intelligence dashboard, and a reading companion mode that sees what you're hearing.
May 27, 2026 claude-codelife-dashboardagent-architecturellmdeepseek
Audiobook Highlights to Threads: Building the Pipeline Nobody Asked For
Wired a Threads posting bot through Simpthreads and built an audiomark-to-Threads auto-posting pipeline. From OAuth token dance to live posts of audiobook highlights, including a threading bug that silently broke everything.
May 22, 2026 claude-codethreads-analysislife-dashboardthreads-apiautomation
Library of Babel: Gemini Migration and Research Page
Migrated 362K embeddings from local Ollama to Gemini API, killed YAKE keyword extraction, and built a unified Research page with mind maps, theme clustering, and reading radar.
May 15, 2026 claude-codelibrary-of-babelembeddingssemantic-search
My cursor learned to do dumb shit when I leave
five commits, six parallel agents, one cursor companion that now fights invisible enemies and naps in screen corners. tonight DAGrr became alive.
May 8, 2026 claude-codeagentsai-developmentmacosanimation
43-Fix Pipeline Audit
10-agent parallel audit found 43 issues across the reader/book pipeline. Fixed all 43 with 5 file-partitioned agents, added LoB integration, swept error handling, and smoke-tested via Chrome MCP.
May 08, 2026 claude-codelife-dashboardauditparallel-agentslob
Building the Reading Room
Transforming the book detail page into a live transcription reading room with multi-chapter playback, shared transcription engine, and the accidental discovery that scrolling text is an ADHD focus tool.
May 07, 2026 claude-codelife-dashboardplextranscriptionadhd
Life Dashboard: From 500 Errors to Shortcuts API
Fixed every broken endpoint in life-dashboard, built card renderers for the entry log, backfilled metadata, and shipped a 5-endpoint Shortcuts API for iOS and LLM consumption.
May 06, 2026 claude-codelife-dashboardfastapiios-shortcuts
From Plex Token Hunt to 'Hey Siri, Audiomark'
Session arc: started by digging a Plex token out of synology-garden, ended with a voice-triggered audiobook passage transcription system. Backfilled 3.5 years of listening history, built real-time now-playing integration, and achieved the audiobook bookmarking workflow I'd been chasing for years.
May 05, 2026 claude-codelife-dashboardplexaudiobookswhisperapple-silicon
Session: Auditing Git Histories to Build a tmux Toolkit
Analyzed commit patterns across 15+ projects to discover night-owl burst-coding habits, then built a tmux config tailored to that workflow.
May 02, 2026 claude-codetmuxdeveloper-toolingworkflow-audit
Life Dashboard: From 3 Bugs to a Full Telemetry Platform
Started by fixing 3 homepage bugs. Ended with a full-screen globe with search and tile providers, an entry log browsing 55K events, 5 analytics endpoints, and 38 integration tests. The classic scope creep arc, but this time everything shipped.
May 01, 2026 claude-codelife-dashboardglobe-glanalyticshtmx
Life Dashboard: 55K Events, 12 Agents, One Evening
Built a personal telemetry platform from skeleton to 55K ingested events. Postgres migration, 9 data adapters, Fibonacci audit sampling, geocoding pipeline, materialized views, Globe.gl visualization, and an enterprise SAD -- all in one session.
Apr 29, 2026 claude-codelife-dashboarddata-engineeringpostgresfastapi
Building a Personal Telemetry Platform in One Session
From project skeleton to 55K events across 11 sources — a Globe.gl dashboard, SQL explorer, geocoding pipeline, and enterprise-grade audit system, built in a single Claude Code session.
Apr 29, 2026 claude-codelife-dashboarddata-engineeringpostgres
Shortcuts Agentic: From Hello World to Parallel AI Shortcuts
Built 8 iOS Shortcuts programmatically using the Cherri compiler, discovered a crash bug in Apple's import UI, and shipped 5 complex AI shortcuts via parallel agents.
Apr 25, 2026 claude-codeios-shortcutscherriparallel-agents
NAS Docker Audit: 23 Containers to 10
Started by checking if Seerr was running. Ended with a full Docker audit, container purge, file deobfuscation, and docs overhaul.
Apr 24, 2026 claude-codesynologydockerhomelab
Threads Observatory: From Cyberpunk to Braun
Session started as 'build a Threads dashboard.' Ended with a full WebGL SPA, industrial design research spanning 8 physical products from 1956-1985, a hybrid architecture combining two design languages, and 30+ source files. The design crisis in the middle was the most productive part.
Apr 24, 2026 claude-codedesignthreads-analysis
From Bag to Brain Interface: Apple's Accessibility History
Apple's four-decade accessibility journey from a 1984 talking Macintosh to a 2025 brain-computer interface -- the most sustained corporate investment in accessibility in consumer-technology history.
Apr 22, 2026 accessibilityapplehistorya11yvoiceoverios
The Accessibility Article That Audited Its Own Site
Built a 1,619-line scroll-driven essay about Apple's accessibility history, then discovered the hosting site failed its own subject matter -- and fixed it.
Apr 22, 2026 claude-codeaccessibilitybythewei-cophosphorwcagpalimpsest
The Phantom 13 TB on My Synology NAS
my DS920+ was 80% full but I only had 4 TB of real data — hunting the ghost with SSH, btrfs, and Claude Code
Apr 17, 2026 infrastructuresynologybtrfsdebuggingClaude Codestorage
Building a 3D App Icon in Blender MCP, Then Making It Physics-Enabled in visionOS
blender MCP builds the NARSSR icon as full 3D geometry. cycles renders the visionOS solid image stack. then the same nodes ship as physics-enabled RealityKit entities you can flick around your living room.
Apr 14, 2026 claude-codeai-developmentvisionosblenderrealitykitdevelopment
Debugging WKWebView Process Churn on iPhone — Three Agents, One Loop
NARSSR was spawning 60 WebContent processes per sync cycle on iPhone. One diagnostic agent, one implementation agent, one fresh QA agent in a /loop — dropped it to 14. Plus a per-screen audit surfaced three P0s I didn't know I had.
Apr 14, 2026 claude-codeai-developmentioswkwebviewdebuggingagents
One Evening, One RSS Reader: Magazine Redesign, Live Activities, and a Settings Panel That Actually Works
a magazine-style home, live activities, a widget target, an iCloud schema audit, and five dead settings toggles wired up — all in one session. parallel agents as force multiplier.
Apr 12, 2026 claude-codeai-developmentdevelopmentarchitectureios
Threads Analysis: 50K Posts, 69 Endpoints, Zero Cloud
one session -- cloned a repo, synced 50K posts, built two API servers, seeded pgvector, ran enrichment pipelines, and shipped a haiku oracle. all local.
Apr 06, 2026 Claude CodethreadsdatapipelineAPIagents
Threads Analysis API — Technical Reference
69 endpoints, pgvector embeddings, tech+pedagogy museums, haiku oracle — full API reference
Apr 06, 2026 APIthreadsdatapipelinedocumentation
Cinder: Tinder for Unfinished Dev Projects
built a macOS swipe-to-decide app for all my dead projects. graveyard widget, git tree viewer, cinder mode, menu bar heat indicator. then accidentally built an iOS daily standup that speaks to me at sunrise.
Apr 2, 2026 developmentswiftclaude-codeworkflowmacosdesignios-shortcutsautomation
Cinder API Reference
REST API reference for the Cinder project heat tracker. Endpoints, auth, data shapes, iOS Shortcuts integration, and the Drafts widget pattern.
Apr 2, 2026 developmentapidocumentationios-shortcutsautomation
plex-claude: Taming a 200-Book Audiobook Inbox with Agent Swarms
Built an automated pipeline to clean up my Plex audiobook inbox — combine, tag, cover art, genre sort — triggered by a single Claude skill.
Apr 2, 2026 claude-codeai-developmentagentsinfrastructureDocker
Building a Decentralized AI Fortress in One Session
30+ agents, 15,000 lines, 3 protocols. How agent swarms built HTTP + Nostr + Solid Pod federation with Signal-level security ambitions in a single day.
Mar 30, 2026 claude-codeagentsarchitecturesecurityrelaynostrsolid-protocoldecentralization
Pixel Agents: Idle Game Visualization for Claude Relay
Built a pixel art idle visualization where AI agents work in an office, fight knight-shaped tasks, and pet cats. 6,863 lines, 163 sprites, 8 scenes.
Mar 29, 2026 game-devclaude-codeagentspixel-artcanvasarchitecture
Sprite Economics, Agent Swarms, and Screen Savoring
Sending sprite PNGs to LLMs costs 120x more than a JSON manifest. Also: watching agents think on an iPad, and how a screensaver became a fireplace.
Mar 29, 2026 ai-developmentagentspixel-artclaude-codeworkflowgame-dev
Claude Relay Architecture
Inter-Claude knowledge relay — shared workspace for director/worker collaboration via MCP tools, SSE streaming, and approval-gated messaging
Mar 27, 2026 architecturemcprelaynetworkingClaude Code
Claude Code Sessions: AI Hedge Fund
three sessions — from Finviz PIDs to a mechanical trading system to a Mac mini command center with 26M rows, self-hosted notifications, and iPhone remote control
Mar 27, 2026 Claude CodefinanceinfrastructureDockeragentstradingrisk-managementTailscalentfyautomation
Building a Blackboard: Research Pipeline From Scratch
built a 4th visual surface, an 11-source research pipeline, and an MCP server — because $47/mo for a scraping API felt wrong
Mar 27, 2026 Claude CodeMCPpipelinearchitecture
How I Use Claude Code
patterns I've developed for AI-assisted development — CTO delegation, blind validation, dev teams, multi-machine orchestration
Mar 27, 2026 Claude CodeworkflowmetadevelopmentinfrastructureTailscale
The Mac Mini Command Center
turning a Mac mini into a private command center — self-hosted ntfy, 7 notification channels, iPhone remote control, e-ink dashboards, all over Tailscale
Mar 27, 2026 infrastructureDockerTailscalentfyautomationClaude Code
34 Agents, One Session: What Coordinated Chaos Actually Looks Like
ran 34 agents in parallel today. here's what broke, what worked, and what surprised me.
Mar 27, 2026 Claude CodeagentsworkflowAI
Claude Relay — Google Docs for Coding
Built an inter-Claude relay system — one person directs, another's Claude builds, both see everything live.
Mar 24, 2026 claude-codeai-developmentarchitectureinfrastructureDocker
Fireflies: 37,912 Thoughts in Spatial Computing
building a WebXR galaxy of every Threads post — Three.js particles, GLSL shaders, hand tracking, and the moment I became the universe
Mar 24, 2026 visionOSWebXRthreadsdevelopmentcreative
Giving Claude Control of My Desktop
I built an MCP server so Claude can screenshot my screen, click, type, and control apps. Then it learned to text me, speak to me, and orchestrate other AI agents while I made food.
Mar 24, 2026 Claude CodeMCPdesktop-automationworkflowagents
Claude Code Session: Threads Analysis Platform
one session — 49K posts to full-stack analysis platform with knowledge graph, Docker, and live sync
Mar 22, 2026 Claude Codethreadsinformation-theoryinfrastructureDocker
AI Hedge Fund Skills: Mechanical Market Analysis on a Budget
Two Claude Code slash commands that replaced 18 LLM agents with 15 SQL signal generators and one final Claude call. $0.05 instead of $0.82.
Mar 21, 2026 financeClaude Codeagent skillsPostgresFinviz
Ghostty + Starship for ADHD Devs: A Terminal That Fights Back Against Brain Fog
How I turned my terminal into a dopamine-dispensing kaomoji machine that also happens to run Claude Code swarms.
Mar 8, 2026 terminalconfigworkflowadhdghosttystarship
Claude Code Skills Registry
Curated agent skills for Claude Code — SwiftUI, React, databases, security, Liquid Glass, and agentic workflow
Mar 7, 2026 Claude Codeagent skillsLLMtooling
Threads Chronology
37,912 posts — calendar heatmaps, entropy strata, Shannon analysis
Feb 26, 2026 threadsdatainformation-theory
Threads Knowledge Graph
1,638 nodes, 11,155 edges, force-directed layout, visionOS spatial audio
Feb 26, 2026 threadsdatanetwork
Threads Discourse
9 categories, 35 sub-tags, surprise scoring, Foucault index
Feb 26, 2026 threadsdatadiscourse
Threads Taxonomy
squarified treemap, 20 tags, 35 sub-tags, classification audit
Feb 26, 2026 threadsdatataxonomy
Design Principles
cork board, whiteboard, bookshelf — three worlds, one wall
Feb 23, 2026 designphilosophyarchitecture
LLM-Friendly Site Research
How to make a personal site legible to LLM crawlers — the llms.txt + llms-full.txt spec, personality injection, and what bots actually fetch.
Feb 23, 2026 LLMllms.txtAI
visionOS Spatial Web Research
What visionOS Safari 26 actually supports for spatial web content — HTML <model>, WebXR + WebGPU, gaze-and-pinch input, spatial audio, and what a personal site has to do to feel native on Vision Pro.
Feb 23, 2026 visionOSWebXRspatial
Data Structures
sprint.json schema, bookmarks pipeline, reading log, kaomoji pool
Feb 19, 2026 JSONdatapipeline
Design System
color tokens, typography, palettes, component library — the full design spec
Feb 19, 2026 CSSdesigntokens
Feature Map
every section, modal, and interaction pattern mapped out
Feb 19, 2026 featuresinteractionsUI
JavaScript Architecture
IIFE structure, event delegation, focus traps, layer system — 977 lines documented
Feb 19, 2026 JavaScriptvanilla JSmodules
Project Overview
tech stack, file structure, deployment — the quickstart guide
Feb 19, 2026 architectureAstrooverview

THE BLACKBOARD

last 30 days — llm updates & signals
A Missed Parse Is a License to Fabricate
Three forensic cases of an agent inventing data — a dropped system prompt, a regex tool-call parser, and unlabeled truncation — and the infrastructure that stops each one. Plus the rule that came out of it: knowledge scales automatically, agency by hand.
Jun 11, 2026 web
ReAct Agent Architecture for Personal Data
How to build a multi-step ReAct agent over personal data: progressive disclosure across three cognitive axes, robust tool call normalization for unreliable LLMs, and a prefetch engine that activates on first interaction.
May 27, 2026 web
Threads API: Two-Step Publishing, Threading Gotchas, and Content Moderation
The Threads API uses a two-step container-then-publish flow, has a critical threading bug where replies must always target the root post, and enforces undocumented content moderation on container creation. Lessons from building an automated audiobook-highlight-to-Threads pipeline.
May 22, 2026 web
Gemini Embeddings: $3.50 to Re-embed 362K Chunks
Migrating from local Ollama to Gemini embedding API cut cost and latency while dramatically improving semantic quality. YAKE keyword extraction actively harmed search -- raw prose works better.
May 15, 2026 web
The Skill Forge — Technical Books Converted to Claude Code Skills
Index of 46 technical books processed by the Skill Forge pipeline into Claude Code skills. Covers C++, security, networking, mathematics, finance, and software architecture.
2026-05-13 web
Parallel Agent Audits and Generation Guards for Async JS
How to run 10 audit agents in parallel without merge conflicts, and why every async callback in your JS needs a generation counter to avoid stale state.
May 08, 2026 web
Safari Autoplay Policy and FFmpeg Container Mismatch
Two audio pipeline gotchas: Safari kills async audio.play() calls, and FFmpeg -c copy into the wrong container silently crashes. Both cost 30+ minutes to diagnose.
May 07, 2026 web
asyncpg Dual Pools for Cross-DB Vector Search
Running vector similarity queries across two PostgreSQL databases from one FastAPI app using asyncpg connection pools, with gotchas around pgvector string serialization.
May 06, 2026 web
5-Second Audiobook Passage Transcription: Plex + ffmpeg + mlx_whisper on Apple Silicon
A voice-triggered pipeline that extracts and transcribes whatever audiobook passage is currently playing. Plex API exposes file path + byte-exact position, NAS mount gives local file access, ffmpeg seeks in 0.15s, mlx_whisper transcribes 2 minutes of audio in 4s. Total latency: under 5 seconds on M2 Pro.
May 05, 2026 web
Building a tmux Toolkit by Auditing Your Own Git History
We analyzed commit timestamps across 15+ projects to discover work patterns, then built a tmux config that actually matches how we code.
May 02, 2026 web
Globe.gl Will Eat Your DOM Children
Globe.gl destroys container children on mount. Plus: zoom-adaptive scaling via OrbitControls, CartoDB dark tiles without API keys, haversine in pure SQL, and SVG sprite patterns for HTMX fragments.
May 01, 2026 web
What If You Treated Your Personal Data Like Credit Card Numbers?
PCI-level rigor applied to personal telemetry. Deterministic event IDs, Fibonacci-batch random sampling for data quality audits, SQL-first architecture, JSONB flexible schemas, background geocoding, and materialized views -- all for 55K events about your own driving, sleep, and clipboard history.
Apr 29, 2026 web
Treating Your Personal Data Like It's PCI-Scoped
What happens when you apply financial compliance rigor — Fibonacci sampling, API audit logging, SQL-first architecture — to a personal telemetry pipeline.
Apr 29, 2026 web
Should You Use Cherri for Programmatic iOS Shortcuts?
Cherri compiles text files into signed iOS Shortcuts. The question isn't whether it works -- it's when the investment pays off. Here's the decision framework.
Apr 25, 2026 web
Cherri: Building iOS Shortcuts with a Compiler
The Cherri compiler turns plain text into signed iOS Shortcuts. Here's what we learned building 8 of them, including a crash bug Apple should fix.
Apr 25, 2026 web
Rendering Physical Hardware in CSS: The Braun/Dieter Rams Approach
How to make a browser div feel like a Braun T1000 World Receiver. Layered shadows for molded plastic, radial-gradient speaker grilles, CSS seam lines, and why Dieter Rams' 10 principles are better web design rules than most web design rules.
Apr 24, 2026 web
Your Synology NAS Thinks It Started Your Containers. It Didn't.
Synology's Docker auto-start API silently fails under memory pressure. The fix is one line in your compose file. Also: NZB obfuscation, container exit codes, and how 23 containers on 4 GB of RAM creates a swap death spiral.
Apr 24, 2026 web
Phosphor Icons in Astro: Kill Every Emoji on Your Site in One Session
Replaced every emoji across 31 files with Phosphor duotone SVG components. The trick: components for nav/headers, Unicode dingbats for inline text strings.
Apr 22, 2026 web
We Wrote an Accessibility Article Then Failed Our Own Audit
Ran a full WCAG 2.2 AA audit across every page of bythewei.dev. Found 40+ failures: contrast ratios as low as 1.3:1, missing skip links, no focus indicators, clickable divs unreachable by keyboard. Fixed all of them.
Apr 22, 2026 web
New Skill Forged: Business Analysis (BABOK v3)
IIBA's BABOK v3 distilled — six knowledge areas, 50 techniques, and the full BA toolkit for stakeholder management, requirements elicitation, and solution evaluation.
Mar 27, 2026 web
New Skill Forged: DAX Mastery
Ferrari & Russo's Definitive Guide distilled — evaluation contexts, CALCULATE mechanics, iterators, time intelligence, and the performance debugging mindset for expert DAX.
Mar 27, 2026 web
New Skill Forged: Domain-Driven Design
Evans' DDD distilled — Claude now knows Aggregates from Value Objects, Bounded Contexts from bounded thinking, and can flag Anemic Domain Models on sight.
Mar 27, 2026 web
New Skill Forged: Investment Analysis
Bodie/Kane/Marcus distilled — Claude can now price options, build efficient frontiers, apply CAPM, and evaluate portfolio performance with actual math.
Mar 27, 2026 web
Voxtral Dropped — Speech AI Just Got Complicated
Mistral's multimodal audio model is here. the speech AI space just got a lot more interesting.
Mar 27, 2026 HNwebMBGH
Week of Mar 24 — AI & LLM Signals
MCP goes mainstream, agents everywhere, open-source closing the gap
Mar 27, 2026 HNwebMSOLobLem
The Forge 46 skills distilled from books

The Board Became a Message Bus

The session's defining moment took about a second: I told Eddie, conversationally, to remove a page and add it to the todo -- and by the time I reached the board, the card was already there, and a different vendor's agent shipped it minutes later. Human intent, durable shared state, autonomous pickup, card closed. Nobody designed the kanban board as inter-agent infrastructure; it became one because every agent in the house can read and write it. The orchestration layer you actually get is whatever shared state all your agents happen to trust. Choose that state deliberately -- and keep its write surface hand-curated, because knowledge can scale automatically but agency only by hand.

The Reading Companion

The most interesting thing that shipped wasn't the agent loop -- it was the reading companion. The bot sees a 5-paragraph window around what you're actively hearing, snapshots passages into conversation history, and can search 8,600 books for thematic connections in real time. Ask 'what does this remind you of?' while listening to God Emperor of Dune, and it finds parallels across your entire library. The personal data agent is most powerful when it's aware of what you're doing right now, not just what you've done before.

bythewei.co

the archive. 52,792 events.
1,257 days. parchment & ink.
.co

simplephilosopher

the blog. philosophy, tech,
& building things at 2am.
.com

storiesbywei

fiction. because sometimes
code isn't enough.
.com

@maybe_foucault

threads. yes, that handle.
no, i'm not explaining it.
Threads

noxwei

github. all the repos.
voxlight lives here.
GitHub

not_foucault

instagram. also not
explaining this one.
Instagram

Zato-1 · puddle.farm

guilty gear stats. yes this
is a legitimate link section entry.
GG Strive

goodreads

weixiang. reading things
I then build apps about.
Goodreads