I reworked the main nav to include invoicing, which was met with a wave of thanks from users.
After launching Cushion’s new onboarding, I detail the next few items on my to-do list, which for once are not new features.
A weekend turned into a month, but Cushion’s new onboarding is finally live. Instead of focusing on the launch itself, I talk through my favorite part.
To provide a more pleasant codebase for Future Jonnie to inherit, I restructure the onboarding to be composable and easily testable.
I decide to write a few utility methods myself, rather than relying on 3rd party library, and I’m glad I do.
Torn between adding a dependency for a utility method or writing it myself, I talk through the pros and cons of both approaches.
Determined to launch thew onboarding flow, I forgot to write for a week and it shows.
Continuing my work on Cushion’s onboarding flow, I build a new and improved date picker component.
With my recent work on Cushion’s new onboarding flow, I take a meandering walk through the new components I built for it that are all typed and tested.
Stepping back to look at Cushion’s growth over its entire lifetime reveals a crystal clear moment when everything went south.
I start working on the new onboarding flow, but quickly realize it won’t be a weekend project.
As a first stab at onboarding, I design a flow that includes myself asking questions, which hopefully provides a friendly intro to the app.
In an attempt to ease people into the app rather than pushing them out of the airplane, I decide to bring back a proper onboarding flow.
After feeling reluctant to reveal any design progress, I decide to bite the bullet and share a few rough sketches—no matter how uncomfortable it feels.
Continuing the idea of the single click, I talk through a potential path to flattening the nav from multiple layers down to one.
Browsing through Cushion, I realize something strange. As I troubleshoot the anomaly, I discover an embarrassing truth.
I sent my first Cushion newsletter in over a year and a half, which sounds crazy, but nonetheless, it feels great to send them again.
Before diving into analytics, I decide to spend time writing database queries that could validate some of my assumptions using existing data.
After building Cushion so far based purely on assumptions and intuition, I finally start to think about using analytics to help guide me.
A thought-provoking conversation leads me to realize that Cushion is still solid and worth iterating on, instead of restarting from scratch.
After establishing a new guiding principle to keep API requests simple, I describe how I could refactor a complex view that relies on a heavy API request.
I discuss a pain point in the current Cushion involving the number of clicks it takes to get to where you need to go. What if it only took one?