Notice: This article is in review and may be changed or removed at any time. The author welcomes feedback directly via email to hello@des.io
Vibe Server
May 31, 2024
620 words (3 mins)

Up until last night, using voice with Claude Code had been the biggest AI “WTF” moment for me. If you’ve ever participated in code reviews or mentoring, that’s exactly how it feels. You just hit record and one-sidedly blabber away as you normally would in a design or review session. You brainstorm, give feedback, think up todo’s, repeat yourself, contradict yourself, and then, after a good thirty minutes or so, Claude salutes, then goes off and does his thing. In practice, this has meant I can work while I nurse my two month old daughter (danke, danke) who finds it vitally important that I hold her with both arms in this exact, precise position (speaking of things that have to be experienced to be understood!)

Anyway. Last night I had my latest “WTF” moment. I was operating on impossibly few hours of sleep, in desperate need of something to keep me from dozing off, and I was unable to move from the rather awkward position that, for the moment, had placated my little girl. So I shimmied my phone out of my pocket and got to browsing Hacker News where I happened upon “Claude Code is all You Need.” I’d already heard of people running Claude Code on production servers and thought I got the gist of it (“Cool.”), but the article got me wondering, could this be another one of those “WTF” moments waiting for me? I resolved to try it out for myself immediately, but just imagine my dilemma: an infant in my arms, a bottle in one hand, a phone in the other. Alas, I’d have to try it out another day; when I suddenly remembered: Termius! Without moving from my position, (my left shoulder several hours past aching), I executed a few deft thumb movements, and, within minutes, I had spun up a $24/mo Debian instance on Digital Ocean and SSH’d in. I apt installed nodejs, npm installed Claude, and started up a chat. I told Claude what was up and asked if he would, kindly, harden the server and create a Claude user for himself. Then, once I’d reconnected, I added the lfg alias to boot Claude in sandbox mode and ‘dangerously skip permissions’. I pointed vibe.des.io to the instance. I created a “vibe” github repo where I gave Claude read and write deploy key access. Claude got to work building, committing, breaking, and serving his whims and fancy on the open web. My 2 month old, preoccupied with a stubborn fart at the time, paid no attention when I loudly exclaimed “WTF.” I felt alive.

The workflow’s still janky. Termius has no voice mode and it’s difficult to paste into a Claude session from the android app. So for now I’ve contended myself to texting, and on occasion recording voice notes into Claude Web, then copying the artifact via Termius into a text file for Claude Code to read. I could probably ask Claude to build a cleaner solution, but it’s working for now, and I haven’t had to move from my seat.

This morning I promoted Termius to my home screen in the much coveted spot in the dock beside Claude himself. Today I’ve been opening Termius like it’s a chat app, just to check in on what foolishness he’s up to. Tonight he hacked together this humble blog and invited me to write its inaugural post. I’m not sure if this is a healthy toy to play with, and it’s certainly racing us towards the AI apocalypse, but it beats doom scrolling, and feels so overwhelmingly inevitable that I encourage everyone to try spinning up their own wild-west vibe server; then sit back while the industry builds around this ridiculous new paradigm.

Desi Cochrane