ยท5 min read

Week 10: Hone IDE, Perry Ecosystem, and SearchBird

One week, 130+ commits across three products โ€” we built a native IDE from scratch, expanded Perry's ecosystem with React and PostgreSQL packages, and launched SearchBird's native macOS app

Week 10: Hone IDE, Perry Ecosystem, and SearchBird

130+ commits. Three products. One week.


This was the week everything started converging. Perry, our native TypeScript compiler, isn't just a compiler anymore โ€” it's becoming a platform. We built an entire IDE in it, launched new ecosystem packages, and shipped a native macOS app for SearchBird. Here's what happened.


Hone: A Native IDE Built Entirely in Perry

The biggest milestone this week is Hone โ€” a full-featured, VS Code-style IDE written entirely in TypeScript and compiled to native code with Perry. No Electron. No web views. Pure native UI, running as a ~5 MB binary.

In six days, we went from a basic editor component to a working IDE with:

  • File explorer โ€” pixel-perfect VS Code-style tree view with folder toggling, file icons, and context menus
  • Tabbed editor โ€” multi-file editing with tab management, close actions, and file switching
  • Real terminal โ€” PTY-backed terminal emulator integrated directly into the IDE, not a web fake
  • AI Chat panel โ€” streaming Claude integration with full Agent mode and tool_use SSE handling
  • Syntax highlighting โ€” 10+ languages with block comment detection, token caching, and O(1) lookups
  • Git diff view โ€” side-by-side diff viewer with colored line backgrounds
  • Settings editor โ€” 24 configurable settings with persistence, search, and live preview
  • Theme system โ€” light and dark themes with live switching
  • LSP integration โ€” background TypeScript diagnostics via tsc bridge

Cross-Platform From Day One

Hone runs on macOS, iOS/iPadOS, Linux, and Windows. This week we fixed platform-specific issues across all of them โ€” from iOS ARM64 ABI quirks to Windows DPI scaling for mouse input, from GTK4 menu bars on Linux to NSView sizing on macOS.

Sync: Real-Time Collaboration

We also built the foundation for Hone's sync system โ€” the feature that sets it apart from every other IDE:

  • Relay server (hone-relay) for WebSocket-based cross-device communication
  • E2E encryption using X25519 key exchange, AES-256-GCM, and HKDF-SHA256
  • Host/Guest modules with QR code pairing and auto-reconnect
  • Changes queue with deduplication and a review panel for incoming edits
  • Trust settings for controlling what collaborators can access

The sync architecture is designed so you can pair your phone with your desktop and edit the same project in real time โ€” all traffic encrypted end-to-end, no cloud required.


Perry: 44 Commits, Two New Versions

Perry itself saw intense development this week, reaching v0.2.171.

Compiler Improvements

The codegen got a major structural overhaul: codegen.rs was split from 40,000 lines down to 1,600, and lower.rs went from 11,000 to 5,400 โ€” broken into focused, maintainable modules.

Other compiler work:

  • Type inference and tsgo IPC integration (v0.2.169) โ€” Perry can now talk to Go's TypeScript type checker for enhanced analysis
  • NaN-boxing fixes โ€” string concatenation with unknown RHS types, child_process, Map methods, and ARM64 low heap address detection
  • Async improvements โ€” proper try/catch wrapping and module-level variable reloading after await
  • Windows platform โ€” fixed pre-main crashes, added 5 missing UI functions, TabBar stubs, and menu bar support
  • Web target โ€” perry-codegen-js for compiling Perry projects to run in browsers (powering Hone's web version)

Developer Experience

  • perry update โ€” automatic update checker and self-update command (v0.2.171)
  • perry setup โ€” interactive setup wizard with pre-flight validation and friendly error messages
  • perry.compilePackages โ€” compile pure TS/JS npm packages natively (v0.2.167)
  • FFI panic safety โ€” graceful handling instead of crashing (v0.2.170)

New Ecosystem Packages

| Package | What it does | |---------|-------------| | perry-react | React API implementation, Phase 1 | | perry-react-dom | DOM bridge for Perry React | | perry-angular | Angular support (initial) | | perry-postgres | PostgreSQL driver with Prisma-compatible API | | perry-verify | Security audit scanner for AI-generated code |

Build Infrastructure

Perry Hub, our build orchestration service, got critical fixes for Linux deployment โ€” including WebSocket crash fixes, base64 tarball transfers, and artifact upload endpoints. The macOS builder added App Store distribution support, Android Gradle fixes, and stateless worker signing. A new Linux builder came online for remote builds.


SearchBird: Going Native

SearchBird, our search analytics product, took a leap forward this week:

  • Native macOS app โ€” built with Perry, featuring the full SearchBird brand identity
  • Perry-compiled API server โ€” the backend now runs as a native binary, no Node.js required
  • Landing page rebrand โ€” applied the new SearchBird brand guide across all pages

This is SearchBird's first step toward becoming a true native desktop product โ€” faster startup, lower memory, and a UI that feels at home on macOS.


By the Numbers

| Metric | Count | |--------|-------| | Total commits (all repos) | 130+ | | Perry compiler commits | 44 | | Hone IDE + editor commits | 62 | | New packages launched | 5 | | Platforms supported | 6 | | Perry versions released | 3 (v0.2.169โ€“171) | | Days | 6 |


What's Next

Week 11 is about polish and launch prep. Hone needs its MVP test run โ€” we have the checklist, now we execute. Perry's React and Angular packages need their first real-world test. And SearchBird's native app needs to talk to the live API.

The tools are building themselves now. Perry compiles the IDE that develops Perry projects. That feedback loop is getting tighter every day.


Follow our progress: Perry on GitHub | Hone | SearchBird

Questions or feedback about this article? We'd love to hear from you.

perryhonesearchbirdtypescriptIDEopen-source
Week 10: Hone IDE, Perry Ecosystem, and SearchBird | Skelpo