Friday Updates: Shipping AI Suggestions in Preceden, EmergentMind Growth and Brainstorming

Preceden

On Tuesday I shipped the v1 of Preceden’s new AI suggestions feature to 10% of new users:

I had planned on slowly rolling it out to 100% of users over the course of a week or two, but my OpenAI costs were minimal on Tuesday so on Wednesday I said screw it and just made it available for everyone.

OpenAI costs continue to be $0.50-$1 per day, so not bad at all.

I also set to work figuring out how to use OpenAI’s embeddings feature to automatically suggest meaningful icons for the suggested events. It wound up working amazingly well:

It works so well that after I’m done with this blog post I’m going to work on updating Preceden to automatically pick icons for manually-added events as well, though still give users a way to pick an icon if they’d like.

Also, Milan (Preceden’s designer) and I have been making lots of updates to the suggestions tool to improve the UX. It’s coming along well, though still lots of room for improvement, especially around the experience for users on free accounts (which are limited to 10 events per timeline):

Also starting to brainstorm what a stand-alone tool that logged-out users can use would look like and be called:

Funny that 6 people out of 14 voted for “Something else” but no one responded with alternative suggestions. Thanks y’all 🀣.

I think the stand-alone tool has a huge amount of potential, both in terms of building awareness for Preceden (hopefully the launch garners a lot of attention) and driving revenue (I’ll have a big CTA on the stand-alone tool to let people save their timeline to Preceden, hopefully converting a lot of them into customers in the process). Hopefully will launch it in 2-3 weeks.

EmergentMind

No significant progress on EmergentMind this week.

Milan created some fantastic mockups for a new site design in Figma and last week I was able to implement 90% of it, but it still needs some additional work before we can roll it out to everyone. Maybe by the end of next week.

The Emergent Mind Discord is up to 27 people, and we actually had some discussions this week about the future of prompt engineering:

Also quite happy with the growth of people signing up and posting their own ChatGPT examples to EmergentMind. From the homepage right now (notice the various user names of people posting):

Still figuring out what direction to take EmergentMind though.

Candidates include:

  • Focus on prompt engineering: build tools, write tutorials, list educational resources, etc
  • Focus on Large Language Model (LLM) examples (ChatGPT currently, plus eventually others)
  • Focus on building a community of people interested in LLMs or AI more generally

Re-design first, then I’ll make a decision about what direction to take it next. Suggestions welcome!

Thanks for reading πŸ‘‹

Friday Updates: Prepping TimelineGPT for Launch, Viva la EmergentMind

Preceden

This week consisted of Milan (Preceden’s designer) and I getting TimelineGPT (the AI content generator we’re working on) from 80% ready to ship to 98%. Lots of small, boring tasks like:

  • Figuring out the UX after users click the “Add to Timeline” button in the suggestions dialog. Do we close the dialog? Keep it open? If we keep it open, do we uncheck the suggestions they just added? Hide them completely?
  • Sometimes GPT returns 1 suggestion for a topic, other times 30. When it returns just 1, should Preceden automatically try again to generate more? But then when you combine the results, there can be duplicate suggestions, but not exactly identical, so how do you figure out how to make the final list unique?
  • Adding lots of unit tests to ensure everything works as intended and edge cases are handled.
  • Integrating into OpenAI’s moderation endpoint so users can’t try generating timelines for inappropriate topics.
  • Setting up attribution so I can tell which new customers upgraded after using the suggestions tool (which will be important since using the GPT API will cost money, and I’ll need to carefully monitor the ROI of this tool).
  • Debugging a weird bug that stemmed from using Ruby’s AASM gem with Delayed Job.

Hopefully can launch the v1 early next week, rolling it out to 25% of users and then monitoring costs and usage before ramping it up to 100% within a week or two.

Plus normal support and maintenance like fixing this lovely bug that has probably lost me a bit of money over the years:

LearnGPT EmergentMind

I renamed LearnGPT to EmergentMind for reasons outlined in this post. Feels like the right move long term.

Other things:

  • Last week Andrej Karpathy, one of the leading AI educators in the world, demoed LearnGPT in the first 2 minutes of his recent intro to GPT lecture on YouTube. That explains the traffic spike πŸ“ˆ.
  • Milan and I are working on a big redesign to the site which should ship late next week or early the following week. You’ll get to see the difference between what I can do as a developer who is adequate at design and what a talented designer is capable of 🌈.
  • I started an EmergentMind Discord which is up to 13 people. I definitely feel like an old man though figuring out how to use Discord. At the moment, I’m just sharing product updates in there. TBD what it winds up being long term.
  • Various updates to EmergentMind: adding an account page so users can manage their account, including deleting it if they choose, as well as changing their password and email (for users that signed up via email and password and not Google OAuth). Also added an “About” field there which is displayed on new profile pages for EmergentMind users. Here’s mine. Not a bad v1 profile page, but looking forward to Milan redesigning it in the future.
  • Spent some time exploring the prompt engineering space, which is the tentative direction I’m taking the site. There are already a lot of tools like EveryPrompt and some educational sites like LearnPrompting.org that EmergentMind may or may not wind up competing with. We will see.

Thanks for following along! πŸ™‡β€β™‚οΈ

Indie Hacking Week 1 Recap: Starting TimelineGPT, Ending LearnGPT

Today marks the end of my first week of full-time indie hacking. I feel like I’m getting in a good groove as far as my daily routine, but I don’t think it’s quite sunk in yet how much flexibility I have in terms of my daily schedule. For example, I’m still waking up early to workout and still mostly working 9am-5pm, despite having the flexibility to make my own hours. That said, keeping a normal routine and structuring my workday like a normal job might work best for me. We’ll see.

Preceden

On the Preceden front, I started work on a promising new feature that uses GPT to suggest events to add to your timeline.

For example, imagine you want to create a timeline of World War II. In the past, you would have to research and manually add events to your Preceden timeline to populate it. With this new feature, you can hit a button and it will generate a list of suggestions for World War II or any other topic:

And with the click of another button, you can add those suggestions to your timeline:

Neat, right?

Preceden’s free plan limits users to 10 events per timeline, so making it easier to populate timelines should lead to more paid conversions and help me grow the business.

And while trickier to do, eventually I’d love for this to support project planning too. Imagine being able to say you want to plan a marketing campaign for your SaaS and it automatically generates tasks and suggests dates.

The v1 will be an in-app tool that people can use, but after I work out the kinks I’ll likely make it a standalone tool that logged out users can use, with an option to sign up to continue working on whatever timeline the tool generates for them.

Codename for this whole project: TimelineGPT :).

LearnGPT

Shortly after ChatGPT launched in late November, I launched LearnGPT.com, a site for browsing, sharing, and discussing ChatGPT prompts:

On launch day I posted it on HackerNews where it received over 350 upvotes and earlier this month it made it to the top 10 again thanks to an interesting prompt about a leaf falling that someone posted.

My initial vision for the site was to start with prompts, then expand it into GPT news, tutorials, apps, and more, and eventually offer paid courses to monetize the site.

There’s this famous graph showing the typical path that a successful startup takes over its lifetime. I’ve added an arrow showing where LearnGPT is in this journey:

I honestly believe that with a lot of work, I could push LearnGPT past this “trough of sorrow” and build it into a big business along the lines of PyImageSearch or WPBeginner.

But, continuing with it would consume a lot of time and headspace that I could be putting into Preceden.

And unlike other products I’ve started, LearnGPT would require building a community and creating a lot of unique content which doesn’t terribly excite me. I enjoy building products, and writing a lot of content or managing people to write that content is not something I want to spend my days working on.

I considered trying to sell LearnGPT to someone better suited to take it to the next level, but because it’s pre-revenue (and actually burning money thanks to the contractors I’ve had helping with it), it’s not likely to fetch much, and would likely require a fair amount of time to finalize the deal, so I’m just going to throw up a banner about the closure, turn off new sign ups, and shut down the site in a week or two.

And with that, I’ll finally, truly be full time on Preceden and not splitting my time with contracting or other projects.

Onward πŸš€

Going Full Time on My SaaS After 13 Years

In January 2010 I soft-launched launched Preceden, a web-based timeline maker tool, followed a few weeks later by a larger launch on HackerNews:

Today – almost 13 years to the day since the initial launch – I’m going full time on it and I couldn’t be more excited.

A brief history of Preceden

At the time of Preceden’s launch, I was serving as a first lieutenant in the US Air Force and about halfway through a 5-year service commitment I incurred by attending the Air Force Academy, a military college. I knew I didn’t want to make the Air Force a career, so decided to start learning web development with the hope of eventually working full time on a startup after my service commitment ended in 2012.

The first web app I built during this time period was Domain Pigeon (a domain search tool), followed by Preceden, followed by Lean Designs (a WYSIWYG web design tool), followed by Lean Domain Search (another domain search tool I built while deployed to Iraq), plus a few smaller ones not worth mentioning.

By the time I left the Air Force, I had shut down all except Preceden and Lean Domain Search. I did go full time for a few months, but focused entirely on Lean Domain Search. That tool was eventually acquihired by Automattic in 2013, where I joined full time as a software engineer helping with the domain name experience on WordPress.com.

With Lean Domain Search in Automattic’s hands, I was left with just Preceden, which at that point was about 3 years old. It didn’t make much money at the time, but I decided to continue working on it as a side project and see where it went.

Four years later in 2017 I left Automattic to join Help Scout as their first data team hire (during my time at Automattic, I gradually shifted away from software engineering to more of a data analyst/analytics engineer role). I continued to work on Preceden (then 7 years old), and in 2018 I switched to a contractor role so I could put more time on Preceden.

And now, after 4 years of contracting, I’m finally going full time on Preceden.

Here was my announcement at Help Scout from a few weeks ago:

Why not sooner?

It was a combination of things:

  • I made a lot of rookie mistakes over the years that limited Preceden’s growth including not focusing on a specific niche, not spending enough time marketing, not talking to enough customers, trying to do too much myself, and just in general picking a difficult product and business to build (something I didn’t give any thought to initially).
  • I was learning a ton, doing a lot of interesting work, and enjoying the camaraderie I had with my teammates at Automattic and later Help Scout.
  • Financially it made more sense to keep Preceden as a side project.

On the last point – it’s much easier to launch a SaaS than it is to grow it to the point where it can replace your income. As the sole breadwinner in our household with 4 young kids, I was not comfortable going full time and merely being ramen profitable or anything close to it. I wanted to replace or mostly replace my other income, and with Preceden’s SaaS metrics being what they were, it just took a really, really long time to do that. The long slow SaaS ramp of death is something I now have a lot of experience with πŸ˜‚.

But here I am, finally.

Preceden in 2010
Preceden in 2019
Preceden today in 2023

What’s next?

I plan to focus mostly on Preceden, but will spend some percentage of my time on other pursuits. I recently launched LearnGPT.com, a fledgling GPT education site, and will likely work more and more on AI projects including integrating it into Preceden itself.

Also, it’s been a busy few years, and I’m very much looking forward to relaxing more and spending more time with my family including my two younger kids who aren’t in school yet.

I don’t know what my future holds long term. Preceden’s finances are good enough for now, but not at a point where I can just stop working on it and coast for years. With a little luck, Preceden will continue to grow and will continue supporting me full time to either focus on it or other pursuits. There’s also some chance I get bored with it or stumble across some promising new startup and I wind up going back full time somewhere else. We will see!

I do hope to blog more frequently so if you are interested in following along, you can subscribe via email, RSS, or just follow me on Twitter at @mhmazur.

Thanks for reading πŸ‘‹.

Comments on HackerNews