About
In 2015 I dreamed of a soft little record label with a home on the web. The first try was messy — but the mood stayed. That spark grew into TunedSphere: music, artists, festivals, and shop flows that still feel warm and human.
Alongside that, I build Smile, Laugh, and Mood — a local-first media ecosystem where music and video stay on your machine, and Mood is the optional cloud when you want sync. I also ship BackPicker, a hiking pack composer that turns gear into a clear weight and volume picture, and Squirrel AI, a chat workspace for threads and exports. Soft UI, serious craft, and a little room for a smile. According to my wife, I should keep coding — preferably in a hoodie and glasses.
Work Experiences
2024 — Present Designing and shipping a local-first media ecosystem — Smile for music, Laugh for video, Mood as the optional sync layer. Soft products, privacy-first defaults, and craft that still leaves room to smile.
SwiftmacOSiOSNext.jsHonoProduct2022 — Present Building the live Psygroove platform end to end — music discovery, artist & label pages, festival tracking, and a store for artists. Soft UI, solid product architecture, and the little moments that make people smile.
ReactNext.jsTypeScriptMySQLStripeUI/UX
Projects
Pack smarter — compose hiking gear and see weight and volume like a DaisyDisk sunburst, with a shared catalog and personal gear library.
Next.jsTypeScriptNeonClerkDrizzleAn AI chat workspace — threads, pins, a library view, and conversation export to PDF and slides when the talk needs to leave the room.
Next.jsTypeScriptAI SDKClerkUpstashLocal-first macOS music player — tags, metadata, EQ, and soft themes. Optional Mood sync when you want the library elsewhere.
SwiftmacOSGRDBSparkleEQPrivacyLocal-first video player — smart library, cinematic playback, wide formats. Privacy-first; Mood for media sync later.
SwiftmacOSmpvGRDBAVFoundationPrivacyShared sync for Smile & Laugh — one vault, predictable tiers, local-first until you choose the cloud.
HonoTypeScriptPostgresB2StripeJWTA storefront for artists — products, categories, subscriptions, and payments — kept clear so the music still feels like the main character.
ReactNext.jsTypeScriptZodClerkStripeResendArtists, albums, labels, DJs, and festival tracking — a listening home with mood and genre paths, still growing.
ReactNext.jsTypeScriptMySQLBlog, articles, and documentation in markdown — clear words for a soft product.
MDXContentlayerJSON