Rewrite, Rebrand, Release: the last year at Savoir
It's been a while since I last wrote a post on this blog. I love blogging, but being a solo founder means that any time taken to write blog posts is time I'm not investing into my product. I had to make the tough choice to put our blog on hold for some time. Lots of things changed for Savoir during that pause, I worked with two amazing people on our release plan and rebranding, and I completed a full rebuild of the core Savoir API.
Please join me as I write our obligatory new year blog post where we reminisce on what happened in the last year (and more). There are exciting things at the end you might not want to miss.
In July 2022, I shared my 6 hard-learned lessons for technical founders. The intro mentioned my decision to fully rewrite the Savoir API. For three months in the summer of 2022, I had the chance to welcome Savoir's first contractor hire. We outlined a roadmap for release and set our priorities. Turns out that a hacked together system written in two months more than a year before wasn't cutting it for release. Getting it released to production would have cost weeks of work for a framework/language I wasn't an expert in.
So I made the tough decision to move to something I know: Golang. I've been working as a Golang developer for more than half a decade, and I'm confident in my abilities to build stuff with it. I had many other possibilities in front of me, many of which played more to my interests than my strengths. I decided to focus on what would bring me the biggest velocity and confidence. I want to build this quickly, and I want to do it right this time.
To avoid the same release pitfalls I faced with the old Elixir version, I chose to move forward with the Encore framework. This was one of the best decisions I've made in a long time. I am biased as a contributor to the framework and this isn't an Encore blog post, so I won't go into too much detail. Instead, I want to share how valuable it is to not have to worry about compilation, release, or infra. Savoir is a small project and still in its unreleased stage. Playing to my strengths also means understanding where to invest my limited time. By being able to outsource everything release-related to a framework and focus on the features, I saved a huge amount of time and effort.
As I am writing this post, the rewrite has been complete for more than a month now. I've officially started building new features. All the core features I wanted to migrate have been migrated, and it's a lot more stable with many more tests. Testability was one big thing I couldn't get working right with the previous framework, it's now seamless. This means I can (again) focus on building features rather than worrying about testing, or lack thereof.
The rewrite started in earnest in December 2022, which means it took about a year to fully rewrite Savoir. A good achievement given my limited resources, but it still could have gone better. Let me know if you'd like a more in depth post on my lessons learned in the future!
If you've read our previous posts or been a reader for a few years, you might have noticed our blog and website got a makeover back in 2022. In fact, this makeover happened barely a few months after my post describing my journey to redesigning the website three times. After writing that blog post, I discussed the content with the contractor. I still wasn't satisfied with what I could achieve by myself. We had money saved up for some development help, and we ended up deciding to invest it into hiring a designer instead.
We posted a contract description, made our limited budget clear from the get go, and I started interviewing. Since we're fully bootstrapped, I think it's very important to let designers know how much we can pay them. The last thing I want to do is waste someone's time on a project that doesn't bring them enough. I prefer to reduce my expectations rather than ask someone to work more for less.
We interviewed with three designers/agencies and ended up working with Buenas Design. I cannot recommend them enough, they took my rough designs and ideas, then created something truly unique and incredible. Our main objective, given our limited budget, was to define a concrete visual identity and create a new brand logo. What they delivered was beyond what I could have ever imagined.
Rather than randomly generated colors that mostly match one another, we now have a well designed color palette with clear guidelines. Rather than a, on-the-nose, robot in a book logo, we now have a studious suricate. I'm still very proud of the logos and websites I designed, especially given I had to learn all those skills, but seeing what we ended up creating with the help of a design was the highlight of my year. We officially switched to the new brand on the 16th of January 2023 with the introduction of Savant, our new logo, mascot, and product name. Sadly this meant saying goodbye to SavBot, I'll never forget you.
At the same time, we fully redesigned our website. The new version has a better flow of information, but also switched to a video format for explaining how Savoir works. We've had great feedback on the video and we're hoping to expand on it in the future.
In my opinion, this was the best time to invest in this level of rebranding. Our logo still isn't that well known, and releasing with our old brand would have meant losing that window of opportunity. If you're in your pre-release stage for your product and are considering investing in a designer, I can wholeheartedly recommend the experience, it's worth it.
This brings us to January 2024 and this post. Savant is fully deployed to our staging environment and we're preparing a "stealth" release to production. We've been using Savant for a few months internally and it has been a great experience, but also a learning opportunity as we realize (and fix) some of the drawbacks of old decisions.
Why a stealth production release, you may ask? One of the most difficult decisions I made for the rewrite was to not migrate the self-serve features of the Savoir API. At least not for the first release. We don't have the resources to commit to a high visibility release, and we can't afford to fail and be forgotten. I learned early that it can be better to release silently than have your loud release be ignored. You can only shout "RELEASE!!" so many times.
For that reason, we'll be working closely with beta testers to get them integrated with Savant. It should only take a couple of clicks, but that hands-on approach will allow us to focus on the features users want as we build our self-serve flow. Another learning opportunity to add to the list!
Savant is now open for beta registrations to anyone interested in working with us to bring it to life. We want to build it for real users, and we're ready to build features for you if you're ready to try Savant out. If that sounds like something you want to be a part of, please sign up on our website or directly from here.
With our release readiness officialized, my next focus is on building Savant as the best product it can be. I will probably not be as active on our blogs as I once was, but I want to take this opportunity to post more content. To make this possible, I'll be writing about the things we learn while building Savoir. Please let me know in the comment below if there's anything you'd like me to write about next!
See you all in my next post.
If what we are building looks interesting to you, please check our features and register for exclusive beta access on our website at savoir.dev. Feel free to also send me a message at firstname.lastname@example.org, I'll be glad to answer any questions you have or give you a preview.
Savoir is the french word for Knowledge, pronounced sɑvwɑɹ.