Building

Etude
Piano practice tool for self-assessment against sheet music
TypeScript Effect Services, layers, RPC, and Schema throughout @effect/rpc WebSocket transport with streaming @effect/sql SQLite queries with Drizzle migrations React UI with effect-atom state management Verovio WASM-based sheet music rendering Web MIDI API Real-time keyboard input Bun Runtime and monorepo workspaces
paperless-cli
Effect-based CLI for Paperless-ngx with Claude skill for document management
TypeScript Effect Services, layers, config, and Schema for API modeling @effect/cli Declarative CLI with typed arguments and options @effect/platform HttpClient for REST API Bun Runtime and build tooling
fmcal
Agent-controllable CLI for Fastmail calendars via CalDAV
TypeScript Effect Services, layers, config, and Schema for domain modeling @effect/cli Declarative CLI with typed arguments and options tsdav CalDAV client for calendar operations ical.js iCal parsing and generation Bun Runtime and build tooling
x-to-obsidian
Save X bookmarks to Obsidian with AI-generated titles and summaries
TypeScript Effect Backend services for bookmark processing and deduplication @effect/ai LLM abstraction for Claude/Gemini to categorize and tag bookmarks @effect/platform HTTP server and filesystem APIs Chrome Extension Manifest V3 extension that scrapes bookmarks from x.com Bun Runtime and monorepo workspace management
SubQ
Track weight, shots, reminders, stats, and more for GLP-1 medication users
TypeScript Effect Layered service architecture with dependency injection @effect/rpc Type-safe client/server communication @effect/platform HTTP server and Bun runtime bindings @effect/atom Reactive state management for React React Web client with TanStack Router opentui Terminal UI client built with React SQLite Embedded database deployed on Fly.io volume Drizzle Schema definitions and migrations better-auth Email/password authentication Resend Transactional emails for shot day reminders Bun Runtime, bundler, and monorepo workspaces Fly.io Free tier with persistent SQLite volume
obsidian-api
Local API for interacting with an Obsidian vault
TypeScript Effect Layered service architecture with OpenTelemetry tracing @effect/platform HTTP server with Swagger UI and filesystem APIs Bun Runtime with hot reloading for development
KiloCalc
Barbell plate loading calculator with kg/lbs conversion
TypeScript Vanilla TS with no framework Vite Dev server and production bundler
nixos-config
NixOS and nix-darwin config for all my machines
Nix Flakes for reproducible system configs NixOS Desktop and server machines nix-darwin MacBook configuration
Homelab
Self-hosted infrastructure at home
Proxmox Hypervisor for VMs and containers Synology NAS for storage and backups Ubiquiti Network infrastructure
vessia.net
Personal site with projects, bookshelf, and more (you are here)
Astro Static pages with islands for interactivity Bun Package manager and build tooling Alchemy Infrastructure as code for Cloudflare Cloudflare Workers Edge deployment with KV storage

...and many more assorted apps and scripts on my GitHub