Software designer with 2x bootstrapped SaaS exits, building the customer support tool for modern SaaS
@getfernand
+ better email routing
@improvmx
($25k MRR).
92% of customer support reps experience anxiety daily.
Today, we're releasing
@getfernand
(), the calmest support experience ever made.
Here's everything we did to design an intentionally calm product:
So
@stripe
just emailed us announcing that they were not going to refund dispute fees even if you won the case 🤯
Our SaaS is priced at $9/m, so it means that for every abusive chargeback, we could lose twice the money we've made. Wtf?!
There's something you probably don't know about me.
On top of my startups, I'm working 4 days a week at
@Yelp
, a public company.
@ImprovMx
has been profitable from day 1, and both my co-founder and I could live from it comfortably.
So, why not focus on my own products 100%?
I think we just fixed seat pricing. It's now possible to set granular permissions, and only users who can reply to customers directly will pay for their seats. This means you can invite your entire team to collaborate on customer feedback directly from the tool, at no extra cost!
I've escaped the cold and gray winter of Germany and relocated with my wife and 2 kids to the Canary Islands in Spain for a month.
This was life changing. Now that we're back, I wanted to share a few impressions and give a few reasons you should do it, too.
🌞 First, yes. That…
In nearly every product demo I had with clients last year, they demanded the same thing.
Today, we're delivering the ultimate in-app support widget for SaaS
@sahir2k
@fanfuelhq
I don't really see what's cool about this? You didn't license the font, you got caught, so they are asking you to pay up. Makes perfect sense to me?
Today, we're pushing
@getfernand
biggest release ever, our knowledge base generator.
We've spent a whole year working on this, and it probably has been the most complex thing I had to design in my whole life.
Wanna try?
...and see why it's awesome ⤵︎
@dannypostmaa
I once had a random Airbnb host congratulate me on building "such a profitable company". Asked how he knew, and he said he would just google every guest to see who they are and what they do.
Wasn't malicious, but felt a little spooky 😬
Haven't updated the MRR in my bio for a while. Now doing $25k MRR and growing. Stoked, but it's not saying:
- All the edge cases we discussed, argued over, and solved
- Customers using disputes to avoid paying
- The incident we firefighted at 3 am on a Fri. night
Email is hard
We've just made answering support queries 10x faster! 🤯✨
Write a prompt straight from
@getfernand
text editor and get a unique, well-structured email drafted for you - all within seconds. Powered by
@OpenAI
GPT-3.
@yw_zap
@lmsqueezy
Dude your logo is way too similar to
I get that you are launching a competitor and nothing wrong with that but I don't see any reason to be that close if not just simply trying to fool users into believing you are one and the same.
cc
@pie6k
Founder life is sometimes brutal.
This morning I got woke up at 5am by a page of our monitoring system, alerting that
@ImprovMx
seemed down. As I looked at my phone, I got bombarded with a bazillion of notifications for all the different monitors we had set up. We have one per…
Fernand x
@Linear
We've worked hard at meticulously replicating parts of the Linear experience inside Fernand to provide a truly native integration between your customer support inbox and your project tracker.
→
Just like 99% of products that have implemented AI features, we're not an AI company. We use APIs.
Instead of trying to make it feel like black magic, we decided to give our users 100% control over system prompts.
tl;dr: now you can respond to customers like a drunk pirate 🏴☠️🦜
I was really not expecting this to work — and I'm suspecting some email addresses are BS — but damn, this could potentially obliterate the entire lead finding industry (and it's probably a good thing!)
Finalized the first draft of
@getfernand
1:1 product demo script.
In
#buildinpublic
spirit, I am sharing it transparently. The whole idea is to get customers to experience as many "AHA!" moments as possible. No sales BS.
Feel free to roast, comment or steal anything.
Worked on infusing more life into Fernand's brand. Planning to use this for our upcoming knowledge base "how to" video intros.
Motion design by
@r_drice
Next step: sound design 🔊 ✨
@dannypostmaa
We haven't added any major feature to
@ImprovMx
for almost 2 years. It's simple and does what people want it to do. Growth is stable, and we hired people to run operational aspects (support, devops, etc..) to get time back and work on
@getfernand
🤓
Ok, so this happened. I'm in paternity leave for Feb+Mar to take care of my son Louis, but noticed that I still received my salary as usual yesterday. In Germany, you are only entitled to a max €1800/mo subsidy during pat leave while your employer ceases payments.
I thought…
Super happy with how our
@raycastapp
extension for
@ImprovMx
turned out. It's so powerful that I don't even need to log in to our dashboard anymore.
Betting there is going to be a whole Raycast-first SaaS category someday, even before AI replaces GUIs.
Fernand is now the first and only customer support tool for SaaS to integrate with
@PaddleHQ
Billing natively.
→ See Paddle customers payment info directly from Fernand's sidebar within the context of your conversation
→ Refund payments and cancel subscriptions without…
That moment when you are asking a customer why the hell they are forwarding hundreds of emails per minute from Netflix and asking them to clarify their use case.
Aaaah, email 😭
We've just updated our OpenAI integration from text-davinci-003 to gpt-3.5-turbo, but really not seeing the promised speed improvements that some others have experienced. Still takes 5-6 seconds to return 😔 🐌 Tried reducing max_tokens, but not really helping either. Any ideas?
@dannypostmaa
@ImprovMx
@getfernand
All these folks are paid very generous salaries, work fully async+remote, 4 day workweek, 6 weeks PTO/year, zero meetings. Thanks to that, we have close to zero turnover, which is super important because hiring+training would definitely pull us back into operational mode.
We're enjoying our first
@getfernand
company retreat with
@cx42net
. We took the calm company aspect to heart and went to one of the calmest place in the world: Pellworm island in Northern Germany 🇩🇪 🐑 ⚓
Everyone look, this is how you handle a customer support query:
- CEO personally acknowledges the problem AND provides a timely update on the resolution
- Takes ownership, explains calmly and decides to make process changes so that it doesn't happen again
- Refunds customer, no…
@michaelaubry
@vercel
@stripe
Following up here. We’ve concluded our investigation.
tl;DR: we’ll be issuing a full refund of the excess compute charges, as we’ve determined a path forward for you and others to not fall into this problem.
For more context for the broader community: The endpoint the attackers…
@zenorocha
You'll keep fighting them as long as you have the free plan in place.
It's a difficult game because they keep coming at you with more and more creative and sophisticated attacks.
Some low hanging fruits things I wish I learned sooner:
- Prevent bulk account creations by…
@mrdoob
Got curious and recorded it for an hour. tl;dr: Humans can't be trusted with a collaborative, anonymous canvas. Results:
- 32 penises
- 3 tic tac toes
- 6 f*ck off, adobe!
- 2 swastikas
@NathanLatka
Just reached 10K MRR for
@ImprovMx
and growing 20% MoM 🎉 ...while working a full time job! Our users love us, we won't raise money because we want to keep the freedom to make our own decisions and keep 100% ownership.
Just had a call with a potential client for
@getfernand
.
Usual question: "So, how big are you?"
As a bootstrapped company, it's super hard to answer. I almost have to apologize for being small. We can't brag about a crazy VC round, employee count, etc...
How can I build trust?
Almost 4 months in, but we're getting really close to achieving what we wanted for
@getfernand
knowledge base editor.
It has the smoothness and fluency you already know and love of Notion, but applied specifically to writing SaaS help articles, onboarding guides or docs!
This expandable cabin on rails is truly mesmerizing.
You can live to the rhythm of the day in total sync with nature and its elements. That's the house equivalent of what we're building at
@getfernand
. Calm.
Been working on
@getfernand
support widget this weekend. This is the last fundamental piece of the puzzle for our vision of a better SaaS support stack.
Highly parameterizable, customizable, and supporting both auth and non-authed users. Can't wait 💅
Really love making these small product demo sessions. Unvaluable how much product guidance you are getting when you have to justify why you've decided to do X or Y, or why you still don't have that obvious feature yet.
Founders: don't outsource this before reaching PMF.
I had a demo today of
@getfernand
as we’re looking to move away from Intercom for our user support. Wow!! It’s so beautiful and has been really well thought out. If you’re looking for a support system that integrates (beautifully) with the modern essentials, check it out!!
Just upgraded Fernand to GPT-4 Turbo. We now support a 128k context window and responses are even more contextualized.
Next stop, we're going to mess with the Assistants API to ingest business-specific knowledge.
Wowza, I just realized that
@ImprovMx
is listed on
@vercel
help docs as a good way to send/receive emails from a custom domain 🤯
Should we go further and build a native integration to manage aliases directly from the Vercel UI?
I'm usually not a fan of cold emails, but I have to say that this guy nailed it. He did his research and customized the first paragraph for me, presented the value of the service in a succinct, no-BS way, and made the CTA clear + without risk (free!).
Wanna know what people truly think of your SaaS? Just look at how they react when encountering bugs:
1. "Hmm... doesn't work. This thing is really buggy, it sucks. I'm done."
2. "Hmm... doesn't work. I must be doing something wrong."
Products that achieve 2) are unstoppable
A friend of mine used to say: "Antoine, if you chase two rabbits, you won't catch any".
She was probably right: this approach won't set
@getfernand
in hypergrowth, but it's also much calmer and fits my lifestyle now.
Will it change? Probably. But I'm happy now ☀️
This is how it feels when you are sold on a product through their amazing landing page design, copy, and overall sense of craft. And then you use their product...
@peer_rich
- Disbanding IHKs
- No more advance tax payments.
- Possibility to hook into your Stripe account and calculate everything automagically.
- No need for an accountant to sign off your annual report if less than 100k revenue /year
🥹
Really stoked with the
@getfernand
integration guide we wrote in collab with
@lmsqueezy
You can view subscriptions and payment history directly in the context of your customer convos and use our smart routing + snippet features with deep integration 🍋
I believe software should feel magical ✨
When we designed the snooze actions for
@getfernand
, we really wanted it to behave as if you'd be discussing with a human.
Our prompt accepts all common time selections without the need for a calendar-like time picker.
What if we hid a golden ticket inside
@getfernand
inbox zero screen every day? If you redeem it, we organize a professional neck massage at your office/house.
It doesn't get calmer than this, could be a fun viral marketing trick, and just mostly make me laugh.
Yay or nay?
@levelsio
Also from experience, 80% of those high-touch deals end up falling through at the last minute... Sometimes the procurement department just HAS to get multiple quotes from different providers even if they know which one they'll pick from the start (not you)
We've just released our native integration for 🍋
@lmsqueezy
on
@getfernand
. You can now view subscriptions and payment history directly in the context of your customer conversation!
Broke my glasses, so reordering new ones with
@AceAndTate
. Really impressed, they have the best UX for an e-commerce store I've used in a while.
BUT WHY OH WHY IS THE RIGHT EYE ON THE LEFT AND LEFT EYE ON THE RIGHT 😭 💥
@cmdkhalilov
If
@Baremetrics
intentions were really that pure, then that could have easily been solved with better copy. There should *ALWAYS* be an option for users to cancel their account self-serve without having to call.
@pie6k
I would have even blocked the entire UI since this is so critical for you. With thoughtful copy explaining the issue it could make it not as pushy as one might think?
I can't take the German winter anymore. Where should we relocate for a whole month in February?
Shortlist so far:
🇪🇸 Canary islands
🇺🇲 Florida
🇮🇩 Indonesia (Bali?)
🇹🇭 Thailand (Koh Samui?)
Needs to be bright, near the sea and family-friendly.
What am I missing? Any recos?
I don't mind competition, but copying bluntly is lame.
These guys managed to straight up snatch a guide from
@improvmx
and didn't even notice that my face was on the .GIFs... 🤦♂️
Today we're excited to introduce Devin, the first AI software engineer.
Devin is the new state-of-the-art on the SWE-Bench coding benchmark, has successfully passed practical engineering interviews from leading AI companies, and has even completed real jobs on Upwork.
Devin is…
@jsngr
@diagram
@figma
Congratulations Jordan, super deserved! That makes so much sense – I'm really curious to see how a deep native integration inside Figma will look like!
"There is NO WAY you can juggle a day job all while running two SaaS businesses"
Well...
I recorded a podcast with
@AnnaNadeina1
from
@SaaS_group
where I explain my story, where we're coming from, and where we're heading with
@ImprovMx
and
@getfernand
.
I never understood the concept of revenue multiples when it comes to selling your business.
Example:
- A SaaS that makes 1M$ ARR but spends 90% of this in OpenAI fees. Are you buying at 3-4x?
- A SaaS that makes 1M$ ARR with just 2 contractors and a 90% profit margin. Are you…
This is precisely why I hate discounting my products. Tons of overhead to set it up, attracts the worst customers, and leaves a bad taste in the mouth of your loyal ones.
The better option is to craft a different offer with less value for a smaller price. No more comparison.
I spend $700 sending emails each month (newsletter)
And my email service provider is offering 50% off, but only for new customers
Tempted to... create a new account 👀
@fabiensnauwaert
@stripe
@PaddleHQ
A drawback from the MoR model is that it opens your liability to some US state tax even though you should be below the thresholds (but Paddle isn't since they process so many payments).
Turns out you end up paying the max tax rate, where with Stripe it could be 0.
@brian_lovin
We are building exactly that
@getfernand
- 50ms load times, keyboard-first, one thing at a time opinionated design, super powerful automation rules with Webhook support (so you can hook to Linear) and SaaS friendly pricing. Curious what you think?
I was surprised to see the spike in traffic and new account creations this morning until I realized that
@getfernand
got featured in
@nicelydoneclub
🥳
They categorized 100+ screens, which is funny because I don't even have a design file with as many 😂
Getting promoted at a big tech company is really mostly about one's ability to be visible and navigate internal politics. It has very little to do with skills and performance.
That's why I love the bootstrapped world: only actual results matter.
@ryanseanbadger
@stripe
@Wise
That's promising, but there is a bit of a vendor lock-in effect with Stripe. Migrating away 3k+ recurring customers seems like a potential nightmare, and a distraction I'd really want to avoid
Finally found a way to "pause" the DOM to inspect interactive elements:
> Open console
> Paste setTimeout(function(){debugger;}, 5000)
> Do the interaction on the page and wait
> The debugger pauses the page after 5s
> Inspect any element in that paused state 🎊
Is there a way to "pause" the DOM in a specific state using dev tools so that I can inspect elements that are being injected onto the page?
I usually just change the behavior of the component during development to always show, but wondering if there is a better option?
Help center article editors are generic. When we built our own, we wanted it to pack as many native SaaS-friendly components as possible.
→ For example, our callout component. You can set a type, show/hide icon. Add any rich text. It also supports light/dark modes!