Full Time Indie Hacking: Month 5 Update

Photo by Sergey Shmidt

At the beginning of the year I quit consulting to focus full time on Preceden, my SaaS timeline maker tool. I also started working on a new side project, Emergent Mind, an AI-powered AI news site. My last update on how things were going was after 3 months which provides more background for anyone interested.

Emergent Mind

When I last shared an update in early April, here’s what Emergent Mind looked like:

And here it is today:

Same general idea as before, but with a number of significant changes:

  • Did away with the whole “Explain it Like I’m 5”, “Explain it as a Poem” and other gimmicky explanation styles and replaced it with translated versions of the site. Visitors can now read Emergent Mind in 12 languages.
  • Simplified the UI a ton: did away with upvoting and post details (score, age, poster, etc). Also nixed individual post pages and just moved the main content (summaries) to the homepage.
  • Also added those post thumbnails to add some graphics to the site.
  • Launched its newsletter, which is a recap of yesterdays or last week’s top posts, depending on whether the person subscribed daily or weekly.
  • Wired up the Emergent Mind Twitter account to automatically share news articles (in the gimmicky explanation styles that I nixed on the actual website).
  • Set up a new LLC to separate Emergent Mind from the LLC I use for Preceden

Overall, the site is coming along, but IMO still lacking in a lot of areas. Doesn’t feel like it has product market fit yet. Notably, while the summaries are good, it lacks insights that all of its human-powered AI news competitors provide. I do think it’s possible to have Emergent Mind generate insightful reporting that’s as good or better than humans, but it’s going to take some work to get there.

I’ve had a number of people suggest to me to expand into other topics besides AI. Imagine there being sections on politics, tech, etc etc etc, and you could choose which ones you want surfaced to you on the homepage and in the newsletter. I’ve also had people suggest I say focused on AI because it’s a plenty big niche. For now, I’m staying focused on AI, but I could see it changing in the future, especially if I can get it to generate insightful analyses and not just summaries.

I spent most of April on Emergent Mind, but for the last few weeks have been focused almost entirely on Preceden. Thankfully, Emergent Mind is 99% automated at this point including the news on the site, the newsletter, and the Twitter account, so I can step away and it mostly runs on its own.

Preceden aka Timeline Maker AI

About two weeks ago I quietly launched a major update to Preceden: the ability to generate complete timelines on any topic using AI, directly from the homepage, no account required:

I had been working on this for months in a PR, and finally said screw it, I need to get this live, even if it is buggy around the edges. And buggy it was (and still is to some degree). I’ve spent the last 2 weeks fixing issues, improving the UI, and trying to get the quality of the generated timelines as good as possible before promoting it more widely.

Consider that Preceden is a general purpose timeline maker tool which means that people are using it to generate timelines ranging from World War II to personal injury claims to startup marketing plans and everything in between. And it has to ideally work in every language and support every possible date format. And support various guidance people give it around what time period to use, or durations for their projects, and on and on and on. And not hallucinate historical events that didn’t actually happen 🀣.

Here are the example topics to give you an idea of what people are using Preceden for, and what this tool has to handle:

I’m basically spending my days monitoring what people are searching for, inspecting the timelines Preceden generates for them, and then figuring out ways to improve those timelines so that Preceden generates higher quality timelines for future users.

Needless to say, it’s complicated to do this well. But, it’s coming along, and it’s already getting a ton of usage and driving a meaningful amount of revenue.

This tool is, IMHO, the best timeline maker tool ever built and I’m very optimistic about its future.

Balancing work and life

This will come to no surprise to anyone who knows me well, but I’m a bit of a workaholic.

I love building these products, and will happily push through when I’m sick or feeling burnt out or should be taking it slower. I also don’t allow enough time for other things in my life.

Learn to cook some new meals? Nah, too busy.

Spend a few hours exploring new LLMs? Maybe another day.

Pick up a new hobby? Nah, need to jump into the support queue.

Play video games? Gotta fix that edge case bug first.

Contribute to the Microconf Slack? Need to watch a few session replays first.

Take the day off to sit by the pool? Maybe after I ship that next feature.

Take a week off to rest? lol.

You get the idea.

The thing is, I have the freedom to do these things but tend not to prioritize them. Like I mentioned in my last post, I run the real risk of burning out if I don’t build better habits that are sustainable long term. I’m trying to get more comfortable moving at a more relaxed pace, but for better or worse, it doesn’t come easily to me. I’m working on it.

That’s about it for now. Hope you’re all doing well and thanks for following along πŸ‘‹.

Full Time Indie Hacking: First 3 Months in Review

Photo by Paul Bulai

At the end of 2022 I stopped contracting at Help Scout to focus full time on Preceden, a SaaS timeline maker tool that I had been running mostly as a side project since 2010. It’s April now so I figured I’d share an update on how things are going. My periodic Friday updates cover a lot of this too, but it seemed like it’d be useful for me and as well as anyone following along to zoom out and share a high level overview of what I’ve been up to.

Emergent Mind

My intent when I stopped contracting was to focus full time on growing Preceden. However, ChatGPT’s launch at the end of November and my subsequent launch of LearnGPT (a ChatGPT examples site) at the beginning of December wound up complicating things, to say the least.

I first announced in January that I was going to shut down LearnGPT to focus on Preceden. Then I got some offers to buy it, so put it up for sale. Then, I decided not to sell it and to shift directions. Instead of it being a ChatGPT examples site called LearnGPT, it would be a social news community focused on AI and be called Emergent Mind. But no, actually not a social news community, but an AI news aggregator/AI education site powered by GPT-4.

LearnGPT at the beginning of the year:

Emergent Mind today:

A chaotic start, for sure, and a savvier entrepreneur likely would have avoided a lot of these missteps. But, for me, it’s how I like to work: ship, learn, and iterate quickly. I wind up heading down a lot of wrong paths with this approach, but usually wind up learning from those mistakes and adjusting course. And for me, this approach usually works better than lots of careful planning, especially for experimental products like Emergent Mind.

And so how is Emergent Mind doing?

It’s doing okay. Traffic is up, sign ups for its upcoming newsletter are up, Discord participation is up, feedback from readers is flowing, and generally it feels like there’s a growing amount of excitement and interest in the site. It hasn’t taken off by any means, but it’s very early still, and I’m optimistic (as always) about its potential. Q2 should see a ton of product improvements, the launch of its GPT4-generated AI newsletter, and hopefully an up-and-to-the-right trend for its traffic.

Preceden

Poor Preceden, never quite getting my full attention, even after supposedly going full time on it.

In January I launched an AI Suggestions feature to help users automatically add content to their timelines instead of having to manually build it entirely from scratch. Milan (the part-time designer I work with for both Preceden and Emergent Mind) and I iterated on it a ton in January and February and I’m quite happy with where it wound up.

The next big piece – and what we’re working on now – is building a stand-alone version that logged out users can use to generate timelines (and optionally sign up and pay to edit). It’s quite good IMHO and I’m excited to launch it in a few weeks. Which brings me to challenges.

Challenges

Needless to say, juggling two products with just two people can be challenging. Every hour we spend working on Emergent Mind is a hour that we don’t spend working on Preceden.

And remember too that Preceden actually makes money, whereas Emergent Mind for the moment is just burning money. It’s still not obvious to me that deciding to continue working on LearnGPT/Emergent Mind was the right decision. That said, I love having a new, speculative side project, especially one that’s at the cutting edge of what’s possible (an AI-first product powered by GPT-4), has a ton of potential, and one that doesn’t require sifting through a decade of messy, legacy code to update.

As I’ve mentioned in other recent updates too, I haven’t quite figured out how to balance all of these things well. My natural inclination is to jump into VS Code each day and code for 8+ hours straight, jumping between Preceden and Emergent Mind throughout the day. I ship a lot this way, but it takes it toll over time, and I need to do a better job of pacing myself to avoid burnout long term.

What’s next

Q1 definitely felt like I was finding my footing: what products would I be working on going forward and what direction did I want to take those things. Thankfully, I’m mostly on the other side of that. If Emergent Mind does wind up taking off, I’ll have a whole new set of tough decisions to make, but I’ll be lucky if it plays out like that. We will see.

If you find yourself saying to yourself “Matt you really should ______” while reading any of this, I’d love that feedback: @mhmazur on Twitter or matthew.h.mazur@gmail.com.

Thanks for following along πŸ‘‹.

Progress on TimelineGPT, Emergent Mind missteps, finding balance

Photo by Lucas Favre

Hey all πŸ‘‹! It’s been a minute since my last post (for reasons I’ll get into below) so here’s periodic update on what I’ve been up to:

TimelineGPT

About two months ago I launched an in-app tool for Preceden that provides GPT-powered event suggestions to users to help them build out their timelines faster. The tool has been fairly successful in terms of adoption: about 15% of new users try it and add content to their timelines using the tool. It might not sound like a lot, but getting 15% of new users to use a secondary feature is pretty difficult in my experience.

For the next phase of it, I’ve been working on a stand-alone tool that anyone can use even without an account:

Imaging landing on Preceden’s homepage and being presented with a search field (along with lots of examples) that you can use to generate a timeline about any topic, ranging from World War II to a startup marketing plan, to an upcoming trip to Iceland, to a hypothetical zombie apocalypse next month. You’ll be able to download or share that timeline and optionally create an account on Preceden to edit it (which would also require upgrading to a paid plan).

Here, for a fun example, is what you get if you searched for “Billing Joel’s We Didn’t Start the Fire”:

This project is about 80% done functionality wise, but only 10% done design-wise. Probably will launch it in 2-3 weeks. TBD on its impact on the business, but I’m optimistic (as always) about its potential.

Emergent Mind

Two weeks back I announced a new design and new direction for Emergent Mind: instead of a site focused on sharing ChatGPT examples (which is how it started as LearnGPT), it would be an AI news and discussion site:

In retrospect, trying to create a competitor to HackerNews or Reddit, even one niched down to focus on AI, is not realistic. At least not for me. There are many problems with it:

  • While I like browsing HackerNews and Reddit, I hardly ever comment. Trying to kickstart an AI discussion site is much harder if you as its founder are not active in those discussions.
  • And even if I was open to being active in the discussions, it’s very difficult actually getting anybody to participate in a new online community. The whole chicken and egg problem.
  • I don’t have a big audience online, which makes it even more difficult.
  • And I don’t aspire to be some Twitter AI influencer and build a big audience.

Taken together, the whole AI news and discussion direction for Emergent Mind was ill-conceived.

It took launching it to really internalize that for me, so I’m glad I did, but I quickly felt silly for even trying to go that route.

That said, I do very much like the AI news and education direction that I’ve shifted towards since that launch.

Here’s the idea:

  • In case you haven’t been paying attention, there’s an overwhelming amount of things happening in the world of AI right now
  • With Emergent Mind, I’m going to try to surface the most important news each day, and help educate people about that news.
  • And it will be 99% automated, thanks to a deep integration with GPT.

Executed well, I think it has the potential to be 10x better than most other AI news sources. It’s gonna take some time to get there, but I’m pretty excited to take it on.

Balance

Part of the reason I haven’t blogged much lately is because I’ve been heads down coding for the last few weeks and didn’t want to lose an hour of progress by taking that time to write. Needless to say, that kind of mentality is not a healthy, long-term approach and unsurprisingly has left me neglecting other areas of my life and feeling burnt out.

I took some time off last week to rest and reflect and have decided to be a lot more deliberate about moving at a slower, more relaxed pace. Not just jumping into VSCode and coding all day, every day, like I have been recently. Giving myself space to relax and learn and tinker and not feel rushed all the time. Easier said than done for me, especially with the pace of things in the AI world right now, but essential if I’m going to do this long term.

Hopefully it won’t be months again before my next post :)

Friday Updates: Smart Icons, Automatic Suggestions, Dealing with Spammers, Better Icon Colors

Preceden

Lots of updates to Preceden this week:

Improving the UX for the AI Suggestions

When we rolled out the AI Suggestions feature last week, the typical experience for the user would go something like this:

  1. Maybe notice the new “AI Suggestions” button above your timeline
  2. Click it, hit Generate
  3. Watch spinner for a minute and eventually see the suggestions

Lots of UX issues there though:

  • No real incentive to click on the AI Suggestions button besides curiosity
  • Waiting a minute for suggestions sucks and I’m guessing a lot of users bailed before then (I didn’t set up tracking for it yet so can’t say for sure)

To remedy this, I updated Preceden to automatically kick off a suggestion request when the user loads their timeline and display the suggestion count directly in the AI Suggestions button:

That way when they click the AI Suggestions button, the suggestions are visible immediately and they hopefully get that “aha!” moment and see the value in it.

Also, one reason the suggestions took so long to generate is that it was also figuring out what icons to use for each suggestion before displaying them to the user. And at 1.2 seconds per event to figure out the icon, that winds up adding a lot of extra time. My short-term solution to this was to not figure out the icons before displaying the suggestions to the user, and instead figure out the icons behind the scenes while the user is browsing the suggestions. If the user eventually decides to add the events to their timeline, Preceden will see if it has figured out an icon for it by that point and if so, use it, otherwise just use a default circle. Still plenty of room for improvement there, but not a bad solution for now.

Smart Icons

The logic that enabled the automatic icons for the AI suggestions also made it possible to automatically suggest icons for events that users manually add to their timeline:

Some of the automatic icon suggestions are questionable though, so I’m likely going to start tracking what icon is suggested and what icon the user winds up using, and possibly using that to adjust the suggested icons in the future. For example, if Preceden suggests an astronaut for an event, but a lot of users in the past changed the astronaut icon to a spaceship, then maybe Preceden can suggest a spaceship to future users instead of an astronaut.

OpenAI costs

I did worry before all this that the API costs would be excessive, but thankfully they haven’t been:

Spammers

While watching user sessions on FullStory (to see how users are interacting with the AI Suggestions tool), I saw a number of spammers sign up and create link-filled events. Here’s an example:

I wound up building an admin tool to help me identify and ban those users:

And later built a script to automatically block them.

All in all, I banned 715 spam accounts yesterday. Banning here means making their timelines private and locking them out of their accounts unless they contact support. Didn’t want to automatically delete anything (timelines or accounts) because this script could misidentify real users as spammers and wanted to make it easy to let them regain access to their accounts if that happens.

Thankfully, these spammers were easy to identify. They almost always created 1 timeline with 1 event and in the event description they added a bunch of backlinks and Vietnamese descriptions (which I used the DetectLanguage Ruby gem to figure out).

Suggestions Dashboard

I also took some time this week to set up an internal dashboard (in Hex via dbt and Stitch) so monitor usage of the AI Suggestions tool. Here, for example, are the # of suggestions it came up with by day:

The increase is due to the automatic suggestions rolling out.

Icon colors

We’ve made a lot of updates over the last few months to the timeline colors, and some of them wound up conflicting resulting in less-than-ideal icon colors:

Notice how the icons for the darker events are barely noticeable.

Wasn’t too hard to fix though:

EmergentMind

No major updates this week.

Milan (Preceden’s front-end engineer and designer) is busy finalizing the redesign. Should ship next week, and then I’ve got a bunch of updates planned for the next phase of its journey.

Thanks as always for reading πŸ‘‹