Pet projects
termwire
A CLI that opens a ready workspace per task: a tmux session with Neovim and OpenCode, optionally in its own git worktree and branch.
- One command (`termwire up <name>`) creates or attaches a tmux session for a task.
- Optional git worktree and branch per session, so parallel tasks never share a checkout.
- JSONC layouts per user or per project; an OpenCode plugin tool opens files in the session's Neovim.
stack
TypeScriptBuntmuxNeovimOpenCodeBiomeSpeakTales
repo private
An AI storytelling platform that writes personalized children's stories and narrates them with a distinct voice for every character.
- Story generation from a short prompt, tailored to themes, characters, age and educational goals.
- Automatic character extraction and voice casting, with speech synthesis on ElevenLabs.
- Rails 8 web app with Phlex components and a native iOS app on Hotwire Native.
- English, Russian and Spanish; containerized and deployed with Kamal.
stack
Ruby on RailsRubyLLMElevenLabsHotwire NativePhlexSolid QueueKamalEvent Craft
A Node.js package for domain logic with CQRS, event sourcing and Railway Oriented Programming.
- Commands validate input with zod and return events or errors as fp-ts Either values.
- Aggregates rebuilt from events, with versioned events for event sourcing.
- Example application and Vitest matchers for Either results.
stack
TypeScriptfp-tszodVitest