This is the final demo of the circular SVG progress bar I made after a lot of research and trial and error!
And here's a Codepen demo with all the code.
Now, let's talk about the full story — back from the beginning when I thought a vertical progress bar might be the solution. 😒
The original idea was just to show a simple vertical progress bar inspired by a phone's battery status.
But since this demo is going to be one of the first impressions get of the product, I wanted the design to be really beautiful.
For the next iteration of the design, I went in a more creative direction that would give the user a real-world feel of what each progress bar meant.
I decided against these for one simple reason: they were unfamiliar UI elements, so the user would need (precious) time to understand them. Whereas I wanted them to intuitively understand the demo right away.
The next attempt was my favorite by far.
I've always liked circular progress bars: they're beautiful, they're intuitive, and they convey so much information in a very compact amount of space.
And the ones I designed (after watching a quick Figma tutorial) were simple, while also feeling unique and cool — like a futuristic smartwatch ⌚️
I always prefer to design before coding because then I find the right solution and not the easiest-to-implement solution. But that approach sometimes leaves me with difficult-to-implement designs that I love.
My first stop was CSS.
I love CSS — it's easy to work with, the animations are buttery-smooth, and you can implement a lot of complex designs with just a little extra thought.
My research started off strong. I found a tool that lets you generate circles with dashed borders by plugging in a few simple options.
And then I found a great tutorial about how to make a circular progress bar in CSS.
All I needed to do was put these two concepts together somehow and I'd be able to create my design with pure HTML & CSS.
But something felt off... there were a lot of hacks to get this working:
Despite all of this, I was prepared to go ahead with this solution.
But then I saw these comments on a Dev.to article:
And it clicked 😊👌
An SVG!
The first thing I did was download the code for Twitter's circular progress indicator directly off of Twitter.com:
It's pretty simple, there's only a couple parts to figure out:
stroke-dashoffset: 12.29014; stroke-dasharray: 56.5487;
, where stroke-dashoffset
is the empty space that's not filled up with blue and stroke-dasharray
is the circumference of the circletransform: rotate(-90deg)
to get the blue progress bar to star from the topIn order to get my own design working, I just needed to play around with the circles until I could draw:
It was actually pretty simple.
The gray dashed circle looks like this:
<circle cx="50%" cy="50%" fill="none" stroke-width="20" r="40" stroke="#D4D4D8" stroke-dasharray="1.4137,1.4137"></circle>
The secret here is just to have a large stroke-width
and use a stroke-dasharray
that's small and won't cause to dashes to overlap each other (I used a factor of the circumference to pull this off).
The green foreground circle looks like this:
<circle class="progress-bar" cx="50%" cy="50%" fill="none" stroke-width="20" r="40" stroke="#19C558" style="stroke-dashoffset: 251.3274; stroke-dasharray: 251.3274;"></circle>
This one was a little harder, but not by much. It has the same width and radius as the gray circle. But we do need to define its stroke-dashoffset
and stroke-dasharray
.
The stroke-dasharray
needs to be the circumference of the circle, we need to do a little math:
2 * 3.14159265359 (π) * radius (40)
Which gives us: 251.3274
! 🎉
The inner and outer black stroke circles were easy in comparison. I just played with their radius until they looked like the design:
<circle cx="50%" cy="50%" fill="none" stroke-width="1.5" r="27.5" stroke="#27272A"></circle>
<circle cx="50%" cy="50%" fill="none" stroke-width="1.5" r="52.5" stroke="#27272A"></circle>
In the past, I've found working with text inside of SVGs to be a pain (it renders weirdly in some browsers and on some machines).
So for the progress percentage, I decided to code that up in raw HTML and just layer it on top of the SVG.
<div class="progress-text-container">
<div class="progress-text">
<span class="progress-text-inner">0</span><span class="progress-text-percent">%</span>
</div>
</div>
The last thing to do was to show what happens when the progress percentage reaches 100%.
This was actually a lot of fun. It was hard because the checkmark would be rotated 90 degrees just like the rest of the SVG, so I needed to draw it sideways, but other than that it was just a big green circle with a simple polyline
(what you use in SVG when you want a line that bends).
<circle cx="50%" cy="50%" fill="#19C558" r="50"></circle>
<polyline points="52 74, 65 60, 40 36" stroke="#fff" fill="none" stroke-width="10" />
Then I just needed to code up the JS to animate the progress bar and change the progress text — and everything worked!
Recommended reading: "How to Code SVG Icons by Hand" (an amazingly helpful guide that clarified viewbox
, polyline
, and showed me how hand-coding SVGs isn't that hard!)
I like having audio versions of my posts because they're a lot easier to consume for people. Someone might be going for a walk or doing a repetitive task — but if they can listen instead of reading, they can still engage with the content.
You can use your generated audio:
I'll cover the basics of generating the audio, as well as some issues and improvements you'll want to address to make your audio the best it can be.
Here's the full tutorial, outlined by Google:
Quickstart: Create audio from text by using the command line.
👆 This covers the high-level steps, but doesn't go into detail about what you need to do to get started. For those early steps, you'll need to finish this guide first:
Check these off as you go through:
GOOGLE_APPLICATION_CREDENTIALS
environment variable, so the gcloud command line tool knows how to access your credentialsLast of all, install the gcloud command line tool if you haven't already and connect your google account by running the command gcloud init
.
Now you're done with the initial steps! We're ready to dig in!
Here's where the fun starts.
Continue following the steps from: Quickstart: Create audio from text by using the command line.
request.json
file with the example content Google provides.curl
command to ping their API.The request.json
file looks something like this:
{
"input":{
"text":"Hello world!"
},
"voice":{
"languageCode":"en-us",
"name":"en-US-Wavenet-J",
"ssmlGender":"MALE"
},
"audioConfig":{
"audioEncoding":"MP3"
}
}
You should get back a base64 string inside a JSON object. I usually save this to a file called audio-data.json
.
You can decode the base64 string pretty easily into an MP3 — and voila! — then you'll have an MP3 you can use for your blog!
So far we can:
⛔️ But when you try to use your own text, you'll run into a few issues:
Fixing this is relatively easy: we'll just need to split our text into parts that are shorter than 5,000 characters and then stitch them back together.
So, select the first 4,900 characters of your text and put that into your request.json
file.
Then, run the API command and you can get the audio for just that part.
Continue with the next 4,900 characters of your text to generate another MP3.
You can name them like this: blog-post-1.mp3
, blog-post-2.mp3
, blog-post-3.mp3
Then, install the amazing ffmpeg
library (get it here). This is an amazing tool that lets you convert/edit/remix all kinds of media files, including MP3s, MP4s, GIFs, and anything else you can imagine.
Run this command to stitch all your MP3s into one (make sure you replace the MP3 names with however you named your files):
ffmpeg -i "concat:blog-post-1.mp3|blog-post-2.mp3|blog-post-3.mp3" -acodec copy final-blog-post.mp3
This command will output a file called final-blog-post.mp3
that will be a combination of all the MP3s you've generated!
The final audio will be seamless — you won't even be able to notice they were separate files that were stitched together! 🤯
This problem is much easier to fix than problem #1:
After you do that, you'll be able to paste your text into the right field in the request.json
file and it will work!
You can browse all of the Text-to-Speech voices here: Supported voices.
I highly recommend choosing a voice marked as "Wavenet" because those voices tend to be richer in quality and speak with more nuance.
After you preview a few and find one you like, just replace the options in your request.json
file with the voice options you chose.
I personally chose these options and put them under the "voice"
option:
"languageCode":"en-us",
"name":"en-US-Wavenet-J",
"ssmlGender":"MALE"
Once you've done the initial setup steps and get Google Cloud configured, it's actually pretty easy to do the other steps for every new blog post.
So, for about 1 minute of work, you get an audio version of your blog post that you can upload to your podcast host of choice — and give your readers an easy way to engage with your content on the go! 🥳
]]>One of my biggest challenges with my indie business, Remake, is getting the word out. I created something I believe in, but telling people about it is more difficult.
After struggling with this for a while, I purchased Make + Shine, which came with a 1 hour strategy session with Anne-Laure Le Cunff (an entrepreneur who uses principles from neuroscience to help people lead happier lives).
In this single strategy session, Anne-Laure’s candid and compassionate advice helped me resolve a lot of my fears and confusion around marketing and put me on the path to building in public with more confidence.
In this post, I’ll talk about how to magnify your output as a solo founder, while nurturing your inner drive to create at the same time.
TLDR:
I've always believed influencers had a secret. I thought they must post 3 times a day to every social network and have at least 10 blog posts being developed at any one time.
All while managing to stay healthy and sane outside of work.
I couldn’t have been more wrong. Anne-Laure told me:
I was blown away. Here I was, putting together a list of 30 places I wanted to post my articles and trying to develop dozens of pieces of content at the same time...
No wonder I felt overwhelmed and exhausted.
“But I won’t grow fast enough!” I said.
“If I don’t post everywhere, my content won’t do as well as it could have. Shouldn’t I be posting as often as possible to as many places as possible? Or I don't know — maybe that will come off as spammy?”
Anne-Laure’s response was simple:
“People are turned off by people who are overly-engaged, overly-networked, and overly-invested. It’s better to be genuine and nurture authentic relationships than to create thousands of articles and modify them for different audiences.”
It’s what I knew instinctively, but I was obsessed with my goal of getting more reach. I wasn’t considering how inauthentic it come off posting everywhere.
Slow down, focus, be consistent
Anne-Laure advised me to focus on just one social network and nurture genuine, caring relationships there. This made sense to me because it just felt more comfortable.
She told me: “Don’t treat it like an assembly line you’re pushing content through in exchange for likes. Instead, treat it like you’re talking to a bunch of human beings you care about, who you genuinely want to help.
“That way, you’ll create a community of friends instead of purely transactional relationships. And the content you post will be meaningful. It will address the problems you and your friends are going through together instead of addressing the hard-to-pin-down, high-level problems of some ‘market segment’.
“If you post updates regularly and they're high-quality and meant specifically for the people you’re talking to, people will be interested. And you'll ‘build a brand’ on that network. It’s all about helping people consistently.
“As a huge bonus: you’ll be less worn out because you’re focused on just one social network and just one group of friends. It’s much less overwhelming that way.
“Some people get frustrated with this advice. Why should they have to engage one-on-one with people when they could scale much faster by copying-and-pasting their content everywhere? But if you don't want to come off as spammy and get ignored, you need to address specific problems and speak to specific people.”
Now that I understood the strategy behind building a close-knit audience, I asked Anne-Laure about which news websites and high-profile publications I should reach out to. She explained that going after big publications right away wasn’t the best idea.
"You want to start off with small indie communities who want to support you and be part of your journey. Big publications are going to Google you, so you'll want to make sure you're established before they do.
“If you seem like a solo founder who's struggling, instead of someone who's established in the market, they won't pay attention to you.
“The audiences of TechCrunch and Wired are expecting a perfect product. They want something that's finished and ready to go. They won't give you second chances. Whereas, community sites like Indie Hackers, Makerlog, and Product Hunt will relish helping you find bugs and fix issues."
I really liked this advice because my product is still in the early stages and far from perfect. I knew exposure to a wider audience probably wouldn’t be the best thing for it right now. I realized my dreams of it growing fast and taking over the world could wait, while I improved it with feedback from small communities.
Creating a product that can handle widespread adoption
Anne-Laure also mentioned another really important thing:
"You want your conversion rate (i.e. the number of people that actually sign up after visiting your site) to be high before you get featured in a mainstream publication. Your sign up flow should be a well-oiled machine.
“You should know for sure: if I get a thousand new visitors tomorrow, a fair number of them will convert and find success using my product.
“Without that confidence, investing in getting featured in a major publication isn’t worth it, especially because of how risky bad press is.
“And even once you do decide to go big, it's a lot of work: you need to come up with a compelling story around yourself, find the right journalist to pitch to, hope your story resonates with them, hope they want to cover you... and, even if you have all this, it won’t matter if the final story doesn’t resonate with your audience."
Have you ever clicked the “Send” button on an email to 440 people? It’s terrifying.
I had 440 newsletter subscribers when I talked to Anne-Laure. But I hadn't sent out a single email…
"Why not?" she asked.
The big issue that was holding me back was: “UNSUBSCRIBE.” That word stung me with a harsh truth: I could spend hours crafting the perfect email only to get a 30% unsubscribe rate. It was difficult to stomach.
Anne-Laure’s solution made so much sense: “If someone unsubscribes, that's a good thing. It means the quality of your list is going up! The people who are disengaged with what you're saying are falling off. And the people who enjoy your content and enjoy you as a person are sticking around.”
She said that she used to feel really bad about losing 200 subscribers every month — pretty much every time she sent out a newsletter — before she realized that the people who were sticking around were the people she really wanted. They were interested, engaged, supportive, and much more likely to purchase things from her when she offered them.
“That's the kind of audience you want,” she told me. “You just need to make sure you're staying aligned with what you believe in and being yourself. Everything else will work itself out.”
The more I let my personality shine through, the better! The people that leave wouldn’t have been around for long anyways!
It’s just the perspective I’d been looking for. It freed me from the weight of fear and allowed me to focus on more important things.
When you’re afraid of letting someone down, it’s time to talk!
The second thing that was holding me back from sending my newsletter was on the more technical side.
A lot of my subscribers had signed up for a 7-day tutorial series which they'd already completed. I didn’t want to send them a monthly newsletter update if that’s not what they signed up for.
Again, Anne-Laure’s response was genius: “Ask them.”
And again, I was knocked on my butt. Such a simple answer and yet I hadn’t thought of it! To me, the choice was binary:
By following Anne-Laure’s advice, all I needed to do was write an email like this:
Here are the options for me getting in touch with you:
Click the one you want! If you don't choose one, I'm going to start sending you a quarterly newsletter.
And, finally, click here if you don't want to receive any more emails from me ever.
Me and my subscribers would get the best of both worlds — I’d know exactly what they wanted and they'd only receive what they wanted.
On the last part of the call, Anne-Laure and I discussed product development. I’d been afraid to discuss this, although I didn’t realize it at the time.
I explained that sometimes I feel genuinely confused. I'll get an intuition that I should improve the core of my product to make it easier to use. And then the next day, I'll feel like the most pressing task is to make an intro video that showcases all of my product's awesome features.
“Where do I start?” I asked.
The first thing that Anne-Laure told me was that she didn't know. But then she asked me a question: "Have you been hearing from your users that they need a particular feature or tutorial?"
This question surprised me because I’m always preaching about how important it is to talk to your users and listen deeply to what they're saying. That’s the only way you can build something people want.
But not only had I not been checking in with them regularly, I hadn’t heard from them about needing a different version of my product or a new video tutorial. Back then, I was live-streaming development on my product every day, but I hadn’t even asked them about what they wanted.
This is a dire mistake for a small, one person team.
How to start a relationship
Every business starts with a single relationship — your first potential customer.
Then you move on to your second potential customer. It might not be until the hundredth potential customer that you get someone who purchases your product.
But it all starts with that first relationship. You need to start somewhere.
Anne-Laure’s advice to me was simple: Send out an email asking for help with deciding on what to work on.
She said: "You can even just ask to have a quick Zoom call with a few of them to discuss your product for an hour. Maybe only 2 of 400 people will respond. And that's great!"
She continued: "Just make sure you offer them something of value first. Include a tutorial or an article or something you know they'll like before you present your ask. Then, at the end of the email, mention you need help with something. That way your audience feels like they're getting something positive in return."
That’s all of business in a nutshell right there: Give something of value and get something of value in return.
The road is easier once you get that first customer
Best wishes to all my fellow indie makers out there. I hope this post (and Anne-Laure's fantastic advice) helps guide you in the right direction.
Just remember: it all starts with that first customer and that first relationship. A real, human relationship. There’s no way around it.
Don’t worry about scaling up your marketing or sales before they become a problem. First, understand how to connect with each customers one-on-one and provide genuine value by solving actual problems they have.
I know it seems like simple advice, but it's very easy to forget when you're building something you love. You can get so caught up in building your idea that you lose track of who it's for. Find regular intervals to connect back with your audience in human ways — and just be yourself.
]]>One of them has a good idea and tells the other one about it.
A conversation starts.
The idea changes and develops into something new.
It grows and expands.
The process excites both of them.
✨ This is how ideas come to life. ✨
Why? Because doing business is the act of exchanging value. By doing this exchange in public, you provide the opportunity for everyone to get excited by its development, support it, and benefit from it.
How? Tell people about your idea early and let them help you develop it, so everyone can learn and help each other along the way. Ask for feedback at every step and let this feedback guide you. Before long, a small community will form.
Get started → The the quickest way to get something you love out into the world is a minimum viable launch. It can be a tweet, a video, a demo — anything that captures what makes the idea exciting and lets other people share in it.
Would you rather use a blog post headline that was voted as the best headline by 100 people or take a shot in the dark and guess? The internet can give you a firm and reliable foundation on which to build a business, one step at a time, if you're willing to open yourself up to feedback.
On the internet, we have the benefit of getting instant feedback on our work from every corner of the globe at any moment of the day. So it makes sense to take advantage of this new reality and use this feedback to develop our ideas and inform our business decisions.
It’s a natural evolution of business that happens when we decide to start letting people into a corner of our lives that we considered private before.
The alternative is simply worse:
By pursuing an idea in private, you’re bound to work on problems that other people have solved already or ones they have simple workarounds for.
When you share what you're excited about, you have a chance to inspire the same excitement in others, which can help you build a community.
Get used to looking bad temporarily. It's a good thing. As long as you improve, people will cheer you on and help you out.
Once you have a community — or even a small group of online friends:
People who publish early will consistently outperform and out-scale the ones who don’t. They’ll be able to reach further into global networks, learn faster from these networks, have access to better tools crowdsourced by these networks.
They'll use all this to improve their ideas faster and get to product-market fit before anyone else has a chance to keep up.
Some people will see the excitement your idea generates and want some of that excitement for themselves. They might even think they can execute on the idea better than you can.
Not only will you have the early advantage by launching your idea early, but you actually don't need a huge community to build something valuable. As long as your use that head start to form a tight-knit community around your idea, you’ll be able to weather almost any storm and slowly build something of value.
The copycats might burn out from lack of feedback or lack of money (building a business is hard, after all). Or they might get shamed by the market for copying your idea.
Or, the best case in my opinion, they might end up helping you by expanding the market's awareness of your general use-case and developing ideas you never would have thought of that you can now learn from and implement better than them.
In the end, all businesses need community to survive. So putting the idea out there early is never a bad idea. The sooner you start gathering interest and inspiring other people, the faster you can make something good.
An idea kept secret:
Early on, you have a boundless, bubbling energy around your idea when you think about how much it could change the world.
Why keep that bubbling energy private, when by sharing it you have the chance to ignite the same energy in others and multiply its effects thousandfold.
The longer you keep your idea secret, the further away you’ll get from the bubbling excitement of the initial idea. Before long, you’ll get caught up in business documents and solving day-to-day issues. You’ll start to get tired and stressed out, and find it harder to remember why you started working on the idea in the first place.
Don’t miss the opportunity to share your idea while it still inspires boundless excitement in you!
It’s this emotional charge, endless optimism, and the feeling of untapped potential that fuels the development of every business and inspires every community. It’s your most valuable asset in the early days and you don't want it to go to waste!
You need to share it.
]]>You're so excited, you're willing to dedicate the next few months of your life to building it.
You can't
]]>You're so excited, you're willing to dedicate the next few months of your life to building it.
You can't wait to get started! 🚀
But instead of sitting down to write/record/code right away — like you did last time — you think about what you really want out of this experience.
What do you do that you didn't do last time?
These are all examples of Minimum Viable Launches.
If you get a good response, you know you're onto something. You can do a slightly bigger launch the next time around —
...maybe even a quick prototype! 👾...💎
That's the whole idea behind a Minimum Viable Launch: you don't start with the finished product. You start with the minimum amount you need to test if an idea is any good — and then build on top of that.
So, what do you need to do a minimum viable launch?
That's it!
You can launch with a Twitter post or a blog post or in a quick message in a Discord community with just these three things.
What will this approach get you?
A real-world example
3 weeks ago, I sent an email to my friends about an idea I had for simple animation app. One of them commented about how cool it was.
I used the next few days to throw together a rough prototype and posted about it on Twitter (and a small Slack community I'm a part of).
I got lots of bug reports and feature requests: it didn't work on mobile, it wasn't clear how to use it, and it would be cool if it could do more (like resetting the animation).
So, I improved it and posted about it in those communities again — again, getting positive feedback.
So I decided it was ready... I then posted it to Hacker News, where it stayed on the front page all day and a total of 12,000 tried it out! 🎉😍
The advantages of this step-by-step approach to launching:
I think it only did so well on Hacker News because I took small steps... I took the time to make sure it worked well and made sense to people in these smaller communities first.
And the whole process only took one week — it was a cycle of constant feedback and improvements that felt magical to be a part of.
Build your new product idea — building is fun!
But make sure people know about your idea ahead of its big launch by releasing smaller mini-launches, like tweets, blog posts, and prototypes.
That way, you'll have an audience who can give you feedback to make it the best product it can be — before the big launch day!
]]>When rates are low, inflation goes up, which means the actual value of your debt will go down over time.
That's why so many people are borrowing right now
]]>When rates are low, inflation goes up, which means the actual value of your debt will go down over time.
That's why so many people are borrowing right now and stuffing the money into non-cash assets with higher returns.
If the interest on your debt minus the interest of inflation is close enough to zero, you can invest in almost any money-making endeavor and be better off than keeping the money in your bank account.
And so stocks go brrrr, crypto goes brrrr, and we get a massive bubble.
But I don't want to talk only about monetary debt.
I want to talk about other types of debt too.
What about mental health debt? I believe we're in a crisis right now.
I keep telling myself: "I'll take a week off in a few months… or a few years. I just need to launch this one side project.... or maybe it's this next side project. Eventually, I'll hit it big — I'll find something the market wants and finally be free from 9-5 corporate servitude!"
And so instead of letting my mind be bored for a minute and have my body return to equilibrium, I keep pushing forward — to that next project… and then the next.
That's mental health debt right there.
But there's other types of debt.
Like over-promising.
And this is where my favorite type of company comes in: startups.
Startups are beautiful because they're like little bubbles of buzzing energy, working apart from the norm, trying to find a shortcut to compete with the big companies.
They have several ways of taking on debt in order to make their journey smoother: mental health debt, VC funding debt (otherwise known as autonomy debt), actual debt through financing, and over-promising debt.
Over-promising debt is the thing I really want to focus on because you see it everywhere if you work in startups.
“Today” does not exist in a startup: it's all about where we'll be tomorrow, the day after tomorrow, and the day after that.
And you never arrive. Have you noticed? It's an infinite treadmill of building features and bringing on customers because it's all about the speed at which you get things done — not the result. (In fact, that's how startups are valued: based on their growth rate and the likelihood they'll be able to maintain or accelerate that growth rate into the future).
You can have a very good month at a startup — big new client, record number of sales, 5 great new hires — and there'll be no celebration, no pausing to slow down, no idea you've even accomplished anything at all.
Because so much has changed already.
And tomorrow looks so much BIGGER, so much more EXCITING, and so much CLOSER than you ever imagined it could be.
Today just can't compete.
We saw this play out with the disaster that was Theranos — they over-promised and then over-promised ON TOP OF those over-promises, until one day, the whole house of cards collapsed.
So many companies do this, especially startups. It's normal.
And the executive team backs it up because it's the only way to get BOTH your customers excited and over-paying and your employees excited and over-working.
The employees don't even notice they're being drained because the excitement of tomorrow looks so glamorous.
And the customers don't notice because they assume any problems they run into are their fault and/or they're unable to admit the shame that they were scammed. They'd rather buy into the myth that the startup does what it promises (contrary to their experience) than admit that they were wrong.
So that's why over-promising works from a business standpoint.
I once worked at a startup that overworked all its employees, had an app that hardly worked (except when the CEO was giving you the initial demo), had no users that actually logged into the app, but had an excellent Sales team! We were able to bring in more customers than we lost every month... so investors valued us based on our "great growth rate".
Who can stop a business that grows by lying to prospective customers about what they’re buying into — and retains those customers by promising big changes are just around the corner?
What about regulators? What if a company isn’t just negligent, but puts a customer in danger? What if someone gets hurt?
Well, we see this with Tesla right now. They sell a product called FSD (Full Self-Driving) and people buy into the promise of it big time. They'll admit on forums that it's not 100% ready for the road and has caused a few crashes — but in the same breath say that Tesla will be a two trillion dollars by the end of next year, more than every other major car company combined.
It's absurd.
And then I realized something about why this works. And why it affects tech startups more than any other type of company.
I think when the internet came along, it split the world in half — one half of the world stayed in regular time and the other half accelerated at the speed of instant communication.
And that opened up a gap.
A gap that can be exploited to take out debt with over-promises, create massive return for investors, and be closed up again by overworking employees to achieve the vision — before regulators catch on.
And I believe everyone (especially startups) is doing this.
It's made possible because tech startups live in the world of instant communication and live-updating reality.
And regulators, law-makers, politicians, and even journalists mostly live in the world of ordinary time.
What happens is this:
Let's talk through a simple example:
Do you see how even at this early stage, so much over-promising debt has already been taken on?
A whole world of dreams is built on top of this one early beta product that hardly works, but because things are heading in "the right direction", the company is rewarded massively.
The next steps are even crazier:
8. The company causes some issues for customers
9. Most customers blame themselves and the company doesn't care about them
10. Some customers blame the company and the company takes care of this with "excellent customer support": full refunds, settlements, recalls, whatever it takes.
Everything is done in the service of keeping the idea of the promise alive. It's not about reality. It's not about really helping people. It’s not about actually providing value. It's about creating the illusion of MASSIVE value at some point in the future.
As long as the illusion of the promise is preserved, everything is fine.
And then this happens:
11. Company causes some real issues with real people's lives OR the company fucks up in a public way that can't be ignored
12. Regulators, lawmakers, and the media jump into the mix and start researching the company and its practices
But the company is a moving target — moving at the speed of information.
As long as they can outpace the media and the regulators by telling a different story and developing just enough technology to make it look like a plausible explanation, they'll be fine.
Tesla has mastered this: they ship same-day software updates to their cars over the internet, fixing major problems like the self-driving system, the braking system, and the heating system before regulators even hear about them.
The news cycle moves on and people don’t care anymore.
As long as reality never catches up with the lie, they're safe. One step ahead.
It's the same debt that funds Kickstarter projects and Cryptocurrencies.
Are they good right now? Even fierce adherents will tell you: No.
But the promise of what they'll become once they're ready looks amazing.
And what are we buying in the meantime?
A future that doesn't exist.
But sometimes, I guess it works out. Sometimes you need the risk of speculation and a willingness to leverage the present for the future in order to get truly fabulous returns and results.
Because really, what does this kind of debt allow us to do?
It allows founders and startups to go out on a limb and really shoot for the moon.
Not only an electric vehicle that's beautifully designed, but one that has full self-driving capabilities... really soon!
It's the same promise Elon Musk makes over and over again: We have groundbreaking tech that's perpetually just a short time away.
But when people are able to use this debt well and actually execute... well, you get something that can truly change the world.
]]>I learned that believing so much in something that you've poured your mind, heart and
]]>I learned that believing so much in something that you've poured your mind, heart and soul into making, but that no one gets to ever see, let alone use, can become an exhausting uphill battle that no one wants to be in.
So marketing is important. Maybe just as important as building a great product. Or maybe even more so.
But where do you start?
Especially as a one person team who's in charge of everything.. and now of marketing too.
The most important thing is to not spread yourself too thin. Pick one strategy to test at a time and commit to it. Pick one platform/audience and commit to them. Have a newsletter and funnel people to it.
This is important because if you experiment with too many strategies at the same time, you'll quickly run out of time for development.
Choosing a marketing strategy
There are a lot of marketing strategies out there, but as a dev, I'd highly recommend the "build in public" strategy. It's perfect for indie makers because it means a lot of your effort doing development is duplicated as marketing.
Newsletters are the best way to grow
Building a newsletter in the process, is the most reliable way of contacting people en mass these days. Twitter/Facebook/etc. all have algorithms that can filter you out. When you really need to tell your audience something, email is a reliable way of connecting.
Start to build in public within a community
Here's how it works:
1. Sign up for Twitter/Weekend Club/MegaMaker/Pioneer/WIP.chat or another community that encourages building in public
2. Post what you're working on before, during, and after it's done, sharing your problems, learnings, and emotions along the way
3. Ask for advice and feedback when you need it
This will let people get involved in your product's development and give them a reason to cheer you on when you launch your product or get a new customer.
My most popular tweet of the past year (other than my launch post) was getting my first customer. It was also responsible for me getting my second and third customers.
When you are ready, go a bit further
It might take a while for you to find your feet on these platforms. And that's ok! But once you've gotten comfortable, you can try this more detailed process (which I outlined for myself yesterday):
1. Post a rough idea for an article/product/ebook/course to your social network of choice and get a feel for what people like or don't like about the idea. This doesn't have to be a fancy post, just a sentence or two. e.g. "I'm thinking of making a beginner JS course, what do you think?"
2. After some time, ask a for suggestions on how to proceed with your idea or if anyone has done it before. e.g. "Which course platform for releasing paid courses do you like the best?"
3. A while later, maybe a few days or so, post an outline of your approach for tackling this idea or talk about the content/features you're thinking about including in it. This will again help you measure interest and see where the real value of your idea is. e.g. "Here's what I plan on covering in my course: ___. Would this be useful for beginners to JS?"
4. Work for a few days. Then post a preview of the progress you've made so far (and maybe any blocks you came across, if any). This could be a few lines of code, a blurry screenshot of the final design, or even a picture of you working on your laptop. Just show people that you're actively working on this and give them something to be excited about. Remember one important thing: they're probably just as interested in your journey as the final product. So don't focus on the product too much — you're telling a story about what it takes to build a product.
5. Offer a taste of the final product. Make a thread or post with some of the actual content/features of the ebook/post/product. This could be a 5 minute video from the first lesson of your course. A screencast of you using your app. Or a the first page or two from your eBook.
6. Post a beta tester sign up form that gives people early (or instant) access to the MVP version of your idea. People who sign up are your true fans and will probably give you the best feedback over time. This form can be made with any email marketing software.
7. A week or two later, post a few quotes from early users showing what people said about their first experience of your product. e.g. "I wish I had this when I was first learning JS. I'm learning new things every 2 minutes!"
8. Finally, plan your launch! A few weeks or days before your big launch day, tell people you're launching. Tell them your goals, your hopes, and what your product will let people do (that they couldn't do before) once it's out in the world.
9. Post on Product Hunt, Hacker News, as well as on your social platform of choice. Make sure the product doesn't feel done yet. You want it to be a little rough around the edges. But it should solve a problem and that problem should be clearly stated on the home page alongside your proposed solution
10. After the launch, post about a piece of feedback you got from a user who signed up during the launch. It could be negative or positive piece of feedback, as long as it was useful to you.
11. Post about an update you made because of user feedback. This will show that your audience is important to you and are active participants in your journey.
12. Don't stop posting. Repeat the last two step (gathering feedback and making improvements to the product) over and over again until your product really starts to get good.
12. After you've improved the product enough that it can be considered a 2.0, launch it again.
Your work & your learnings double as marketing
The nice thing about this process is that it's symbiotic. Your audience benefits just as much as you do: for every idea of theirs you implement, they benefit by a) seeing their opinions matter and b) getting a final product that's more useful to them.
And, to top it off, you and your audience get to create a story together. It's the story of a fledgling idea coming into reality and finding its way. And they get to help it grow and help it along. It's a pretty magical process when it's done with intention and the desire to make people's lives better.
Btw, I wrote a really popular thread on Twitter about Building a Product in Public that you might also enjoy!
]]>It was great talking with you at the cafe. I think your product is very promising and I wanted to share some advice I'd wished I'd received with you before you
]]>It was great talking with you at the cafe. I think your product is very promising and I wanted to share some advice I'd wished I'd received with you before you launch.
In my opinion, these are the two best things you can check out before you launch:
I've been an employee at 6 early-stage startups and seen just as many failed launches as successful ones. I've also launched a ton of projects and I’m currently trying to refine my experience into a guide for others (early signup).
My core advice basically comes down to this:
Let’s talk more about these small 10-20 launches…
A great way to do this is to write a blog post describing the idea behind your product and why you created it and 1-2 of the big issues you ran into while making it (the more emotional struggle you share, the better, so be vulnerable).
Then email the post to them, along with a link to a form to sign up for more updates.
2. Then launch an early-sign up page.
Even if you let everyone who signs up to get early access use your product right away, it's good to make it clear you're still in the early stages.
So market this signup page as an early-access/beta launch. This easy to do with ConvertKit, Mailchimp, etc.
This "early-access" page will set expectations low, while making people feel special, and give you room to do a "real" launch later on.
Treat everyone who signs up at this stage like special early users and check in with them at least 2-3 times after they sign up to get feedback.
Also, give them a HUGE discount when the product actually launches — these early fans pay you in feedback, not money. And their excitement & support of you will go a long way throughout your journey.
3. Improve your product until that early list of people is giving you testimonials instead of critical feedback.
It will usually take at least 20-30 bug fixes and revisions to your product before you start seeing it move from "I don't understand what this is..." to "Wow, I couldn't imagine my life without this!"
Meanwhile, continue to do smaller launches
4. Join "indie hacker" and entrepreneurial communities
Even if you have to pay a small fee to get in, it's totally worth it.
Recruit some of them to use and test your product.
5. Once you have some testimonials and a solid product that you know at least 2-3 people like and actively use (it's a high bar, really!), use the feedback you get from them to build out your landing page
Take what people told you your product helped them solve and put that as your headline, your sub-headline, and your landing page content and testimonials. Use their own words.
6. Continue to build up your email list by providing free content and resources that your audience values.
It could be a blog post you found or a quick video you recorded. As long as it's free and it genuinely helps your audience get something they want, it's a good thing to send to your email list.
7. Do a real launch! (but not your final real launch)
8. Now, since your marketing funnel is tight and you know it works, you're guaranteed to get lots of signups
You have an email signup form that promises a "Free guide" or useful resource that's valuable for your community — that way you can add them to your email funnel that ends with asking for a Sign up or sale EVEN IF they don't sign up for the full product.
You have headlines that address an actual problem they have and promise a solution as if in their own words.
You've solved the early bugs reported by your early test users and created something that people really love.
9. Now, start preparing for the sequel!
You probably won't achieve product-market fit with just one launch, even if you go through all these steps. But you'll acquire a lot of happy users. Use their feedback to improve the product even more.
10. Launch again 3-6 months after the original launch with a version 2.0 that solves the 1-2 main issues that your first group of users ran into
Btw, I wrote a really popular thread on Twitter about Building a Product in Public that you might also enjoy!
Best wishes,
David
I want to go viral. I want to get 100 likes on everything I post. I want to get it down to a science, so I can repeatedly go viral every post.
I want to tell you a half-truth and say: there’s just
]]>I want to go viral. I want to get 100 likes on everything I post. I want to get it down to a science, so I can repeatedly go viral every post.
I want to tell you a half-truth and say: there’s just so many useful things I’ve created and I’m launching them all just so I can get them out there into the world.
But this statement is closer to the truth: I put so much of myself into some projects, like months or even years of effort, I feel like they deserve 100 likes the moment I hit publish. And I get angry at you, my friends and fellow indie hackers, for not giving me what I deserve.
And I recognize these feelings for what they are: shallow.
I recognize them from being a kid in high school when my crushes didn’t notice me. I recognize them from playing basketball when my father didn’t praise me. And I recognize them from the science fair, when I got 3rd place instead of 1st like I thought I deserved.
But here’s the thing: the world does not care about what you or I or anyone else deserves.. Frustrating, considering we were taught our whole lives — high school through college and beyond — that that’s just what the world rewards: the well-intentioned, the hard-working, and the well-prepared.
It makes me angry and it can make you angry too.
But, in the end, that too is an under-developed attitude. Because there’s yet another, better way to approach the world: with curiosity.
Deep questions, I’m sure :)
But also useful. Because it turns out the world has no concept of “deserve”. There’s no great karmic balance that I can see — on the material plane at least — that balances the amount of “good” against “evil” and spits out rewards to those with more good.
It’s simpler: if you speak up, people will hear you. If you say “hi” to your high school crush, you might get lucky and start a conversation with them. If you want praise from someone, give 110% effort and make sure they’re someone you’ve heard give praise to anyone before. And, if you want to win 1st place at the science fair, you actually need to consistently be the best — in the quality of your project idea, in the clarity of your presentation, and in public speaking.
And, most importantly, there’s some aspect of luck to all of this. You can catch someone on a good day and they’ll be effusive with warmth and praise. Or you can catch your high school crush in the middle of a stressful day and it might seem like they’re ignoring you.
When you’re considering the behavior of the world in reference to yourself, resist the urge to react with the shallow feelings of anger or contempt, and notice.
Notice the people around you. What do they care about? What kind of moods do they go through? What are other people doing to get their attention? If you want attention, are you actually doing the basics, like putting yourself out there and speaking? If you want to be the best, are you just focused on yourself, or are you actually noticing your competition and how good they are?
And, most importantly: are you giving yourself a fair chance by putting yourself out there regularly, and practicing what you want to be good at? While also allowing luck to shift in your favor over time, the more consistently and boldly you approach the stage?
I am terrified of the stage. The idea of presenting in front of other people is scary. Trying to get my thoughts under control, while modulating my voice, and saying exactly the right things — the things I want to say, the things they want to hear — all at the same time.
And all the while, paying attention to the audience’s reactions. Adapting on the fly, millisecond by millisecond, to what other people want from me, so I can give them just that.
Again, an unhealthy, under-developed attitude to a situation that’s quite simple.
You can think of every moment of life, when you’re around other people, as if you’re on a stage. They’re paying attention, judging you, always wondering what you want and who you are and where you motivations come from.
But, if you did this, you’d be scared frozen all the time. You’d find it impossible to move, to be yourself.
And that’s the thing about the person who ended up taking my crush out on a date, the classmate who became really good at basketball and played in college, and the individual who won the science fair: I’m sure they moved without thinking, quite naturally, to the beat of their own drum.
When you want a big thing — international fame, excellence in sports or science, or the ability to be true to yourself despite a crowd being against you — you need to be focused on a longterm goal that doesn’t waver or shift no matter how much noise or vicissitudes of life you throw at it.
“When you pass through the waters, I will be with you; And through the rivers, they shall not overflow you. When you walk through the fire, you shall not be burned, Nor shall the flame scorch you.” (Isaiah 43:2)
It’s this solidness of character that’s required to achieve almost anything. You must be willing to set aside temporary injustices against your will, your pride, or your ego. And step forward anyways.
I often find the best way to stay focused on the big things is to think of the next small step: what do I need to do next? If that’s taking a breath, I take a breath. If that’s focusing on the world around me, I do that. Often it’s something simple like this. I need to be patient, focused, slow.
So, why am I launching 31 in 31 days? Why am I putting myself through this — launching all of these projects at once?
I want to establish a practice — a habit — of putting myself out there. Of being vulnerable and exposed to criticism. Of being unappreciated and unseen. And I want to press forward despite doubts or criticism or smallness of ego. Because I want to do great things, I really do, and I can’t let the vicissitudes of life get in the way of that vision.
And to practice — doing something repeatedly to get better at it. Practice creating, writing and publishing. Practice knowing how to make complex ideas seem simple. And knowing how to bring people into my little workshop and show them what’s what. And gaining an understanding of when people care about one thing more than another — and why.
But mostly the first type of practice. Because, if I can let go of the whole picture making sense at once and just try to create meaningful things and talk about them, I know I will accomplish my big goal (making money online) by focusing on the small things (making things people care about).
]]>But, as a fast-moving maker, you don't have time for complexity.
You want to:
I've had enough
]]>But, as a fast-moving maker, you don't have time for complexity.
You want to:
I've had enough of blogging platforms that make you update or configure something every 2 minutes.
If you just want to share an idea quickly and get feedback from friends, a Google Doc, a GitHub Gist (with Markdown formatting), or a thread on Twitter will do just fine.
However, if you're intending to build a long-term audience using your blog and want to increase your SEO over time, you'll want a more solid foundation.
As a writer, I value: readability, clean typography, and a newsletter sign up form.
As a coder, I love having: code that looks nice and support for custom embeddable code.
As a human, I need: my platform of choice to be around for a while (I don't want to have to switch to another platform 🤦♂️) and it should be updated with features and fixes at least once a year.
This is my top recommendation and it's what this blog is hosted on. It takes about an hour to set up, but the default theme is good and adding a new post takes a few seconds after opening a new tab.
It supports syntax highlighting, newsletter signups, and even memberships. The typography is great, and, most importantly, the Ghost platform has consistently evolved to be better each year, unlike others out there (looking at you Medium). Also, they're profitable and will probably be around for a while. It doesn't support comments by default — I'd recommend Commento for that.
I use their hosted plan, even though it's expensive for me. I just don't want to deal with configuring self-hosting and dealing with technical problems. I just want to write.
I really love the completely focused editor this platform has. The whole product has a really minimalistic & simple feel. I'm not sure how sustainable the business is, but it's been made by Hernán Sartorio & has been around for a few years already so I feel pretty confident about it.
If I was switching from Ghost, this is one of the first platforms I'd consider.
It supports code syntax highlighting and has a sustainable business model. Doesn't look like it supports newsletter signups.
This platform is built on top of Notion, but it's built specifically for blogs!
It has a pretty nice design and good typography — and supports custom domains. It also has support for custom code embeds and some pretty cool SEO features. It's also made by a Bhanu, who's active on Twitter and is continually improving MDX.one as he gets more feedback.
I'm really excited to see where this goes. It's a really strong contender for my top choice.
This is a really focused & minimalistic platform.
Has beautiful typography, supports custom domain names, code syntax highlighting & offers newsletter signups. It also looks like a financially sustainable business and has a cool community.
Not my favorite option, but definitely a nice product.
A nice-looking, fast blogging platform. Has a nice interface and good typography.
Supports custom domains, but not syntax highlighting (as far as I can see). It doesn't offer a newsletter signup, but has a form for collecting email addresses under every post instead. It looks like it has a strong business model & they pride themselves on being a greener blog platform alternative.
It's made by Sai Krishna, a great developer who does a lot of product development on Twitter.
A very, very cool idea.
This is pretty close to my ideal blogging platform — really focuses on having a simple interface, but gives you a ton of flexibility. I would probably have stuck with it if it had nicer themes...
It has pretty good typography, code syntax highlighting and has a good business model, but the themes are a little lacking in my opinion. I pay for this service even though I don't use it that much, simply because I love the idea!
I personally don't love this one, but I can say one really positive thing about it: they make it absolutely painless to set up a business based around writing and have supported thousands of writers on their journey to financial freedom.
However, in my opinion, the editor is janky and the typography is so so.
It has support for subscriptions and newsletter functionality out of the box, which is really cool. They'll probably be around for a while, since they're focused on making money (both for themselves and for their authors). So, I imagine the editor's interface and the typography will probably get better with time.
They support basic code syntax highlighting.
A new platform. I love how focused and simple it is.
It's regularly updated by the main developer, has gorgeous typography, supports code syntax highlighting, has a business model that looks sustainable, and looks really focused on staying simple.
I really like this platform.
Posthaven has a great idea behind it: it completely abolishes one of the first concerns anyone might have with publishing online: how long will this service be around for? Pay for it for a full year and your writing will stay on the internet forever. Very cool.
It has some pretty good themes, pretty good typography, supports code syntax highlighting, custom themes, and is pretty easy to set up. But it never caught on for me because the interface always seemed a little outdated.
This one's been around for a while. I like the simple interface.
It doesn't offer newsletter signups but it supports custom domains, syntax highlighting, has nice typography and also makes a promise of being around forever.
Very simple platform, only $5 per month, and has a really nice community.
Supports custom domains, code snippets, but not syntax highlighting.
This is one of my favorite platforms ever! But it's not exactly a blogging platform.
It's developed by Noah Bragg & lets you turn any Notion page into a full website — along with all linked pages!
It's great for putting together a project very quickly and updating it live as user feedback comes in.
I use Notion for everything, so it fits right into my workflow — and I can even update my site from my phone!
I like how minimal this is. Super-focused on speed and simplicity.
Supports code snippets, but not syntax highlighting. It's made by Herman Martinus & has a nice community of writers.
This is a very simple approach to blogging.
You send them an email and they take care of the rest: formatting your text, making sure your posts show up in search engines (SEO), and handling downloads for your users (just attach them to the email).
I like that you don't have to learn about a new blogging platform to use this.
A cool, new blogging platform with analytics built in and big focus on social blogging.
Not sure which features they support because there's not a lot of info on the homepage.
A simple platform for connecting writers with readers, while monetizing their work.
Made by Samyak.
A blog + podcast host with analytics built in. Looks like a really focused and beautiful product.
It has some nice themes, support custom domains but not sure if they support code snippets or syntax highlighting.
This seems like a pretty good option with a nice community, but might be a little hard to get started with.
If community, conversation, and linked thoughts are your jam, it would probably make it worth it to sign up for this one.
Just like PostHaven & Svbtle, they make a promise they'll be around for the long term. They have a lot of advanced features and looks like they're adding new ones every month.
It has pretty good typography and a nice looking default theme, it supports code syntax highlighting, and will "soon" support custom themes and email subscribers.
A new platform. Very simple. I like it. It's very bare-bones on purpose, which is really nice.
I recommended this platform to friends a year ago, but I don't know if I can anymore because it hasn't had a new update in a while.
It supports syntax highlighting, custom domains & newsletter subscribers. Has a business model that looks sustainable, and has a really cool section on their Features page called "Features we won't have" which includes "A powerful editor" and "Plugins". I love this because it means they're dedicated to staying simple and focused!
]]>I made this simple guide for myself after constantly getting distracted by day-to-day tasks and not focusing enough on the big picture
Give people a way to get from point A to point B
Make sure there are a lot of
]]>This will help you start a profitable business, step-by-step
I made this simple guide for myself after constantly getting distracted by day-to-day tasks and not focusing enough on the big picture
Give people a way to get from point A to point B
Make sure there are a lot of people at point A who want to get to point B
Make sure you have the ability to communicate with people at point A
Accurately describe both the problems of point A and benefits of point B so your audience feels like your understand their position
Make easy-to-follow instructions for how to get from point A to point B
Use these instructions to manually help people get from point A to point B
Ask for feedback from the people you helped
Improve your instructions based on the feedback you receive
Show the positive feedback you receive to the next people you’re planning to help
After you've tested your instructions and you're sure they work well, start charging money for them
Always remember when communicating: you’re selling the experience at point B
Your instructions and the journey itself are just ways to get there
Always treat the people you’re helping with the utmost respect — there’s more than one way to get to point B
If you’ve done your homework and point B is a valuable place to get to and your instructions are simple and reliable...
You will get rich.
Don’t get distracted by doing things the hard way with "get rich quick" gurus and tactics to trick your audience.
Just keep coming back to the basic question: how can I help someone achieve their goal today?
Want the complete version of this post? Download the full guide for free (includes additional tips and commentary).
]]>There are threats that come from outside you.
These threats will probably cause a reaction in you.
After the threat goes away, the reaction stays around.
This is normal.
You’re not
]]>There are threats that come from outside you.
These threats will probably cause a reaction in you.
After the threat goes away, the reaction stays around.
This is normal.
You’re not sure if the threat will come back in a minute, an hour, a week, or a year.
But, after some time, and after getting out of the potentially dangerous situation, the reaction should disappear.
However, there’s a few things that can complicate this natural return to homeostasis.
For example: what if the threat doesn’t go away?
You might get used to feeling stressed all the time.
It might even become such a normal feeling that even with lots of time to relax and recover, it doesn’t go away.
This feeling can range from a constant state of terror to mildly irritating, depending on the original source of the threat, how persistent and insidious it was, and how likely it is to come back.
Is this feeling anxiety? Yes, definitely. But it’s also a kind of anxiety that makes sense. If the threat is still potentially in your life, perhaps just around the corner, your feeling of low-level stress might be a natural, normal, even positive reaction.
After all, no one likes to have threats of any kind in their life. And, if for some reason you need to live with one, then maintaining a healthy fear of it will help remind you to keep your distance.
But, what can you do if this anxiety becomes unhealthy?
What if it’s keeping you from the basic enjoyment of life?
Or, what if the source of the fear has been removed from your life to a safe distance, so that you know — theoretically — you should be able to relax?
What should you do if you’re still stuck in that low-level fear state?
You can’t hide from it… it’s a part of you.
So, what can you do?
To be honest, this I’m still figuring out…
The problem is, the feeling is so visceral, your reaction to it feels intuitive and automatic.
It feels completely crazy to even question it because it’s a part of your natural guidance system.
In fact, the fear center that’s being triggered is the same system that tells you not to walk over cliffs or in front of fast-moving vehicles.
So ignoring it doesn’t just feel difficult, it feels downright crazy. It feels like the biggest leap of faith you could take…
However…
If you can find some way to will yourself through it, despite a million doubts…
It can feel awesome.
Your entire reality can change… because you’ll realize that your logic brain was right and your instinct brain was wrong… and it opens up whole new areas of your life. You may even start exploring thoughts you've never questioned before, where you previously let your instincts rule unchallenged.
But… this is actually the hard part.
Because now you have 2 new problems.
The first problem is that now you don’t have a great, simple way to make decisions anymore. Your faith in your natural instincts has been disrupted.
And the second problem is that you don’t know who you are.
You used to go around making decisions based on how you felt. Everyone does.
But now you’ve introduced doubt into that process.
If you can’t trust yourself if you have to talk through every decision ahead of time to make sure it makes sense. And, if you’re forcing yourself to ignore your own natural instincts, where does that leave you?
Well, there are a few things you can do to gain a strong connection with yourself.
The first is to get to know yourself, without judgement, by simply experiencing how you operate. Some people call this meditation.
This will give you a much better understanding of who you are, what you’re like, and what the flow of your experience is.
Sometimes what seems like an incalculable maze at first glance will reveal itself as only a slightly tangled, but pleasant emptiness.
And sometimes you’ll just get a better idea of the shape of the storm inside.
Either way, you’ll come away being slightly better friends with yourself.
Another approach is to distract yourself, so your body has a chance to re-establish equilibrium on its own.
Taking a few seconds to focus exclusively on your breath changes the context that your brain is in — it can only pay attention to a few things at the same time — which gives it a little break from worrying and panicking.
If there’s an actual threat that you need to do something about, distracting yourself might not be a long term solution.
But it can help you regain your balance, so you can come at your situation with more poise.
The next strategy is the most difficult, but also the most rewarding.
It’s also the most counterintuitive.
To make a decision, firm and strong, to embrace how you feel no matter what, and surrender to it completely.
This is a weird one.
It feels self-destructive, like you’re choosing to walk off a cliff.
Except, instead of ignoring the feelings and doing it anyways, you embrace your feelings and do it anyways.
What does that mean exactly? Do you gradually approach the cliff and inspect it before you dive off? Do you bring a parachute just in case? Do you have a doctor standing by?
You can have help standing by or a back up plan. But you still need to dive off into the fear with no parachute, all while feeling the wind in your hair and the terror in your gut as you do.
Why?
Because you’re allowed to.
You’re allowed to be crazy.
You’re allowed to be wrong.
You’re allowed to push the limits of what you think is possible.
And… you’re allowed to trust the world to catch you if you fail.
Because the truth is… you don’t know what’s going to happen.
In fact, you’ve never known.
And it’s always okay to try again.
]]>This startup will be able to help everyone in the world
It will change the way people work, learn, and communicate
I will get rich quickly and get the freedom to work on what I want
But this is not what happened. What I learned over the years is that working at startups looks more like this:
Have you ever seen a revolutionary startup? Something that blows your mind. Maybe it was the startup that inspired you to start your own business.
Their product video was perfect 👌. The headline spoke to your soul 😍. You couldn't click on the "Sign up" button quickly enough ⚡️.
You made it through their inevitable waitlist and finally logged in. The buttons are just where you expected them to be. Clicking on them pops up the screens just as you imagined.
It just works.
That headline, that video, that onboarding experience — they each took decades of compounding research, engineering, and learning about what people want.
What you maybe didn't think about from browsing their homepage:
Behind the scenes, there's all this work that goes into a polished product.
It's a hard truth, but as indie makers, we've all had products we've invested years into that went nowhere.
We invest nights and weekends into something we truly believed in, hit that publish button, and *crickets*.
No one showed up.
It can make you desperate and frustrated and burned out. You don't understand WHY no one cares / WHY no one sees you / WHY no one gets the value of your project.
There's a lot of good advice out there about launching early, getting real feedback from users, and iterating quickly:
"Be helpful on the internet and give away valuable stuff for free in order to build an audience"
"Launch privately at least 20-30 times and iterate on your product based on real user feedback before you launch publicly"
"Pre-launch your pre-launch to early fans and start building excitement in the market for your solution early"
"Put up a landing page first and see if the messaging resonates — if it doesn't, change the copy and try again"
But, at the end of the day, all of the great advice boils down to: get feedback constantly.
Most companies approach the problem from multiple directions.
They hire a market research firm to understand where people in the market hang out, how they talk and what they need.
They hire designers and product people to interview potential customers and build something they need, using prototypes and mockups.
They hire marketers to create sticky content, run campaigns and write copy that's going to resonate with their audience.
They hire salespeople to talk to potential customers about their needs and design a solution that fits them.
And they hire customer support agents to fill in the gaps, propose temporary solutions and workarounds, and provide value manually where necessary.
This is a lot of work.
My last boss was an absolute champ.
He joined Sales calls to see what they were selling. He talked with the Marketing team to see what their goals were. He stayed in regular contact with Customer support so he had a pulse on what customers were requesting that we couldn't do yet. And he ran the Product team and told us what the most important thing to build next was.
In short, he tied together the separate strands of the company into what every company dreams of: a team that works together toward the same goals...
Marketing highlighting what Product builds, while Sales hands off ambitious prospects to Product to get feedback from, and Customer Service builds workflows that Product eventually integrates into the product.
Any company that encourages collaboration among its departments even half as much as my boss did will see dramatic success beyond the norm.
Big companies use hundreds of people and dozens of departments to:
But this is something that a human being does naturally. It's in our nature.
It's called: being helpful.
When you genuinely care about the problems a person experiences, you simultaneously accomplish 3 things that the biggest companies always strive towards.
These 3 practices are the things every giant corporation hold dear because it's what keeps them alive. Motivated employees who care about the customer and form a real relationship with them.
There's nothing better — but there's also nothing more human! So as an indie maker, use this competitive advantage and just be yourself!
I've been told by so many well-meaning advisors and books and courses about all the things I need to do to become successful. They have the best intentions and what they say makes perfect sense, like 1+2=3.
The last time I read a viral Twitter thread, it made me feel like I finally understood the secret to business success. It made me want to change everything about my business overnight.
But we've all been down that rabbit hole: you get 10% into implementing the change the following week, prepared to erase years of your own work doing things "the wrong way", only to realize that the whole endeavor is probably going to take you about 100 times more effort than you assumed it would.
And there's no end goal in sight. Just a Twitter thread promising fast results.
If you can't be yourself and learn on the go, you're always going to go down these rabbit holes — following the next best "instant success" copywriting formula, signing up for the greatest productivity course ever, and writing & rewriting everything you want to post 10 times before you eventually decide not to publish...
Not being yourself takes A LOT of energy.
"I can't be myself! I'm not charming enough, funny enough, cool enough!"
I've struggled with self-doubt and feeling out-of-place my entire life. Rehearsing words I never say. Holding opinions I feel deeply. Not standing up for myself when it counts.
It's draining, minute-by-minute, to always wonder: "What would they think of me if I said the things I'm really feeling?"
There's another option: just saying it.
People will disagree with you vehemently. That's a good thing. People will think you're strange. That's a good thing. People will ignore you. That's a good thing.
It will all help you find your audience, your people, your tribe.
The internet gives us the opportunity to present ourselves to the world however we want, while at the same time letting us experience just about anything we imagine.
However, spending all our time acting like someone we're not and simultaneously living in a fantasy world that crumbles as soon as we close our laptop isn't that healthy.
The former will keep you disconnected from people on a genuine human level, while the latter will give you the feeling of accomplishing your goals without actually doing anything meaningful.
As counter-intuitive as it is, the secret to attracting true friends is telling people openly who you really are. And the secret to business success is the same: finding a way to communicate in a genuine way about problems that matter to people and helping them solve them in the open.
When you're genuine, it's sustainable for you.
And what about all the unsubscribes you'll get when you send your first newsletter? Don't worry...
That's a good thing.
]]>And then I get overwhelmed by self-doubt and never click "Publish." This time is going to be different. I'm going to publish no matter what.
First of all, I can't be holding onto all that past guilt about not launching.
I will not be launching something because:
This brings me to my next point:
The reason I got into all this indie hacker stuff was because it's fun as heck.
That means, I don't want to cause myself or my family undue stress because I want to get a project out the door.
If I find myself overwhelmed at midnight on the second night of launching, I'm going to throw in the towel and try again next month — or next year!
Here's the part that's going to be a struggle: hitting that damn publish button.
But, if I spend 3 hours cleaning up a project and making it usable/readable/watchable/enjoyable, then that's enough time and I gotta just go with it!
If it:
There's always tomorrow!
I'm going to think about it like a race against the clock.
Every day, I'll head to a cafe at 10am, work for a couple hours, travel to the next cafe (or the library), and work for another couple hours.
Then I'll come home and put work out of my mind. Play with my little 11 month old boy or help his mom prep dinner.
No work past 6pm. No work on the weekends.
"But David," I hear you say, "That's impossible. How will you possibly launch 7 projects a week in ~5 hours a day across only 5 days?"
I know myself — I work fast when I'm focused. If I give myself 3 hours to put something valuable out into the world, I can do it!
There's part of me that's tempted to go all out and build full applications. I've had ideas for mini-apps, fun little online playgrounds, and new features for my full-stack framework.
But I will resist the urge to build big things.
A short blog post might not count as a real launch to some people. A series of emails where I share tips might be considered too small. A 1-page PDF with a quick time-management guide might be a "whatever" kind of launch.
But I'll do it anyways — I want to get comfortable putting myself out there. I don't care if it's a full app or a small blog post, I want to be able to write —
And just hit "publish."
]]>