Rebuilding old tools with Claude Code

Friendship ended with JavaScript. Now Rust is my new best friend.

A long time ago, I worked with a very smart guy called Tim. Tim eventually was part of a company that made an interesting device called the Tessel.

The Tessel was a little board with a microprocessor and a nice pin interface and a bunch of ‘modules’ - basically, off-the-shelf hardware in a nice little form factor. The really cool thing about Tessel was that you could write javascript that would interface with the hardware! Since I knew absolutely nothing whatsoever about hardware but I knew plenty about javascript, this sounded really awesome to me, and I got myself a Tessel and all the modules.

And then, predictably, it sat in a drawer for about a decade, and sadly, the company that made it disappeared into the ether.

The CLI for Tessel was primarily built in 2014 and required node >= 0.10 or so. 11 years in javascript land is a very long span of time. I didn’t really feel like installing an old enough node version and dealing with ancient dependency hell (it’s not unlikely some of the packages no longer exist on npm, for instance). So I scrapped that idea and started to wonder what Claude Code could do here. What’s today’s equivalent of the biggest zeitgeisty trend of 2014?

“Claude, please rewrite this codebase in Rust.”

And lo, to rust it was converted. I don’t know how to read or write Rust code, but claude does. I don’t know the first thing about how to interface with hardware over USB, but apparently claude does. The Tessel actually runs your code in a Lua VM, and the CLI transpiles your javascript into Lua bytecode to run in the VM on the device - if you gave me a million euro I wouldn’t have been able to reimplement this in Rust, but claude did - and it did it in basically no time at all. I didn’t get anywhere NEAR my Claude Max plan 4-hour usage limit. And now I have a working CLI!

I mean, the primary thing here is that I think the team who worked on this originally did an absolutely astoundingly good job with the Tessel. Claude only did such a good job because there was a good starting point!

But for me personally - this is just such an amazing, pushing-the-boundaries-of-what-I-thought-possible type of thing. I suppose it’s because I’ve only got a glancing knowledge of how this stuff works, so there’s a real “this LLM is smarter than me” type vibe. I was incapable of babysitting the agent really - my input was essentially stuff like ‘can you write a morse code example so I can test stdin’ and resetting the device every once in a while. Basically integration tests at the code/physical world boundary.

I still can’t really get over how good of a job Opus 4.5 did here. Now, back into the drawer this goes. I’m sure there’s more things in there I can convert to Rust…