A brief history of my recent "coding" adventures
as well as a reminder that "If you build it they will come" is not a great go to market plan
Russell Dalrymple: Well, why am I watching it? George Costanza: Because it's on TV. Russell Dalrymple: Not yet. - Seinfeld: The Pitch
Yet another old guy rediscovers their love of building
When people ask me what I’ve been up to the last few months I realize the most accurate answer is - “LARP’ing as a developer.” Though then if they’re not a fellow nerd you have to explain the concept of LARPing, while sort of trying to slip in that you saw a documentary about it once, not that you’re dressing up and cosplaying on the weekends1. Therefore, I usually just answer “coding stuff for fun.” Just seems easier.
This coding again isn’t just amazing these days due to agentic coding tools. Almost as fun/exciting is the availability of scaled, low cost services to handle much of the important plumbing that comes up for a full stack application. Which is weird given that makes is both the golden age of software development, and perhaps the end of software development as we’ve known it. Hard to say what lies beyond the event horizon.
With that noted as a series of caveats I thought I’d share what I’ve been up to in the hacking things together space. The topics I’m building for are going to seem a bit niche in application. That’s because they totally are. Though I’m pretty sure much of the experiences will translate well for me into other work. When I sat down in Q4 to do some exploration I decided to worry less about applicability and more about learning. ie; I didn’t spend 6 months trying to find some killer app to base a business around2 - just to learn and pick something I was interested in. Toward that end I’ve dabbled in mobile apps, computer vision, virtual reality, and end to end training as a service implementations. Some are half finished, some are live. All were fun … and a great reminder that just because you build it does not mean people will come. If anything product market fit and go to market are more important than ever.
So to refactor my earlier statement, whether it’s the end of software development as we knew it before or not - I am pretty convinced it’s the golden age for engineers (builders) who keep the entire system in focus, because the constraints are dropping away to learn and iterate. That makes realizing an arbitrary vision way easier. And I’ve always felt that clarity of vision trumps ability to do lots and lots of small things that aren’t really constraints. Plus - now you can in many cases do both. Even if working beyond your system constraint likely still isn’t a good use of time/tokens.
In keeping with the theme of this Substack today’s post is mostly a random walk through what I’ve been up to technically. I’ll be starting a new role in the next few weeks, so less time probably doing hands on building. In terms of future articles I am looking forward to getting back to earlier themes around practical lessons for driving impact in all manner of environments. As it turns out an ability to have clarity of vision, ask great questions, and apply leveraged judgement is definitely NOT getting less important with the AI craze3.
Some key random thoughts I’ve taken away from building the last couple of months;
Coding practices that were always known to be good good, but occasionally treated as optional are now mandatory to avoid driving your Claude Code Ferrari into a wall at high speed. At least until the models get even “smarter.” Yes - I’m looking at you TDD (among many examples).
Lots of folks are building orchestration frameworks to keep endless agents cranking. I can see the appeal. At present for me the main constraint (beside occasionally tokens) has been having clear, observably verifiable directions to point each agent in now that they can code so fast. Which is a fancypants way of saying that if the models build faster than I can think of what to do, I’m not sure getting them to build faster is always helpful.
Asking models to build tests for you is awesome. But if you don’t apply a lot of critical thinking skills to them they tend to build tests that may be optimized for “having tests” and not “maximum likelihood of catching a problem before your customers see it.”
It’s so nice to not have to figure out step 0 of “what packages should I install?” or feel especially constrained just because I don’t know a specific language. I’d looked at the VR project I mention in passing below off an on for around 18 months but kept abandoning it because I didn’t want to deal with the 4 pages of Meta setup. Turns out Claude Code helped me sort that out in no time. That said I still am pretty sure, at least for the moment basic software engineering understanding is valuable.
Critical thinking/questioning that comes from having been a tech lead, or line manager “well that’s weird, what would have to be true for that to happen?” and “how do I ask if you really tried the thing you tried without being a jerk but still get the right answer?” are probably worth 10x the value of those skills 10 years ago. In that a decade back it was easier to tell whether you were talking to a senior grizzled dev who had seen it all, vs. a 12 year old intern standing on top of a 6 year old pretending to be an experienced dev4. Now the same agent’s ability can flit in and out of existence without you even noticing5.
Being able to build 5 versions in the time it used to take to build 1/3 of something is incredibly valuable if you can effectively multi-track and learn from it. But good development practices and thoughtful postmortems are insanely important. I know I started with that - but it’s really that important. For example just asking an LLM to write a spec about what they think they should build, having other LLM’s critique it and THEN ACTUALLY READING IT YOURSELF are all building value. Just don’t skip the last one.
I’m sure I have other thoughts that might be of value that I’ll remember exactly 15 seconds after I press <send> on this post.
Now to the threatened recap of what I’ve been up to.
The mobile app:
Goal: A simple workflow mobile app that helps people determine their eye dominance.
For my first side project, I wasn’t looking to do anything tech heavy, just to navigate building something mildly useful in a multi-platform manner. Eye dominance is sort of like “handedness” in a sense - and defines all things being equal which of your eyes is treated as the main reference when fusing information together. Or at least that’s how I think about it - I’m far from an expert. It comes up in target sports (like archery, clay target shooting), photography, and ball sports such as golf and tennis. Most people who are right handed also are right eye dominant. But not always, with differing percentage variances by gender. As a “bonus” as one ages the dominance can become more situational, and some people blend both eyes equally leading to “central dominance”. In some sports it makes a large difference, in other’s it’s more subtle. There are several simple tests one can do - and a sort of a gold standard involving taking pictures of a person pointing at a camera. I didn’t do any novel work here, just built out a pose, snap, and measure workflow to orchestrate the process. Main value was to me knowing I could build this functionality with cameras, UI, and basic measurement. Mission mostly accomplished with a version in the iOS app store, and some basic work to complete the Google Play version - with an overview/marketing site built to complement and explain the app.
As an unexpected side quest I got to learn the logistical and business hoops one has to jump through to operate in those the Apple and Google marketplaces. Never thought I’d have to track down a Dunn and Bradstreet number or start a company just to do that. But here I am…
Tech stack
This one I built in React Native with the Expo SDK. I had some familiarity with React Native when I started, but wasn’t aware of how nicely one could do cross platform development with Expo’s managed workflow. They provide a pipeline that’s free for modest volume work and key library that handle camera functionality, image picking, zoom/pan, gesture handling, PDF generations, etc. Their EAS build service made development and distribution straight into iOS TestFlight and the Google Play store pretty seamless. I was also able to standup an informative website about the “product” using Github pages behind a custom domain. It looks pretty legit to me.
Throw in some Google analytics and you’ve got everything you need. Except customers. We’ll get back to that in a bit.
The unexpected website platform
It’s sort of a long story - but I’d personally done some vision therapy a couple of years ago. It’s about getting your eyes to work better together - good for a variety of sports/reasons, though vision therapy tends to be most well known for kids with lazy eye, and sometimes for post concussive treatments. Big time sports teams also use it to get an extra edge, and (I believe) keep up top performance longer as folks age. I’ll spare you the backstory6 - but I found it pretty fascinating as it explained why I couldn’t see some moving things as well as I’d like, but also maybe why spent my entire life stubbing my toe on any surface within 6 feet of me.
Having used some training tools online (and in virtual reality) I wanted to continue using them but was a bit cheap - meaning I kept trying to build my own. Which I alluded to in this earlier post about a breakthrough I had with Gemini. After that article I rather quickly reverted back to Claude Code - but with the ability to render anaglyph’s sorted I progressed to a fuller and fuller set of sports vision training tools. While I’m biased I rather feel they’re better than what’s available on the non professional market side of things. Realizing that a system isn’t just a website but involved auth, persistence, payments, workflows and many other things I just kept adding to the system until I reached the current state of things.
I’m in the process of rolling out the product 3DVisionGym. I don’t expect to change the world with it, but I’ve learned an insane amount by just doing something fun and continually asking myself “what would have to be true for this to be more useful, and reach it’s audience?”
While this is likely to be more of a side hustle for me but I’ll continue to spend some cycles on what I view as the 3DVisionGym mission and purpose7
Provide athletes at every level the opportunity to improve performance
and enjoyment in the sports they love through affordable,
practical vision training with clear expectations and measurable progress.
It’s been a great way both to learn about current tooling and tech workflows - but also exercise a constraints based systems execution process at every step of the way. Well, most steps of the way - sometimes I just get excited about something interesting but not especially important. That’s where not being broke and desperate is a big plus in this life if you can manage it.
BTW - if you’re curious hit me up and I’ll send you a pair of glasses so you can try it out. Turns out having 3D glasses around is one of those bottlenecks I mentioned - so I’ve been brainstorming distribution of them alongside the software stack. Big thanks to my wife who has had some great ideas there.
Just beware - instead of talking endlessly about movies - now I have thoughts to share on small business formation, why email sending is harder than it looks8, the complexity of buying product insurance, and a bunch of things I’d really never thought about. Much like buying a house suddenly gives you strong opinions about real estate taxes and the city of Kirkland’s obsession with trees.
Tech stack
Full disclosure: I mostly let Claude Code write this paragraph. They like to show off their range sometimes. I did some light editing, apparently the corpus many of these LLM’s were trained on bias heavily toward run on sentences.
3D Vision Gym is a browser-based vision training app built with React 19 and Vite, to render real-time 3D exercises viewed through red/cyan anaglyph glasses. The frontend handles all training logic client-side; depth perception drills, eye tracking games, reaction speed tests. With progress persisted to Supabase (Postgres + Edge Functions). Authentication is managed by Clerk, which integrates with Supabase via JWT templates so Row Level Security policies can gate user data without a custom auth backend.
Subscriptions and payments run through Paddle as the merchant of record, handling checkout, billing, trials, and tax compliance. Paddle webhooks hit Supabase Edge Functions to sync subscription status back to the database.
The app is deployed on Vercel with static assets served via BunnyNet CDN for video content. For coaches/teams, Clerk user IDs (text strings, not UUIDs) link athletes to coach accounts, with RLS policies enforcing access control at the database layer. The stack is deliberately minimal for a solo dev: no custom backend server, no GraphQL, no state management library beyond React’s built-in hooks. Supabase handles persistence and auth token exchange, Paddle handles money, Clerk handles identity — leaving the frontend to focus purely on the 3D training experience. Other random things
Since Claude forgot - “we’re” also leveraging other SaaS components such as Loops for email, and GhostPro for blogging. Combined with a mishmash of hand rolled stuff for video materials9.
The importance of marketing, sales and all the other stuff that can be convenient to ignore.
There are definitely products out there that sell themselves. But for most things having something as good as the competition (but cheaper), or better than the competition (and cheaper) still require a sales process of some sort. You must paint a vision of the problem that potential users need to solve, and help those users discover your solution to their problem. Or as some would say when faced with this - “you probably need to buy a lot of ads to get things off the ground.”
While it turns out I can afford tokens, I’m less excited about dumping a lot of money on ads. At least until I understand if I have true product market fit (PMF). So now I’m facing the problem of many before me - delving deeper into that PMF and go to market (GTM) universe. I’m approaching it like I would any other systems problem, using the variety of things I’ve learned over the years. I’m not going to say that in this case the future’s so bright I have to wear shades. But I am having a great time reasoning through this and experimenting. Whatever doesn’t kill us, is often interesting to behold form the right angle.
If I come across any interesting lessons along this path I’m sure I’ll share them at some point.
Sometimes it’s about what you leave out
In addition to the two that I stuck with to a shippable state, there are others I started and may return to in the future. One using Meta’s Quest VR headset - hopefully they won’t deprecate it before I get back to it. The other a computer vision driven video/motion analysis concept10. Both are probably deeper tech examples where I got a lot farther than I initially expected, but got distracted from driving closer to the finish line. Sometimes the constraint it just time, and not being sure something is as useful as you think it is at the start. Nice to live in a world where I spent a couple of weeks off and on to do something that would have taken me (or several people) many many months to do in earlier points of my career. That ability to explore and multi-track many different concept at once may well be one of the most powerful things AI coding enables. At least at the moment.
And on the other hand…
One of the reasons I wanted to share this update is that I’m actually expecting to be doing more soon, and not less. Barring something very unexpected, I’ll be starting a new role later this month. I’m both excited about the opportunity and a bit terrified.
I’ve still got a plan to keep moving the ball forward on personal projects, including above, and fleshing out a possible book outline I’ve finally gotten some personal clarity on. Remain open to talking through your business problems; be they technical, product, or one’s of focus. We can all use some more experimentation, curiosity and clarity.
Which reminds me I setup the business structure to cover experimentation - by myself and with others. Even did that website too. Though it will now be a while until I focus on that intently as a main thing.
It’s been a productive few months. I said this a while ago - but now I think it’s true - “People Keep Asking If I’m Back, And I Haven’t Really Had An Answer, But Yeah, I’m Thinking I’m Back11.”
Truth be told - I never really left. More details on my full time gig when the time is right.
Not that there’s anything wrong with that
In hindsight I recently realized that I had so much fun building sort of random projects that I probably should have done that seek out a big problem to address first. Then I could have done all this in service of a big idea with potential commercial value. Oh well…
Which for some reason reminds me that I promised myself I’d try Steve Yegge’s Beads stuff once I got these projects off the ground. Though TBH, I’m way to scared to try GasTown - though reading about it has been very illuminating to me about ways to work around constraints I’m starting to experience.
OK. I realize that’s a ridiculous analogy. Clearly the 6 year old would have to stand on top of the 12 year old. The way I wrote it was just silly.
Sort of like Agent Smith in the Matrix. Spooky.
No, it’s not just undoing the incredible mess my 2nd Grade adventures in “speed reading” did to my retention/focus. But it probably didn’t hurt either.
Yeah - I was reading Jim Camp’s exceptional Start with No again. You got me.
I continue to have iffy results with AI video generation - if anyone has a tool they recommend that doesn’t require a Pixar level budget please, please let me know.
This is really cool, albeit really useless until I finish working on code to auto analyze the skeletal frame that the app pretty effectively matches to motion. It’s nice that Apple ships a framework to do that - it’s not like I had to use any of my PhD in the subject area to get to the current stage of things.
OK - I really wasn’t that focused on anything at the time, but really wanted an excuse to write up the “management lessons” of John Wick. Sadly it didn’t have the resounding viral moment I’d hoped for, thus the need to trot it out again.







