I build composable, end-to-end tools that tie together local automation and cloud systems.
Local autonomy. Cloud optionality. Tools that feel good to use.
⚙️ Konan — Distributed IoT Print System
A multi-tier system bridging cloud inputs with physical hardware — evolved from a simple CLI tool into a serverless IoT pipeline that sends rich-text notes from a web editor to a thermal receipt printer on a Raspberry Pi.
Architecture: Web client → AWS Lambda → AWS IoT Core (MQTT) → Raspberry Pi → Thermal Printer
| Layer | Tech |
|---|---|
| Backend | |
| Frontend | |
| Infra | |
| Hardware |
📐 Key engineering details
- Custom Tiptap JSON → ESC/POS interpreter in Rust for translating rich text to printer commands
- Cross-compilation targeting Raspberry Pi (embedded Linux)
- MQTT over TLS with AWS IoT Core certificate management
- Trait-based printer driver abstraction (Console / USB / Network)
- CP437 character set handling, Unicode normalization, visual-width text wrapping
💰 Cobblepot — Personal Finance CLI
A modular financial management tool — tracks accounts, budgets, and market data locally. Evolved from an Actix web server into a lean, local-first CLI with domain-driven design.
| Layer | Tech |
|---|---|
| Core | |
| Data | |
| Markets | |
| Tooling |
📐 Key engineering details
- Crate-based workspace:
cobblepot_core,cobblepot_data_store,financial_markets,cli - RRULE-based recurrence engine for budget projection
- DTO / Domain Model separation for clean data flow
- Structured Diesel migrations with schema evolution (e.g. TIMESTAMP → UnixTimestamp)
- Precision-sensitive financial calculations for balances and allocations
📰 Daily Bugle — General-Purpose CLI Toolkit
A Swiss-army-knife CLI — GitHub automation (commits, PRs), web scraping, caching, weather analysis, and more. Evolving toward an AI-agent tool orchestrator.
| Layer | Tech |
|---|---|
| Core | |
| Capabilities |
- 📖 Integrate Open-spaced-repetition (FSRS) into Daily Bugle for Chinese & electrical lesson plans
- 🎙️ Build a pdf → text → audio pipeline for podcasts on the go
- 🏦 Integrate Plaid into Cobblepot for live bank data




