docs(blog): just enough Node — porting the Pi coding agent to the ESP32-P4 - #230
Merged
Merged
Conversation
New blog post covering the Pocket Pi embedded port: the 46.6 MB desktop- profile measurement that forced a second pi-agent-core profile, QuickJS hosting the agent and PocketJS draw lists on the 720x1280 panel with zero engine changes, the bring-up failure catalog, the on-device acceptance run, and the apps-are-files direction. Hero image is four simulator screens of the shared pocket-pi-device-ui crate; diagrams are inline SVGs in the blog's house style. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
siwei-yuan
marked this pull request as ready for review
August 6, 2026 06:57
… agent Rework the narrative per review: lead with why the whole agent runs on the device (no companion server for the loop) and why the harness stays TypeScript (behavior as files vs. firmware releases), then frame the core contribution — a Node-class runtime for the ESP32-P4 built in Rust around QuickJS, which embedded JS engines never provided. Apps-are-files shrinks to a closing outlook line. Title and nav description updated. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Drop the war-story teasers and engine-changes aside from the lede; keep the runtime gap, the measured numbers, the resident agent, and behavior-as-files. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Per review: drop the hero caption; open with why — Pi is a widely used harness that only runs where Node runs, and we wanted the complete agent usable on embedded hardware. Replace the announcement-style sections with the port's actual arc: Pi's layered anatomy, the desktop Node-compat runtime (ESM cycle rewriting, oxc-transpiled runtime extensions), the 46.6 MB measurement and the pi-agent-core split, native tools standing in for POSIX, the model transports, and the end-to-end UI wiring — with each bring-up failure told inside the layer it belongs to. Apps-are-files stays a closing line. Title and nav description follow the new frame. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Fold the model-stays-remote point into the tools section as one paragraph; the board diagram already shows both backends. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
doodlewind
approved these changes
Aug 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
New blog post: Just Enough Node: Porting the Pi Coding Agent to the ESP32-P4 (
/blog/pocket-pi-on-esp32-p4/).The post tells the port as a story, layer by layer:
pi-agent-core, schema'd tool registry, provider transports, extension seam) and what each layer assumes.pi-coding-agentwith no Node installed: ESM re-export cycle rewriting, oxc-transpiled runtime extensions throughextensionFactories.pi-agent-coreembedded profile.Port reference: pocket-stack/pocket-pi#9.
Changes
site/content/blog/pocket-pi-on-esp32-p4.md— post body; diagrams are inline SVGs in the blog's house style with aria-labelssite/assets/blog/pocket-pi-esp32-hero.png— hero: four simulator screens of the sharedpocket-pi-device-uicrate (220 KB)site/nav.ts—BLOG_POSTSentry (2026-08-06, newest first)Verification
bun run site:buildpasses — blog renders 13 posts, new post first on/blog/site/serve.ts: hero loads, all four SVGs lay out at column width, dark-theme styling matches existing posts🤖 Generated with Claude Code