For the last two years, I've dedicated myself to designing a note-taking app for developers. I've handled everything: designing the app, creating campaigns, designing visuals, and defining the brand.
My goal has always been to create something valuable and lasting. Reflecting on this journey, I've learned many lessons, sometimes the hard way. Here are insights I would share with my younger self on creating a beloved app, along with tips to help guide your development process. I hope they will help you too.
1. Great Productivity Apps are Simple
Simplicity drives productivity. If you're creating a productivity super app, consider making it into separate applications. A simple approach optimizes user performance, sets clear expectations, and makes the app easier to learn. While complexity may be appealing at first for product builders, it can lead users to confusion and cluttering their own space. Users who purchase organization apps are paying for cleanliness and order. Be careful adding features that distract from your focus.
2. Start with Simple Organizational Structure
Designing a simple app starts with setting up a clear way to organize content, like using lists for tasks, folders for documents, or boards for projects. This helps users easily find and manage their data. Don't use filters and tags as the main way to organize, as it makes things complicated and hard to use. Make sure users can add and manage content easily within this main structure. This approach makes the app easy to use and helps users keep their data organized.
3. Features are Your Building Blocks
Design with the roadmap in mind to align with long-term goals. Features are the building blocks of your app, and it's important to see how design interacts with these features. Design is fundamental, so as you focus on details, step back to see how everything fits together. Respect the boundaries of each feature, keep things simple, and avoid reinventing standard patterns. Always balance looking at the roadmap and focusing on small details you are working on.
4. Some Features are More Valuable Than Others
Users often value the ability to access their notes across multiple devices more than specific features on individual devices. Don't start building a note-taking app unless you're planning to make it available on multiple devices. In the case of personal note taking apps, the accessibility of information is > than functionality.
5. Write Down Your Product's First Principles
Your product needs to meet certain criteria to provide value. These should be the guiding star for your team. For example, you can't use Instagram if the app has trouble loading photos. Make a list of what your team needs to focus on to make your product work. Product first principles should always be prioritized when delivering.
6. Respect the Text-Based Interfaces Legacy
The legacy of text-based interfaces is significant, especially when building dev tools. Developers, on whose shoulders we stand today, have done a lot of work on text controls. Many apps are bringing back keyboard shortcuts that feel magical to those who know them. Building such interfaces has given me a deeper appreciation for the developers behind them and the careful considerations required when creating text interactions.
7. Dig Deep into Key Insights from User Feedback.
Once you start receiving user feedback on your product, it becomes hard to select what is important to focus on. Feedback often includes noise from comparisons or misunderstandings of your approach and the problems you're solving, which can be distracting. Treat each piece of feedback as the beginning of a conversation. Dig deeper; sometimes, feedback might be just a random idea, but other times it could highlight a situation where your product doesn't perform well—these are the insights worth investigating.
8. Write Before You Design
This tip is really helpful, especially when you find yourself arguing over small details like where a button should go. Writing down your ideas first helps clear your mind and sets clear goals for what to test and what to skip. It's a good practice to stay on track and refocus if you get stuck.
9. Avoid Empty Words in Specifications
Good specifications are clear and do not use vague words like "more effective," "faster," or "better," which don’t really explain what needs to be done. When designing an interface, be specific and think about the user's experience. For example, instead of saying "We want to make search better," say "We want to navigate between multiple search results with a single click." This approach makes your goals clearer and easier to achieve.
10. Invent What Needs to Be Invented
Most of the time, you don’t need to reinvent the wheel; you just need to ship it right. However, there are occasions when you have the opportunity to create something truly new, or you will put an emphasis on pushing a specific part of the user experience to enhance its emotional aspect, like designing a successful payment animation or keeping up with a streak of tasks.
11. Seek Feedback to Progress Faster
Initially, I was protective of my designs, but now I see the value in seeking others' opinions in a team. It's rare to get things perfect on the first try. Iteration and feedback are key. If you're moving in circles, discuss your solution with a trusted colleague. Their fresh perspective can help you refocus on the essentials and keep moving forward.
12. Building Product is a Team Sport
Building a great product is a tough sport, and having the right team is crucial. The best solutions come from understanding and managing trade-offs. As a designer, besides shipping dope designs, your job is to lead discussions and facilitate these trade-offs. Learn to clearly explain your design choices. Your team should challenge, or adopt these decisions. The best work often comes from well-orchestrated team discussions and multiple iterations, not a hand-off and forget approach.
—
Designing developer tools, like a note-taking app for developers, is a challenging yet rewarding journey.
Perfect design files only matter if they improve the user experience. Use any tool that helps get the ideas across, even pen and paper is good.
Always prioritize clear, actionable specifications, and seek feedback.
Simple products drive productivity
Great products come from teamwork and iterative improvements. Cross-device synchronization and sticking to first principles are crucial.
One final thought.
Shipping a great product involves more than just the technical drill...
It requires seeing the bigger picture and understanding the context. Consider how people will discover your product, how to communicate its value, and what business model will sustain its growth. Creating a great product means envisioning its journey from conception to real-world impact, always keeping the people using it in mind.
I believe some of these skills need to be earned to become intuitive. You can't focus on everything, nor should you. Always keep learning and observing what works, see how it's done, and question the details.
Just focus on building something people genuinely want.