Over the past couple of months, I've started making things for people on the Internet. As a prolific writer, I've always written things for people to consume, but building modules for people to interact with is a whole different level.
Today, I thought I'd riff a little on how I got started in this journey, how it's going, and why you might push yourself to make some things for people on the Internet too.
It started with building custom GPTs with OpenAI's interface. I like to say that custom GPTs are the Skittles of AI—once you try one, you immediately want three more.
What I’ve learned is that building custom GPTs, Claude projects, or any other no-code micro-app is an excellent way to practice problem scoping and shaping on a small scale. In my AI 101 classes, I emphasize that no problem is too small for AI. And over the fall, creating 50+ custom GPTs—most of which I only used once or twice—became a masterclass in rapid ideation and iteration.
A good custom GPT is something that's specific, customized (ideally to you), intentional, cleanly scoped, and leans into the expressive power of leveraging LLMs. Here are a few examples of custom GPTs I built as "starter modules" to get me going:
A client proposal builder GPT (trained on my past client proposal, which helps me spin up quick, brand-aligned proposals in minutes, if not seconds)
Family vacation builder GPT (when we planned a family trip to Maine, I dumped all of our family's goals, plus a bunch of advice we'd received from friends, into a GPT to have it create an agenda)
Holiday gift idea generator (I trained a GPT on a lot of things that my kids like, and their ages, and some current interests, to ask it to surface age-appropriate gifts)
Job interview GPTs (I build a new GPT to mock interview me for every job I'm applying for – and I've even shared a bit about this process in my YouTube series here)
There are literally dozens more like these. Career coaching bots. Writing helper bots. Out of office bots. Even a funny bot I made to simulate a friend's sarcastic and witty responses when he was unexpectedly unable to attend a large social event.
Let's be honest: Most of these were throwaway apps. But I learned a little bit more with each one. Now I'm expanding that mindset onto bigger web apps.
While custom GPTs are a fun entry point, most of these micro-apps were designed for me, by me. Bespoke. Niche. Hyper-limited audience. That was by design. But things get more complex when you want to build something to share with others, which is what I've started doing this year.
Here's what I've built so far:
When I wanted to learn how to use a new tool (in this case, Replit), I came up with a short MVP project that I could scope and deploy quickly. It took me under 30 minutes to conceptualize and launch this pretend band-aid business, Stick & Giggles. (Read more about this here)
Next, I built a very drafty app when I wanted to learn how to build and deploy on Vercel. I also wanted to learn how to remix my own content into new form factors. It's more of an Easter Egg test than anything else, but hey, it's still functioning with new blog posts, so I consider that a win. (Read more on how I made this here)
Yesterday, I took both concepts and crashed them together in a new way. A definite upgrade from my first poem generator, Be Mine, NYC pulls in more bells and whistles (including downloads and a hacky social sharing option).
I also included customizations from some human-generated art and assets I commissioned from a 2022 IRL version of this project. Way more fun to make. Way more fun for users. Also took way more time (and parts of it are still way broken, particularly on mobile.)
While all of these micro-apps are pretty basic, the habit of continually creating stuff (even silly stuff) is such an important part getting better at any skill. And right now, I'm trying to get better at this skill in the context of my new startup, MuseKat.
When I first built MuseKat, I approached it with the same quick, iterative speed as many of my recent AI-powered experiments. But the big difference this time is that I’m investing more in refinement—iterating based on real user feedback rather than just my own ideas. (Which, as I've pointed out, has a big learning curve, particularly as a non classically trained engineer.)
A major win was rolling out a new feature on my own a couple of weeks ago. Now, when you check in at a museum exhibit, MuseKat creates a “Learning Loop,” which create a custom parent summary and a take-home activity for kids—turning a museum visit into a lasting experience. (If you've been messing with the app on your own, you can check this out on the new Learning page.)
For instance, here's a sample "Learning Loop" from a 7-year-old's visit to the Museum of Natural History last weekend:
What I've learned is, even building unrelated micro-apps teaches me a lot about how to adopt a programmatic mindset, how to iterate with a computer, or even how to trial a new possible feature in a lower stakes setting. (Also, let's be real, it's just fun.)
Over 500 subscribers
Collect this post as an NFT.
How (and Why) To Start Making Stuff for People on the Internet A big shift for me over the past few months has been moving from publishing stuff that people can simply react to -- to publishing stuff that people can engage with. It turns out, it's really fun to build engaging micro-apps for people on the Internet. Here's how and why I'm continuing to practice the skill of building in public (and how you can too) https://hardmodefirst.xyz/how-and-why-to-start-making-stuff-for-people-on-the-internet
how do you balance the desire to build this stuff with a desire for... revenue as a result of building it? haha
lol story of my life My answer to both is time boxing I have never before done the full on quit my day job thing to build shjt so I recognize some of this creative energy is a natural part of that transition and I imagine somewhat short term and bursty while I figure things out
More than 50 GPTs?! Big believer in quantity leading to quality – excited that you’ve found something you want to keep working on with MuseKat!
I am not joking when I say that my ChatGPT instance knows me better than my own family right now
Have you done the “roast me” ChatGPT prompt?