Hey! This is an article about me bootstrapping Klart.co, a bookmarking tool for designers and developers, for a year as a solo founder. I worked on it as a side project and put in on average 4 hours a day.
First version (May)
Last year in May I set out to build Klart.co, a simple tool to capture screenshots of websites I liked. The first version was super basic and pretty much built on a weekend. After installing the chrome extension you could save a link and screenshot of any website and browse them on Klart. It looked like this, and had no support for tags, real-time updates or anything like that.
Iterating quickly (May)
Klart's first users was mostly friends and people coming from Twitter/blog posts. After I got some feedback, I decided to build support for real-time updates using Socket.io. Why did I build real-time support this early on? Because some users didn't think their snaps were saved when they used the extension in one tab, switched to Klart and nothing had happened. This is when I realized how important it is with real-time updates if you can make changes to the data from other sources than the current tab.
I also felt that I needed support for tags since organizing became a mess when the number of snaps started to grow.
Launching on Hacker News (May)
After building these features I was ready to launch on Hacker News and see what people say. Consequently I was also featured on Product Hunt after being on the front page of HN for a while. This is when things started to actually take off and I started to get tons of great feedback. I also decided to answer all comments, since if people take time to give me feedback, responding is the least I can do.
First customers and failed payments (May)
Although I had gotten a few paying customers and some beta testers before launching on HN, launching was an obvious boost. About 10 people signed up and paid for Klart during launch and another 3 or so had trouble not getting their payments through Stripe :( which was a bummer for a me launching my first business. The frustration when people want to buy your product but some bank/payment stuff is in the way is just 💀. I could have invited them in for free and try to charge them some other way later. This is probably what I'd do if it happened again.
More customers and feedback (June-Aug)
As school finished in June I went to Asia for a two month work + vacation before heading to Singapore for an exchange semester in August. I kept working on Klart and I got some 5 or so customers. I also noticed that using the app on bad WiFi in Asia meant terrible performance. Since Klart is a tool for designers, and saves all screenshot in full PNG resolution, it could take a while to upload.
Decreased traffic and growth (Aug)
After the launch on HN and PH traffic did decrease drastically. Don't let this break you. One of the mistakes I made while launching was to not collect emails in some way, since Klart was a paid-only product. Doing it again, I'd probably offer something for free to be able to get back to potential customers later.
Back to drawing board - performance in Asia (Sept-Oct)
As mentioned earlier, performance on bad WiFi was really bad. I wanted to be able to offer a better experience for myself as well as everyone else with slower connections. I looked into mainly two things:
1. Saving snaps took a long time and you couldn't add tags until it was saved
2. Loading images in app took a long time
The biggest problem I had with (1) was that you weren't able to add tags before the image had been uploaded. In other words, a blocking UI. I solved it by allowing users to add tags while saving and doing all async stuff in the background so users could keep browsing while it happened.
For (2) I looked into how Facebook served previews. They have some pretty advanced techniques creating fixed JPEG headers and stuff. But I'm not Facebook so I settled with creating a 4x4 GIF of the image and inlined it in the JSON as base64 and presented it with a gaussian blur. This proved to be enough to deliver a much more pleasant experience.
If you're into UI/UX you can read more a about what I did with the chrome extension and image previews.
Pixels - A natural part of Klart (Nov)
Klart started to feel like a really nice way to save design inspiration and ideas now. I had used it myself to save hundreds of designs, and ideas. I was thinking about the next step for Klart and realized that I had saved a lot of beautiful designs. I decided to use this to build a simple design inspiration website. Every day I'd post designs that I save publicly so you can browse them and be inspired.
I initially launched it as Daily Pixels but later changed it to Klart Pixels since I figured it fits the Klart brand nicely. You can check it out here.
Time to think (Dec)
After finishing my exams in December I travelled around Asia again for a month before going back to Sweden and started working full-time as a developer. I had some time to think during this period and realized that Klart could also be super useful for teams.
Exploring new markets (Jan-Apr)
January through April was slow on the development side. I had just started a new job and got home from 7 months in Asia. I was mostly doing research and thinking about what problems individuals/freelancers/businesses had with saving, organising and discussing ideas. I also analysed the needs for me, as a team member, at my new job.
Klart 2.0 (May)
During the year, I've received great feedback and I think many pieces fell into place when I decided to expand Klart into a tool for teams too. Things that people generally wanted was:
1. Notes
2. Sharing
3. Team plans
The initial design was simple but not scalable to add these features. For example: I used a modal for the "show state" of a snap. Displaying tags, notes, discussions inside would be a mess. So I decided to redo it a bit and I'll probably write a more detail post about that soon.
I also decided to lean towards the designers + developers audience. One of the obvious changes as a consequence, is that for each snap I show the 5 most dominant colors. I'm also able to optimise for other use cases and have a clear audience to build for (including myself).
Now
I'm currently working on getting Klart ready for teams with notes, comments, discussions and a better filter that supports both search, tags and archival status. I'm also going to update the chrome extension to support saving to different teams. Hopefully I can land a couple of teams as customers this summer. We'll see :). This is what Klart looks like now.
Lessons learned
- There are lot's of ups and downs. What keeps me going is the freedom of self employment and opportunity to work on something I am passionate about.
- Making a product where you are the customer makes a lot of sense. It's more fun and you know the market better.
- Building an MVP quickly (< 1 month) is great for momentum and feedback.
- Building a paid product for consumers is hard. Offering something for free is a good way to keep in touch.
- It's easy for me, as a developer, to dig deep into technical problems that are not really essential at the moment. Be aware of this is you're an engineer starting a business.
- It's possible to build a SaaS business part-time as a solo founder. Find balance to stay motivated.
- Building and selling to an undefined audience is hard. Make sure to know who you are building it for and selling it to. Know how to get your first 10 customers.
- Show up and share your work, every day. It might not look interesting to you. But it can be super useful and inspiring for others.
That's it! You can ask me anything on Twitter @drikerf and I'll get back to you right away 😊.
If it's not too late, make sure you charge customers who want teams BEFORE you start building Klart for teams - trust me you will thank me :)
Good luck!
Hey! Thanks! I already built it since I wanted it myself :). I do think it's a good idea to validate something before building it, but sometimes it becomes to abstract when you can't really try it.
Congrats! Nice idea and great journey.
Have you thought about a free plan without any features, like tags, full resolution images, and so on?
Thanks :). Yes I have and I'm still considering different options. The thing is that I can't afford to spend time supporting free users. I also think paying customers is a good validation for a product. Perhaps in the future I'll use a free plan as a way to grow more :). What do you think?
Thanks for sharing this story - it's a nice read. I could imagine that public profiles of users are interesting: a user can share his/her snaps on the profile page, and discuss them with others. This way, you could build a community where influencers (although I don't like this term) can show great snaps to other users, and thus generate more value for both sides (and you). The question is if that's what users want.
Thanks :)! That's a great idea, I've been thinking about public boards/profiles and it's something I'll experiment a bit with :). My focus now is personal/private use + team collaboration, but there is definitely a value in building a nice community around this :).
Hey Fredrik! Thanks for sharing your story with us! Could you share more details about your users? How many active users do you have? What's your MRR? What's your growth strategy?
Hey!
Sure! People are mostly using Klart to save research and design inspiration for projects. I've been focused on consumers but are also targeting B2B now. Today I have about 10 paying and active users ($9 month). I have a background in software engineering and I'm trying to figure out growth and sales along the way :). Currently I'm working on a design curation called Pixels (klart.co/pixels) that attracts some traffic. For B2B I plan to do traditional sales (cold email, calls, etc). Super excited to see how it turns out :).
Any news ?