Using OpenSCAD to design a catmobile for sustainable pet-assisted homelessness

Recently I went homeless, but I have no children, and am a bit socially dejected in Claude's America - which is not coincidentally Trump's America - so this is something of a professional opportunity. In 2018 I began to embrace a Diogenesian lifestyle; in 2026 took the plunge. I do have two cats, two sacred responsibilities, but biologically they are

  1. cats, and
  2. adults, so
it really is fine if they just come with me. In fact I sincerely beleive the sunlight and natural air / scenery will do them good. The problem is carrying them. This is where I mention that I don't have a car or a license - I used to, but after I was diagnosed with schizophrenia and catatonically zonked on meds, I had to relearn many things, like understanding mathematics and playing guitar. I have not yet relearned driving. There is a silver lining: not even risperidone is quite powerful enough to dislodge the memory of riding a bike. It took about two seconds of awkwardness before I had mastered my Yuba Supercargo 1. So technically, mission accomplished: throw the cats in the bucket and bike away to freedom. The problem is that I don't really care very much about myself, but I love my cats deeply and truly. I will never throw them in a bucket. I guess I'm nicer than the real Diogenes was. They deserve a proper catmobile.

What on earth do I mean by "catmobile"? Besides "the author of this blog was not kidding, he truly has schizophrenia." I mean some sort of vehicle where the cats are happy and comfortable. It needs to have the following:

Obviously I need a trailer and a lot of wood. And a pretty good solar generator. Also a cistern. My goodness, what a mess I have put myself in. Good thing Dougherty and Lu are such sweet beans, otherwise I'd leave them behind and get a sleek cruiser. I would like those beans to see a mountain while they're on this Earth.

Bikes At Work 96B, 36" width

The trailer was actually custom and cost more than the bike. It's beautiful: [image] I couldn't ask for a better foundation. This will be finest bicycle-jalopy money can buy. I had a very specific vision for the conveyance I wanted to build. Here it is on paper2: pseudoschematic of my catmobile Hm.3 Just to be totally clear about what we're looking at:

It's probably safe to say this incompetent drawing is not a good basis for a serious construction project. My cats are depending on me using my wrinkly human brain and opposable primate thumbs to protect their physical safety.

I would be a bad sole proprietor if I didn't point this out: at LeCompte Software, we value writing high-quality programs for progressive causes. "Helping the homeless schizophrenic man live comfortably with his cats" probably counts... even if I'm the man in question. Unlike some grifters out there, we take our nonprofit status VERY seriously. So let's steal some WiFi and write some code.

"Just so your lovely readers are clear, are you homeless-homeless? Or more like a vagrant? $5000 is a lot of money."

I will go ahead and address the raggedy elephant in the tent: I am only "voluntarily" homeless if I am being dishonestly optimistic about my circumstances.

	
       ┌────────────────┐
       │ Am I homeless? │
       └───────┬────────┘
      _________|_________
     ╱                   ╲
    ╱   Can you obtain    ╲                    ┌───────────────────────────────┐
    ╲ and afford housing? ╱ ───── yes... ───── │ Then buy some housing, dummy! │
     ╲___________________╱                     │  You're not homeless.         │
                │                              └───────────────────────────────┘
               nope
				│
  
	

If you were to look at my kitchen in my last apartment, it would be incredibly obvious I had schizophrenia. I don't think I'm capable of keeping a job right now. If I had more money I would have an apartment. I truly am homeless.

	
	 ────────────────────────────────────────
	│ Am I homeless, or more like a vagrant? │
	└────────────────
            │
			│
  Can you...
	    
	    │ We can skip that stuff. │
	    └───────


	Ok. Are you content with 
	your circumstances?       ──── no, I am trying to fix things ───
	
  
	

HOWEVER:

OpenSCAD

I love OpenSCAD. I last had experience with CAD software in 2004, when I used an educational version of AutoCAD for drafting something in high school. It is fair to say I was completely ignorant of the simplest CAD basics; on the other hand I am a software engineer and mathematician, so perhaps fresh eyes are a blessing. I do have a specific reason for choosing OpenSCAD over the others, but what was immediately appealing was a 50mb installation. I will add that despite being a talented jazz guitarist I am a physically incompetent artist, obviously, so the more programmatic the better. And it is just kind of cool, isn't it? OpenSCAD has a certain FOSS mystique.

However, OpenSCAD has a major advantage over other CAD software: it is strictly parametric, being a programming language. As long as you're responsible about actually naming the parameters, it is incredibly easy to build, maintain, and modify an OpenSCAD design that reflects real-world measurements and requirements. For most industrial purposes this doesn't actually seem too important, just a nice-to-have, and in terms of FOSS appeal I suppose it's not enough when OpenSCAD is so clunky and stodgy about CAM and 3D printing. But it fit my niche precisely:

  1. A computer is not assisting in the manufacture of this catmobile. All measurements and construction will be done by hand. They might need to be redone.
  2. I am not using a moderate amount of thermoplastic, I am using a very large amount of wood. It'll bend and things won't work right. I'll probably have to run back-and-forth to make sure the design reflects reality.
  3. The catmobile is not a one-and-done. The cats will have complaints and suggestions. I will need to winterize it when fall approaches. Things are gonna break. I plan on using these .scad files for a long time.
  4. Most importantly... when I started the design, I didn't actually have the bike or the trailer! Those aren't off-the-shelf, it took a bit for the shipment to be prepared, and I had to spend a lot of time futzing with wrenches and inscrutable instructions. I wanted to have a very good "sketch" that could be quickly finalized, and I just don't know of a better way of doing that than a .scad script. I was able to build a very solid prototype with the manufacturers' spec sheets and some lazy estimates.

Learning was quite speedy, surprisingly so given OpenSCAD"s obtuse reputation. Part of this is probably my background. But mostly it is the excellent tutorials and user manual available online, along with the examples provided with the software. All are oustanding. I will add of course that I had the most important personal advantage one can have when learning a new technical skill: a pressing need and very specific idea. Let me also say that as a software engineer it is difficult to not be humbled by the impressive abilities of LLMs in 2026, so it is nice to get reassurances that my slow wet THC-addled organic brain is still good for something: I am sure in many ways Claude is better at OpenSCAD than I am, but I doubt any LLM could learn it as quickly as I did. And of course what does "better at OpenSCAD" mean for a system that has not even the slightest illusion of visual reasoning?

I don't really want to go into too much detail about how I modeled everything; it's truly uninteresting. "I measured the constituent shapes, built them in OpenSCAD, then glued it together." Instead I will mention what did and didn't need to be included, certain pain points or compromises, and any wisdom-adjacent lessons I will take with me for next time. There will certainly be a next time: I greatly enjoyed OpenSCAD, it's fun.

The TwoFour Cat Towers

This is probably the most reckless and self-destructive scope creep in CAD history.

In some ways the towers are the most intricate, but also the least sensitive to precision. The idea is that they will be bolted directly to the floor of the trailer, and will not actually support any weight besides that of the cats. It doesn't need to be thorough, but it should be correct to ensure the rest of our stupid apparatus doesn't get in the way. And since I have a strong sentimental attachment to these towers, this was a nice way to get started.

Of course the two "cat buckets" are in reality quite soft, but I didn't feel the need to figure out fabric deformation with this. For my purposes I really only needed a rectangular prism with the correct dimensions.

The Trailer

I mean look at the photo. This one is mostly an intermediate tutorial project: rectangle minus rectangle + rectangles. The hitch was trickier, and it certainly didn't need to be perfect. I measured six points on the real one, interpolated between each consecutive triplet with a circle, then used those circles to define the appropriate solids of revolution with rotate_extrude. Like most technical things, I suppose this sounds fancy and highly competent if you don't know how to do it, but it's incredibly basic high school stuff if you do know. Which means it's fun! I suppose the OpenSCAD community might be interested in my polar interpolation module:

Both the hitch and the wheels/wheelwells highlighted what I think is an underappreciated advantage of OpenSCAD and scripting-based CAD software when used by beginners like me. A programming approach, with objects or functionality encapsulated by modules, allows for amateurish experimentation without risk of damaging something else or not having a clear idea how to neatly undo it.

As an example absolutely dripping with candor, here is my first roughest draft of the wheels, done as I was learning rotate_extrude: rough rough draft of the trailer wheel It looks like shit and the code sucks, I fudged a lot of constants and even got confused about my own dumb naming conventions. (It seems like this sometimes happens to experienced OpenSCADders.) I knew it sucked when I was writing it, I was just too amateurish to do anything except recognize my mistakes while I was making them. (Though I'm not that incompetent, draw_wheels was only ever intended to draw one wheel, and it has been renamed.) But all this shittiness is strictly encapsulated in a clean bit of text, draw_wheels [sic]. I could leave them perfectly shitty, only adjusting the measurements as needed, and design the rest of the catmobile to higher standards. More importantly, I didn't really need the wheels modeled, I just needed their space accounted for in the rest of the model; ultimately all I needed was the wheel_well_width variable. Being able to separate concerns so neatly, and write comments explaining your reasoning, seems like an underappreciated advantage of OpenSCAD in any context. But it's indisputably useful for an absent-minded schizophrenic man trying to manage two cats and a solar generator without a car.

And I eventually figured it out: Clean code, good wheels, I even made them properly fancy. It did occur to me that I could find OpenSCAD employment while biking out and about. Not from any actual machinining company, of course, but lots of people have lots of little jobs and I'm sure the catmobile will draw attention.

Oh Lord In Heaven, Why Did I Model The Bike?

Because I had to, didn't I? Nobody could have possibly predicted that this would be so incredibly difficult that I began to hate OpenSCAD. But it was absolutely worth the effort: this bike fucking rocks.

A somewhat doe-eyed layperson's brief review of OpenSCAD

First, an important caveat I will repeat again: this was my first CAD project since high school, and I don't think I have a particular knack for it. Clearly my success of modeling these somewhat tricky things is due entirely to the OpenSCAD team for writing good software and documentation. I will give my main verdict now to spare you some reading: if you are like me, and

then OpenSCAD is a fantastic option. It has absolutely solved my problem and I had a blast using it. ..... that said... I do think most people, even most programmers, are more artists than geometers. What is funny about me making this judgment is that I am personally more interested in art history than geometry! Yet more interested in geometry than art per se. The point of this navel-gazing digression is that OpenSCAD is not for everyone. Formally the following comment has nothing to do with art or geometry, it is just some snark about 21st-century humans: if you are the kind of person who says "wait, OpenSCAD is only 50MB? How appealing." then perhaps you should try OpenSCAD :)

Again speaking as a layperson, I cannot overstate how well OpenSCAD's approach to scripting worked for my use case. I had a fairly rigorous model of the catmobile ready-to-go, it just needed to be adjusted for some actual measurements of the actual bike and trailer. Once those measurements were made, everything snapped in to place almost automatically, precisely because my rigorous model was programatically rigorous. It does not seem like this will work for everything or everyone. I don't think the OpenSCAD team necessarily wants to describe their work as "the homeless mathematician's CAD program." But in that highly targeted customer niche, they truly have no competitors.

Even as a layperson, I have noticed how sparse the features are. It is of course by design, but not being able to make manual touchups to your objects is a substantial limitation that will be a dealbreaker for most people. Even someone as great a geometer as H.S.M. Coxeter might get a little frustrated by my hacky workaround for the trailer hitch, which is of course not measurement-accurate, just measurement-good-enough, and I'm making a fucking catmobile. This software does not compete with commercial CAD software like FreeCAD does: it fills a smaller niche and does it very well.

I give 9.5/10. I docked one full point for what seems to be a few avoidable footguns with unstable interfaces on commonly-used primitives; I stumbled into a few cases where the documentation was unclear... and apologetically referred to the need for named parameters. But it's free software, and has a somewhat cutting edge / research character so of course they have to backtrack occasionally. As a programmmer, it is both individually and socially the coolest CAD option, which deserves giving half a point back. Look, I don't intend to solve my local homelessness crisis by becoming a professional software reviewer.

Architecture

Safety-minded design

I want to reiterate that the Homerbike was just a tongue-in-cheek illustration. The first thing that occurred to me is that I need to swap the solar generator and the cistern. If there's a problem with the cistern I am okay with the cats getting wet. I am not okay with them burning to death. So let's move the battery to the front of the Supercargo. This brings up the question of wiring. I believe we can kill two birds with one thematically-inappropriate stone: I will need to festoon this bike in flags to alert TikTok-jonesing drivers that a slow and deceptively gigantic bicycle is sharing their road. So using one of the flags as a conduit will... okay it will substantially increase the risk of me getting shocked, pothings nerfect.

I have also been somewhat remiss when it comes to load balancing. Of course the cistern should be directly above the axle. But there is a more difficult point about the "sidecar attachment." I want there to be a sort of walkway for the cats on the right, all the way up to me in the front. This necessitates some sort of overhang, and also a separate attachment on the bike itself, with a flexible walkway between them. What a mess. Again with an eye towards efficiently murdering birds, my intention is to

I am seriously counting on OpenSCAD.

A commerical PAD offering

PAD = paper-aided design and "commerical" means "I bought some graph paper at Wal-Mart."

Theory vs practice: the shipments arrive

Actually building the catmobile

The First Night

Concluding thoughts, prognosis, OpenSCAD <3

etc.

Filling my days with FOSS contributions

Contributing to OpenSCAD, of course! There are a handful of low-hanging bugs that are good to cut my teeth on. More importantly, I do think OpenSCAD has a lot of benefit for people like me. I lose sight of the fact that I am disadvantaged, mostly because I am not that disadvantaged compared to 99% of people with schizophrenia. But I do have schiziophrenia. A proper RV is really not an option for me. DIYing a bike-catmobile would not have been possible without something like OpenSCAD. To an extent I find somewhat intangible, it offloaded a lot of executive functioning that I am not actually capable of providing myself. I am happy to help it trudge along.


1. That is not a cheap bike! Going homeless really is not a financial disaster, I was able to plan. I get monthly royalties, just not quite enough to pay rent + sustain my cat-first lifestyle. That last point is important: I could have kept an apartment if I got a roommate. But Lu is a severely mentally ill rescue cat. She is better off with me on the road. And since I love that little squeaker, I'm better off on the road too.

2. A personal gripe of mine in the AI Era: everyone should be drawing most of their illustrations by hand. Out of curiosity I asked Bing to try, and after a few prompts it did a sort of okay job. But at that point I hadn't bothered with the cistern and solar panels. And I also haven't mentioned how often it turned the cats into cockatrices. When I asked it to make a catmobile with water supply and electricity, things went haywire: the trailer became a Bluebird RV, that is to say a DIY bus conversion! The art generator's plagiaristic nature reveals itself again: it cannot draw chicken wire without turning cats into chickens (in retrospect every attempt was quite clearly a chicken coop and mine is not), and it cannot really envision a DIY RV that runs on pedals, it must turn it into a real RV. Also when I asked to make the trailer larger... it made the cats smaller. I am not sure SOTA AI is actually capable of telling the difference.

I probably could have fixed it. But at that point I would have spent much longer on generic AI slop than my perfectly adequate and obviously human personal touch. More significantly, my shitty doodle actually more effectively conveys my intentions than any of the AI generations; it is not CAD but it's better than AI, and I didn't even bust out any graph paper. So what exactly is the point? I am seriously struggling to think of a setting where a dorky hand-drawn thing is less appropriate than an AI generation. Perhaps if you're meeting with thuggish investors who hate art. "Don't you have schizophrenia, Mr. Homeless Sole Proprietor? Are you really an adequate judge of 'appropriateness'?" No, but you know I'm right about the slop.

3. If you don't understand the Homerbike reference: Homer Builds a Car for the "Average" Man (YouTube)