Evolving my ergonomic setup (or, my laptop with extra steps)
Monday, December 2, 2024
My computer setup attracts attention when I'm out and about. This has two effects: engineers1 ask me about it, and everyone else ignores me. These effects are not undesirable, but further testing is required.
The main reason I have such an unusual setup, though, is more practical: so my arms/hands do not hurt from using my laptop. I wrote about the second iteration before, and a lot has changed since then. Now it's time to record all the previous iterations2 and then detail what's new.
Prototypes 1 through 3
Prototype 1: chonky tray
The first prototype is what I lovingly call the chonky tray. It was really a portable desk, with a recess routed into it so that the laptop stand could sit inside of it. This prevented that from sliding off, mostly, and gave a flush surface under it for the keyboard.
This setup worked, sort of. I could use my keyboard in my armchair in our living room—but I could not use it in the armchair in my office, because it was too wide!
It was also way too heavy and too large to move around the house, let alone anywhere outside the house. This first prototype really served only to ignite my desire to have something, and to show me some things that don't work. But I kept hurting myself by not using it.
Prototype 2: luggable in backpack
The second prototype is the one that was detailed in my previous blog post. It was motivated by this realization that I was going to visit the Recurse Center, a programming nerd enclave in NYC, and could not take my laptop with me since I had no portable way to use it without injury3. So, I made this!
This one worked pretty well for me! It let me fit my whole setup in my oversized backpack, and I could easily take it out of there and use it on the go. I used it on the train ride up to NYC, inside RC's headquarters, and in coffeeshops.
But it wasn't perfect. It was a bit heavy, though with the keyboard I was using, there wasn't much to do about that. Getting my laptop in and out was annoying, since I had to unscrew a nut before sliding it out. And the rigid mounts for the keyboards were okay: they worked, but lacked some adjustability.
The biggest problem, though, was that it did not fit in my personal item bag. And my oversized backpack doesn't fit under all airline seats. And I'd just been accepted to speak at a conference.
Uh oh.
Interlude: fever dreams
Around this time is when I got very sick. I'm recovering now, and I'll write more about it all another time—it's quite the story. But the relevant bit here is that I spent a lot of time during the summer in bed or lying down for radiology procedures.
A funny thing happens when I have to lie down and rest for long periods of time: I start designing things. I was extremely fatigued and had near constant pain, and designing something was a perfect way to move through all of that.
One potential design, using a lot of steel and magnets, came from a morning at home in bed. But the actual next iteration came from a two hour radiology procedure. For that one, I had my arms pinned at my sides and could do little except stare up at the ceiling while they took images4.
And so I designed what you'll see next! There are some design flaws, but I'm proud of the experimentation, and it was a crucial step toward my current iteration. And it was some good practice using HeadCAD for a design, then seeing if I could transform that design into a real object.
Prototype 3: fabric hinges
The third prototype is the one I took to give that conference talk. It was interesting, a successful experiment, and it lasted about for the duration of that trip.
The successes were that it was very light and had a much thinner base. It also had a modular design, and I ended up reusing the laptop holder on my current iteration, so that design I'm quite happy with. And I started using hook-and-loop fasteners on it for attaching peripherals!
One of the coolest things I did here was design some hinges out of fabric, with hook-and-loop for adjustment. They started out rock-solid, and the design worked better than I expected! I did have to make sure to align things in a particular direction with the fabric to ensure there was no stretch in the hinging direction.
Unfortunately, since I made things out of thin wood and fabric to keep weight low and keep adjustability high, it started to fail early. The glue I used started to fail on one of the keyboard hinges, making the whole thing a bit floppy (the other one stayed rock solid and I still really like that design, I just need to figure out the glue situation).
I also learned that the thinner base isn't entirely a benefit. With the reduction in total height, it let my shoulder drop down a little more and brought back some of my prior nerve issues! This actually led my physical therapist to discovering the cause of them, which is a win. But it influenced the next design.
The biggest problem, though, was that while it packs up for travel, doing that requires disassembly. This was not a fast process, taking at least a few minutes to tear down or put back up.
Latest iteration: Tray.One ("tray dot one")
The fourth prototype is the current one I'm on, and it has addressed the prior issues for me. I've been using this one for a little while now and there is almost nothing I want to change about it, so I'm done experimenting and might make a nicer version of the same design.
This one really nails it for me: it's light, it is more ergonomic (for me), it's usable in more places, and it's far easier to travel with.
The fully deployed configuration looks similar to some previous iterations, but you'll note the keyboard is different. Also that it looks like everything is scrunched forward on the tray. I move the peripherals forward and back sometimes to have more variety in positioning, and here they happen to be further back since I was taking photos and things slid a bit.
I abandoned my Keyboardio Model 100 for a Corne keyboard, which suits me a little better right now. This was a big change at first but only took a week or two to get back to full speed. The main advantages for me here are that it's smaller, lighter, and has lower force required per key, so I end up moving my fingers a lot less. This keyboard doesn't have mouse support like the Keyboardios do, though, so I picked up a Ploopy trackball mouse and have been loving it.
The most notable thing about this setup is the party trick: it folds in half. This is useful both for travel and for general use. Sometimes I use it folded just to have more desk or table space in front of me!
Here it is folded to the smaller configuration.
To fold it, I lift up the trackball mouse and take out one screw and loosen the other (so I can swing the plate out of the way), then fold it! This is way faster than my previous iteration, which required pulling apart a few different hook-and-loop parts and taking off multiple screws.
It's also more convenient since it fits into my airline personal item bag fully loaded when folded. I just take out that one screw, take off the laptop (which fits in another compartment of the same bag), and stow it away with everything on it. It's made it so I can use my computer in spare moments while traveling.
And this design cuts down on weight a lot. It's down to just 3.5 pounds (with peripherals, without the laptop) and is pretty comfy to carry around and use. It's 6.5 pounds if you include my laptop, which is well below the usual post-surgery weight restrictions of not lifting over 10 pounds. It makes a big difference for one-handed carrying it around the house!
Another thing I carried over from a previous iteration was the use of hook-and-loop fasteners. I have it on the front and back of the laptop holder, and I stick peripherals on there. It really helps things stay neat and tidy!
This setup is not perfect. I need to reattach the hinges and make sure the screws go in exactly straight, since right now they touch when fully folded and it means the halves spring apart a bit. This doesn't impact using it folded, but magnets aren't enough to keep it folded while carrying it. And it's also not finished, literally: I haven't applied wood finish to it. But it is a fundamental improvement over even my previous setup, and it has made it dramatically easier to use my computer in a healthy way.
My workshop: a joy and a privilege
I have the privilege of having a nice workshop where I can make things like this. This takes time, space, and money to establish. I planned for it—when we were buying a house, we had potential workshop space as one of the criteria. But even that, buying a house, isn't within reach for everyone.
It's a joy to have it. Being able to step out to my garage at any time and just work on physical things instead of the ephemeral abstractions we usually deal in is really wonderful. And when I have a problem? I can go solve it.
I've had some sort of tools and workshop for a decade now. It took me that long, a decade, to get to the point where I was able to make each prototype in a morning.
If you need something like this laptop tray, reach out to me. This is life-changing equipment for me, and I want to make sure that people have it if they need it, so I'd make them for close to at-cost. (The caveat is that this design only works for laptops with 180 degree hinges, and I'm not sure how I'd update the design for laptops like a Macbook.)
Bonus: my projector mount
Okay, here's another little thing I built.
Something else I started doing while sick is working lying on my back, using an ultra short throw projector pointed at the ceiling. There were times I needed to lie that way to get my heart rate back to normal, or just to avoid any physical exertion, and being able to use a computer was great!
I'm doing a lot better now, but still like to use my computer this way sometimes. However, my projector was just sitting on our bed headboard, and it was easy to bump and move. So I didn't use it much, because it was inconvenient. (Are you seeing a trend?)
So, at the end of October, I spent 20 minutes in the workshop and made a projector mount from scrap wood! I used a few nuts and bolts I had on hand, and another hinge like I had for the keyboard tray.
Now it's rock solid! It's easy to move the mount around if we need to take it off the bed and put it back, and it stays in a steady angle. You can adjust the angle pretty easily, too.
Okay, that's all I've got! If you have unique homemade ergonomic setups, I'd love to chat with you about them. And if you want plans to make something like mine, or you'd like me to make you one, feel free to email me.
I've mostly had software engineers ask me about it, but also some others like a mechanical engineer!
In part, this is so that I can finally turn some of the previous iterations into scrap wood. They have decent size pieces of plywood that I could use for other things! But I don't want to recycle them until I document them, so here that is.
That is, except my voice coding setup with Talon. That does have its own drawbacks, though, and I was pretty rusty with Talon then. It's not the easiest to use in public or noisy environments.
Well, it was this and talk about CrowdStrike. The morning of my procedure was when that was all going down. Their department had two working computers; I was lucky the one they needed for me was up. The IT people were in and out during the procedure to manually fix a bunch of PCs.
If this post was enjoyable or useful for you, please share it! If you have comments, questions, or feedback, you can email my personal email. To get new posts and support my work, subscribe to the newsletter. There is also an RSS feed.
Want to become a better programmer?
Join the Recurse Center!
Want to hire great programmers?
Hire via Recurse Center!