[{"data":1,"prerenderedAt":1915},["ShallowReactive",2],{"blog-featured":3,"blog-team-product":79,"blog-dev":1076},{"id":4,"title":5,"authorKey":6,"body":7,"category":58,"date":59,"dateFormatted":60,"description":61,"extension":62,"icon":63,"iconColor":63,"imagePath":64,"keywords":65,"meta":69,"navigation":70,"path":71,"readingTime":72,"relatedArticles":73,"seo":76,"stem":77,"__hash__":78},"blog/blog/new-onboarding.md","Getting started should be easy.","steffen",{"type":8,"value":9,"toc":54},"minimark",[10,14,17,20,36,39,42,45,48,51],[11,12,13],"p",{},"At Capacities, one of our core philosophies is to build beautiful, simple and elegant software that works out of the box. We hear from users all the time that Capacities “just works.” But what about the users it doesn’t click for straight away?",[11,15,16],{},"We realised our onboarding was one of the biggest areas of potential for us in getting new users to understand Capacities as quickly as possible, and to mitigate for some of our churn reasons. To be fully transparent, our biggest churn reasons at this time are: “I’m not using the app enough” and “it’s too complicated”. We know that with a strong onboarding, we could fix these issues.",[11,18,19],{},"Designing a good onboarding is a game of balance. You don’t want to alienate users who already have a good understanding of software and apps by over-explaining concepts they might be familiar with, but you don’t want to under-explain to new users who might need a bit more help initially. We had a couple goals with this new onboarding flow:",[21,22,23,27,30,33],"ol",{},[24,25,26],"li",{},"Flatten the perceived learning curve.",[24,28,29],{},"Get users into the app as quickly as possible, while providing enough information.",[24,31,32],{},"Get users to engage with the core concepts of Capacities straight away, and help them realise that they don’t need to watch endless tutorials and read all of the documentation to start using Capacities.",[24,34,35],{},"Be fun and exciting!",[11,37,38],{},"We might be biased, but we don’t think Capacities is a complicated app. Quite the contrary. The foundational elements of Capacities (object types and objects, linking your notes, anchoring them through time), are incredibly simple and come naturally to people, because we already think in these terms. The complexity was introduced to us elsewhere by folders and files, and hierarchical organisational systems that aren’t human-friendly. The complexity users feel when trying Capacities for the first time isn’t in Capacities directly, but in the letting go of existing systems they are used to. Ones that are less intuitive, but familiar.",[11,40,41],{},"We wanted the onboarding to reflect this mindset shift directly, which is why we decided to design an interactive onboarding that takes users through the creation of their first object, their first link, and their first daily note where they can see all of the objects they just created. Using the app really is that simple. We hope the onboarding reflects this sentiment.",[11,43,44],{},"We also made sure that users entering the app for the first time after the onboarding are greeted with content they are familiar with (made during the onboarding), as well as some further resources to support them in their first interactions with the app. This way they aren’t entering a fully empty blank canvas, which can feel daunting.",[11,46,47],{},"We want the onboarding to feel exciting, fresh, and a little magical. You are starting a whole new journey with Capacities after all. We wanted to capture this feeling.",[11,49,50],{},"Additionally, we updated our onboarding email series with six daily emails sharing ‘aha moments’ from existing users that explain features that made Capacities click for them, as well as insights from us.",[11,52,53],{},"The new onboarding, coupled with the email series, should have a significant impact on our churn rate and decrease user frustration. It is already live, and we’re really proud of it! It’s an entirely new introduction to Capacities for new users, hopefully one that feels exciting and even a little magic!",{"title":55,"searchDepth":56,"depth":56,"links":57},"",2,[],"team-product","2026-03-25","March 25, 2026","We completely redesigned our onboarding.","md",null,"/blog/new-onboarding-cover.jpg",[66,67,68],"onboarding","app design","customer journey",{},true,"/blog/new-onboarding","5 min",[74,75],"building-capacities","transparency",{"title":5,"description":61},"blog/new-onboarding","Xcl__niBgDBQMEMWpzy2hXIGlhcW5csZJ81WULO98yw",[80,124,241,366,446,595,640,702,784],{"id":81,"title":82,"authorKey":6,"body":83,"category":58,"date":108,"dateFormatted":109,"description":110,"extension":62,"icon":63,"iconColor":63,"imagePath":111,"keywords":112,"meta":116,"navigation":70,"path":117,"readingTime":118,"relatedArticles":119,"seo":121,"stem":122,"__hash__":123},"blog/blog/ai-for-meaningful-work.md","AI for meaningful work",{"type":8,"value":84,"toc":106},[85,88,91,94,97,100,103],[11,86,87],{},"AI is everywhere right now, and for good reason. New tools launch every week and timelines are full of interesting demos, but it’s easy to get lost in the hype. At Capacities, we’re trying to take a more intentional path. We see huge potential in AI, especially for people who work with ideas every day. Done right, it can help you go deeper, see connections you’d otherwise miss, and push projects further than you could alone.",[11,89,90],{},"For us, AI needs to help you do better work over years, not just impress you for a weekend. That means tools that help you think, explore, and build on your own ideas rather than replace them, distract you, or flood you with more noise. Information overwhelm isn’t solved with endless AI-generated content; it’s solved with intentional features built by a team that cares.",[11,92,93],{},"We’re especially excited about three areas: discovery, synthesis, and taking care of repetitive work. Discovery means surfacing the right notes and ideas at the right time. Synthesis means helping you connect the dots and shape clearer thinking out of messy material, and automation means letting AI handle the boring, manual parts of knowledge work so you can focus on the things that actually require your judgment and creativity.",[11,95,96],{},"Because our team uses Capacities every day, AI features start with real workflows: drafting and refining content, connecting notes, preparing research, and organizing messy projects. We design features accordingly and iterate following your feedback.",[11,98,99],{},"We want you to have choice in how you use AI. You choose to turn it on or off, and which spaces it’s allowed to see. Separation of spaces and clear boundaries are essential for privacy and for feeling safe to think freely for all the different ways you use Capacities.",[11,101,102],{},"Privacy has been a core principle for us from day one. We use Capacities for our own work, so we protect your data the way we expect ours to be protected: not sold, handled with care, and stored under strict, regularly reviewed practices. With our heart in Europe, we’re GDPR compliant and have built our business model so our incentives stay aligned with keeping your information safe and under your control.",[11,104,105],{},"AI in Capacities is in constant evolution. Models change, people’s expectations change, and our own sense of what “good” means keeps evolving. We’ll keep listening, keep using Capacities for our own work, and keep tuning AI so it serves the same simple goal: helping you do meaningful work without turning your workspace into a hype machine.",{"title":55,"searchDepth":56,"depth":56,"links":107},[],"2026-03-03","March 3, 2026","How we are building AI in Capacities to support deep, meaningful work","/blog/ai-cover.jpg",[113,114,115],"AI","knowledge-work","privacy",{},"/blog/ai-for-meaningful-work","3 min",[120],"capacities-is-for-individuals",{"title":82,"description":110},"blog/ai-for-meaningful-work","MCAMzQPlyQcr12tdZZU1JlBsavGFI9T5TwlDmuUh2lU",{"id":125,"title":126,"authorKey":127,"body":128,"category":58,"date":226,"dateFormatted":227,"description":228,"extension":62,"icon":63,"iconColor":63,"imagePath":229,"keywords":230,"meta":235,"navigation":70,"path":236,"readingTime":237,"relatedArticles":63,"seo":238,"stem":239,"__hash__":240},"blog/blog/task-management-philosophy.md","Why we designed task management like this","reka",{"type":8,"value":129,"toc":220},[130,138,143,150,153,156,159,177,181,184,195,198,201,204,207,210,214,217],[11,131,132,133,137],{},"A driving tenet of our design philosophy at Capacities is that ",[134,135,136],"strong",{},"the app should just work",". The out-of-the-box experience should be simple, elegant, and intuitive. We’ve been striving towards this from the beginning, and our approach to task management in Capacities reflects this goal. We’d like to explain a little bit about how and why we’ve designed task management like this, especially because it might differ from existing approaches you could be familiar with.",[139,140,142],"h3",{"id":141},"intentional-task-management-design","Intentional task management design",[11,144,145,146,149],{},"Capacities is a note-taking app designed for you to house your knowledge, find and make connections, and do your best thinking. Tasks can aid your workflow, but they are not the same as a piece of content or an object containing knowledge you want to keep and reference long-term. ",[134,147,148],{},"Tasks have short life spans",". They are the smallest unit of action you can take to move towards something you are working on. Your notes in Capacities have a long lifespan, and are designed to be connected and worked on over time.",[11,151,152],{},"In this vein, tasks are not complex projects to be kept open for a long time, or notes that should be connected to many other ones, like with your knowledge work. They should be simple actions.",[11,154,155],{},"In our view, tasks should not need multiple levels of organization or complex workflows. You shouldn’t have to be doing admin to stay on top of your tasks. You should ideally not be storing tasks in Capacities that never get checked off. We hope to solve this problem for you through contextualized task management (more on this below). By contextualizing your tasks in Capacities, you are able to limit overwhelm by only seeing tasks relevant to you at any given time. You can view all your open tasks and decide how to best start ticking things off, or you can zoom in on one project and focus on working through the tasks related to it.",[11,157,158],{},"We want you to be actively actioning tasks and working on the things that matter most to you. Tasks should be actionable items that you can easily process and work through. Our setup reflects this approach. We want you to be able to:",[160,161,162,165,168,171,174],"ul",{},[24,163,164],{},"Easily capture tasks",[24,166,167],{},"Decide when to do them",[24,169,170],{},"See them when and where they are relevant",[24,172,173],{},"Tick them off once you’ve completed them",[24,175,176],{},"Forget about them once you no longer need them",[139,178,180],{"id":179},"introducing-contextualized-task-management","Introducing contextualized task management",[11,182,183],{},"Tasks in Capacities are designed to be a simple system for getting things done out of the box. We wanted to make sure that it is extremely easy to create a task from anywhere in the app, with minimal friction and decision-making involved. The only questions to ask yourself are:",[160,185,186,189,192],{},[24,187,188],{},"Where do you want to create the task/ where should it live?",[24,190,191],{},"How important is it? Set a priority.",[24,193,194],{},"When do you intend to do it? Pick a date you want to action the task, and it’ll show up on that day’s daily note.",[11,196,197],{},"Importantly, you don’t have to answer any of these questions. You can just input tasks and keep working, and know that your tasks will show up in your task dashboard, where you can process them later.",[11,199,200],{},"Based on the information you include, Capacities automatically computes all the required data views for you. Tasks appear where you need to see them, and when you need to see them, without you having to do anything.",[11,202,203],{},"Every task has a context to which it belongs, for example, the project it is related to (e.g., ‘buy candles’ is a task related to the ‘host dinner party for friends’ project), or the object you created it in. You can also add context to tasks when creating them in the context field. Now even if you have many projects in your life, you choose to focus on one project at any time and just see the tasks related to this project.",[11,205,206],{},"You can also select a task status, and view your tasks in a kanban board to get an idea of all your tasks and where you’re at with working on them.",[11,208,209],{},"Our intuitive task dashboard gives you different views and dimensions you can use to process your tasks.",[139,211,213],{"id":212},"a-lightweight-solution-to-help-you-do-your-best-work","A lightweight solution to help you do your best work",[11,215,216],{},"At Capacities, our goal is to let you think and work without friction. By keeping task management simple, contextual, and intentionally lightweight, we make sure tasks support your thinking rather than complicate it. You always know where to put something, when to act on it, and where it will show up when you need it. No extra setup and no elaborate systems required.",[11,218,219],{},"Ultimately, tasks in Capacities are designed to help you stay focused on what really matters: doing meaningful and capturing lasting knowledge to help you live an intentional life.",{"title":55,"searchDepth":56,"depth":56,"links":221},[222,224,225],{"id":141,"depth":223,"text":142},3,{"id":179,"depth":223,"text":180},{"id":212,"depth":223,"text":213},"2025-12-09","December 9, 2025","Tasks need to be simple and actionable. Here's our thinking behind it.","/blog/task-management-philosophy.jpg",[231,232,233,234],"Task Management","Productivity","Capacities","Philosophy",{},"/blog/task-management-philosophy","4 min",{"title":126,"description":228},"blog/task-management-philosophy","gUW2W9IWnHKrTgaOqjeBRdBfgKsSIWOxrltH8bwZ0Ko",{"id":242,"title":243,"authorKey":6,"body":244,"category":58,"date":353,"dateFormatted":354,"description":355,"extension":62,"icon":63,"iconColor":63,"imagePath":356,"keywords":357,"meta":361,"navigation":70,"path":362,"readingTime":118,"relatedArticles":63,"seo":363,"stem":364,"__hash__":365},"blog/blog/sustainability-at-capacities.md","Sustainability at Capacities",{"type":8,"value":245,"toc":347},[246,249,252,262,266,269,272,275,279,282,285,289,300,303,309,312,323,332,336,344],[11,247,248],{},"Transitioning to a sustainable future is one of the most important challenges of our time. Every organization has a role to play in shaping that future, including us. Our work may be rooted in the digital world, but our impact extends beyond it. Because of that, we are taking real responsibility for the footprint we create.",[11,250,251],{},"We also believe this approach should become the standard, and we hope to contribute to that shift by being transparent about what we do and the steps we’re taking towards sustainability practices.",[11,253,254,257,258],{},[134,255,256],{},"Legal disclaimer:"," ",[259,260,261],"em",{},"We do not claim to be carbon-neutral or “fully sustainable.” We avoid emissions whenever feasible and compensate the remainder, but we are not certified as a carbon-neutral company and make no guarantees beyond the documentation we share publicly.",[139,263,265],{"id":264},"avoidance-over-compensation","Avoidance over Compensation",[11,267,268],{},"Our philosophy is simple. We reduce our carbon footprint wherever we can, because avoiding emissions is always better than compensating for them later.",[11,270,271],{},"This means being intentional about how we operate. We fly infrequently, try to use the train whenever possible, aim for efficient use of compute, and choose data centers powered 100% by renewable energy.",[11,273,274],{},"For anything we cannot avoid or choose not to avoid, we compensate.",[139,276,278],{"id":277},"offsetting-our-remaining-emissions","Offsetting our Remaining Emissions",[11,280,281],{},"We aim to be efficient and pragmatic. We estimate our emissions, add a safety margin to account for uncertainties, and then offset our emissions equivalents through a hand-selected project we trust.",[11,283,284],{},"While there are standards to be certified by, we chose to save resources, money and time. This means we cannot claim to be “carbon-neutral”. By adding a significant safety margin, we focus on the impact, not a label.",[139,286,288],{"id":287},"forestal-río-aquidabán","Forestal Río Aquidabán",[11,290,291,292,299],{},"To compensate for our emissions, we decided to work with ",[293,294,298],"a",{"href":295,"rel":296},"https://global-woods-international.com/",[297],"nofollow","Global Woods",". We know the management team personally and trust their know-how and long-standing commitment to responsible forestry.",[11,301,302],{},"While we have had direct exchanges with the team, our decision is not based on personal relationships. It is based on independently reviewed project documentation and publicly available registry records on ICR. The fact that ICR is ICROA-endorsed provides additional, third-party assurance on the programme level.",[11,304,305],{},[306,307],"img",{"alt":288,"src":308},"/blog/sustainability-1.webp",[11,310,311],{},"In transparent and open conversations, we learned a lot about carbon removal, including:",[160,313,314,317,320],{},[24,315,316],{},"Removing CO2 from the atmosphere is not everything. Sustainable development, biodiversity and social impact are factors that should be accounted for as well.",[24,318,319],{},"Removal certificates are usually stronger than avoidance certificates when it comes to long term climate impact. Their impact can be measured and guaranteed.",[24,321,322],{},"Certification matters. There were and for sure still are scandals and issues with carbon offsetting projects. But today, there are good international certifications that guarantee removal and compliance with standards.",[11,324,325,326,331],{},"You can read more about the project in the ",[293,327,330],{"href":328,"rel":329},"https://www.carbonregistry.com/projects/forestal-rio-aquidaban-349",[297],"International Carbon Registry",".",[139,333,335],{"id":334},"looking-ahead","Looking ahead",[11,337,338,339,343],{},"All our calculations and removal certificates are public. You can read more about it on our ",[293,340,342],{"href":341},"/about/sustainability","sustainability page",". We see this as an ongoing effort rather than a one-time gesture, and we are open to any feedback.",[11,345,346],{},"Our goal is to continuously reduce and offset our footprint, support projects that genuinely help the planet, and be open about how we do it.",{"title":55,"searchDepth":56,"depth":56,"links":348},[349,350,351,352],{"id":264,"depth":223,"text":265},{"id":277,"depth":223,"text":278},{"id":287,"depth":223,"text":288},{"id":334,"depth":223,"text":335},"2025-12-06","December 6, 2025","Knowledge work should not come at the planet's expense.","/blog/sustainability.jpg",[358,359,360],"Sustainability","Environment","Carbon Footprint",{},"/blog/sustainability-at-capacities",{"title":243,"description":355},"blog/sustainability-at-capacities","8IkUD80_zwHYnia6sjWVpVuGey9VjrLJfSDtmc_I4PE",{"id":367,"title":368,"authorKey":369,"body":370,"category":58,"date":433,"dateFormatted":434,"description":435,"extension":62,"icon":63,"iconColor":63,"imagePath":436,"keywords":437,"meta":441,"navigation":70,"path":442,"readingTime":72,"relatedArticles":63,"seo":443,"stem":444,"__hash__":445},"blog/blog/challenges.md","What challenges do we face in growing Capacities?","beth",{"type":8,"value":371,"toc":431},[372,380,388,395,408,411,428],[11,373,374,375,379],{},"We count ourselves lucky to wake up every day to work on Capacities. We're ",[293,376,378],{"href":377},"/about/team","a small but dedicated team of six"," who deeply believe in the work we are doing, but that does not mean it's without its challenges! A user reached out to us and asked what the biggest frustrations are when growing Capacities, so we thought we'd write about it. In short, building a bootstrapped app in a busy space with so much variability in users was never going to be easy, but we'll shed some light on some specifics here.",[11,381,382,383,387],{},"First, ",[293,384,386],{"href":385},"/pricing/why","being bootstrapped means every dollar we spend comes directly from user subscriptions."," The reality is that if users aren't happy with the product, they won't pay, and that does have an impact on our finances. We are profitable but there remains pressure to find and convert new users, whilst reducing churn of existing users. Sometimes these goals can contradict each other too, so it's a lot to balance. We know that choosing a different funding structure could give us what we need for faster growth, but we love the independence our current model gives us and how it aligns our interests directly with our users.",[11,389,390,391,394],{},"Second, there are ",[259,392,393],{},"many"," note-taking apps out there, and making strategic decisions in this environment is challenging. Every user has been on a different journey to Capacities, which complicates onboarding particularly with our unique data structure. Users' previous experience also sets their relative expectations, and we have to balance meeting those expectations whilst knowing that Capacities is fundamentally different. We see a lot of requests that tend towards feature parity with another app, but that won't always fit our plans or indeed the structure of Capacities. To weigh all this up when making strategic decisions is difficult, especially remembering that we need to grow Capacities.",[11,396,397,398,402,403,407],{},"Not all releases bolster the paid plan either. One great example is the move from ",[293,399,401],{"href":400},"/blog/offline-first-for-you","online first to offline first",". That was months of work for our backend team, and a project we knew was necessary. But it slowed down other developments of the app, including features users were constantly asking for but that required those infrastructure changes to be made first. ",[293,404,406],{"href":405},"/about/principles","We also care deeply about offering a strong free version of Capacities: we want to equalize access to educational tools because we feel that working effectively with information is a superpower."," We won’t compromise on this, but it does complicate strategic planning.",[11,409,410],{},"Third, variability in how users want to use the app, not just how they found us, complicates prioritisation further. Capacities has a very fundamental data model, we think it's our strength. Object types, in a networked note-taking app centered around a calendar is special and it works. Object types fit the \"objects\" you work with in the world, the network lets you connect them whenever, and the calendar helps you resurface notes through the dimension of time that unites us all. But that means our users can create almost anything they want to. That means we often get opposing feature requests, which makes prioritization difficult. On top of this, we can never have a representative view of what users want, only a subsection of our users communicate with us. We rely on our feedback board, Discord community and conversations through support for clues, but this is rarely straightforward.",[11,412,413,414,418,419,423,424,331],{},"Pulling this all together, it's really hard to work out what to build and when. We are left with countless questions to weigh up each day: What do users want? What can help convert users from Free to Pro to help sustain the development of the app? What will help us stand out in the space? Do we need to achieve a level of feature parity before users could even consider switching? How can we make onboarding easier? How do we balance our vision and understanding of the app with what users are asking for? What development dependencies do we have? These are the questions that we spend hours debating amongst the team, and you see the outcome of them in our ",[293,415,417],{"href":416},"/roadmap","Roadmap",", ",[293,420,422],{"href":421},"/whats-next","What’s Next"," articles and ",[293,425,427],{"href":426},"/whats-new","our release notes",[11,429,430],{},"We hope this was an interesting look at some of the challenges we face when growing Capacities. Whilst it isn't easy, we are happy to move forward because we feel the problem of information overload is unsolved, and we will help solve it.",{"title":55,"searchDepth":56,"depth":56,"links":432},[],"2025-11-05","Nov 5, 2025","A user asked us this question, here's our answer.","/blog/challenges/challenges.png",[438,439,440],"Startup","Growth","Challenges",{},"/blog/challenges",{"title":368,"description":435},"blog/challenges","FHH5mv7PZtvRCx-hJIzF_9yifpx1OQEgOrt6Cf4KGB4",{"id":447,"title":448,"authorKey":127,"body":449,"category":58,"date":583,"dateFormatted":584,"description":585,"extension":62,"icon":63,"iconColor":63,"imagePath":586,"keywords":587,"meta":590,"navigation":70,"path":591,"readingTime":72,"relatedArticles":63,"seo":592,"stem":593,"__hash__":594},"blog/blog/how-we-collab.md","Using collaborative tools alongside Capacities: Our two-phase workflow",{"type":8,"value":450,"toc":570},[451,454,459,463,466,469,473,476,479,482,486,490,493,496,499,505,510,514,517,520,524,535,539,542,548,551,557,561,564,567],[11,452,453],{},"Previously, we discussed building Capacities for individuals and noted the importance of collaboration. If Capacities is central to your workflow, you may wonder what to do when you need to work with others. To answer this, we’ll show how our team collaborates.",[455,456,458],"h2",{"id":457},"different-tools-for-different-purposes","Different tools for different purposes",[139,460,462],{"id":461},"how-we-use-capacities-alongside-collaborative-tools","How we use Capacities alongside collaborative tools",[11,464,465],{},"Because our team works entirely remotely (hello from England and Germany 👋), we have to rely on collaborative software in order to work together. We have decided to use Notion to collaborate on tasks and track our tickets.",[11,467,468],{},"Capacities is not meant to be a team workspace, so we need a secondary multiplayer tool. We use Notion's collaborative strengths—like notifications, comments, and automation—to support our teamwork, but any other collaboration tool could serve this purpose.",[139,470,472],{"id":471},"our-individual-research-and-thinking-takes-place-in-capacities","Our individual research and thinking takes place in Capacities",[11,474,475],{},"This being said, a large part of our individual work happens in Capacities. This should not come as a surprise to anyone; yes, we use our own app! Because Capacities is a tool built for individuals, we each have our own personal workflows when it comes to our Capacities setups.",[11,477,478],{},"As a general rule, all of our pre-collaborative work exists in Capacities (let’s call this Phase One), and only when we are ready to include others in our thinking does our work move into Notion (Phase Two). So to break it down, research, brainstorming, ideas, resource compiling, and reading notes (anything related to the research and ideation phase) live in Capacities. Once we have concrete ideas and action steps to share with the team, we create tickets and projects in Notion that we can work on together. Phase One is for research and ideation, Phase Two is for collaboration and action.",[11,480,481],{},"To demonstrate this, I’ll take you through parts of my workflow, and then I'll also highlight our co-founder, Steffen’s workflow, so you get a sense for how we use Capacities in conjunction with Notion in both the marketing and development sides of our work.",[455,483,485],{"id":484},"marketing-workflows-from-capacities-to-notion","Marketing workflows: From Capacities to Notion",[139,487,489],{"id":488},"working-without-feeling-like-someone-is-watching","Working without feeling like someone is watching",[11,491,492],{},"As explained in the previous team take, working in an individual workspace lets you develop your ideas without being self-aware. When I am writing my messy first drafts, or compiling research for a proposed growth strategy, I don't want to feel like anyone can just pop in to view my unfinished thinking evolve live. I want to control when I invite people in to see my work.",[11,494,495],{},"I like being able to use focus mode in Capacities and enter a flow state where I can work uninterrupted, without feeling like my work is being monitored by anyone else. I want to get my first draft done and out of my head so that I can structure it and pass a presentable version on for the team to review.",[11,497,498],{},"For example, here is a screenshot of my notes and the first draft of this team take, in Capacities.",[11,500,501],{},[306,502],{"alt":503,"src":504},"Capacities notes and first draft","/blog/how-we-collab/team-take-note.png",[11,506,507],{},[259,508,509],{},"Notice how I am using focus mode. There is no noise, no outside influences pulling at my attention.",[139,511,513],{"id":512},"collaborative-spaces-are-noisy-lets-not-make-them-noisier","Collaborative spaces are noisy – let's not make them noisier!",[11,515,516],{},"We're a small team, and at any given time, we're each juggling a lot of various tasks and projects. I don't want to waste anyone's time by showing them work that needs a lot of reading to understand and sift through. Sharing presentable work helps us get to the point faster, decide on iterations faster, and just makes our workflows a lot smoother.",[11,518,519],{},"Team spaces are also noisy and filled with notifications. Collaborative features are powerful, but they also ask you to divide your attention. By keeping the formative elements and thinking phase of my work in Capacities, I am not only eliminating some noise for the rest of the team, but for myself while I work.",[139,521,523],{"id":522},"using-capacities-lets-me-work-with-knowledge-in-a-way-that-makes-sense-to-me","Using Capacities lets me work with knowledge in a way that makes sense to me.",[11,525,526,527,530,531,534],{},"The work we do in Capacities is created by us, for us. Ideas can be amorphous and slippery; how can I begin to structure an idea in a coherent manner for the team to understand if I myself am still working on shaping my understanding? My Capacities setup reflects the way ",[259,528,529],{},"my"," brain works and the way ",[259,532,533],{},"I"," want to do my thinking. By using Capacities for Phase One of our workflows, I can collect, organize, and write in a way that makes sense to me and the way I choose to work with information. Phase One is for me. Phase Two is for the rest of the team. This separation between workflow phases is vital, and you’ll see this similarly reflected in Steffen’s workflow below.",[455,536,538],{"id":537},"developer-workflows-from-capacities-to-notion","Developer workflows: From Capacities to Notion",[11,540,541],{},"Steffen also relies on Capacities as the starting point and personal hub for his work. He takes his notes and does research in Capacities to get his ideas ready to share with the rest of the team. He uses backlinks to help facilitate reflection (as seen in the screenshot below) on his research and thinking, and once the messy thinking and research phase is done, he creates a ticket in Notion. The Notion ticket includes an outline of all the tasks that emerged during the research phase in Capacities, and then he will discuss the ticket with the developers, and they'll make a plan to execute from there.",[11,543,544],{},[306,545],{"alt":546,"src":547},"Steffen's notes 1","/blog/how-we-collab/team-take-project.png",[11,549,550],{},"Steffen’s workflow is another great example of how the two important phases in our work are divided between Capacities (Phase One, a personal tool) and Notion (Phase Two, a collaborative tool). Steffen’s notes probably don’t make sense to every other developer, but they do to him. His personal setup in Capacities lets him work faster and more effectively the way he wants and needs. We trust Capacities to hold our ideas, our research, our code snippets, and our brainstorming. Capacities gives us a private space to evolve those ideas into something ready to share with everyone else. This is when Notion comes in.",[11,552,553],{},[306,554],{"alt":555,"src":556},"Steffen's notes 2","/blog/how-we-collab/team-take-outline.png",[455,558,560],{"id":559},"notion-for-collaboration-capacities-for-individual-thinking","Notion for collaboration. Capacities for individual thinking.",[11,562,563],{},"We aren’t trying to replace Notion; we’re building something different. Notion is a fantastic tool for teams, and for a small, remote team like ours, using a tool like Notion just makes sense. It doesn’t have to be one or the other. Both Capacities and Notion have a place in our workflow, because they each suit different needs.",[11,565,566],{},"Our team could use any other collaborative note-taking and project management tool, and the collaborative element would remain the same. Notion as an app isn't central to our process. It's a means to an end. We use it to store short-term to mid-term information, such as tickets and projects.",[11,568,569],{},"Our long-term, truly valuable knowledge that builds, compounds, and stays relevant over time lives in Capacities. Capacities is where our ideas are born, nurtured, and shaped into something ready for collaboration. This is why Capacities is designed just for you: it’s single player on purpose. Your ideas deserve a safe home where they can be chaotic and wild and only make sense to you. Once ready, you can then move those ideas into a collaborative workplace of your choice and keep working from there.",{"title":55,"searchDepth":56,"depth":56,"links":571},[572,576,581,582],{"id":457,"depth":56,"text":458,"children":573},[574,575],{"id":461,"depth":223,"text":462},{"id":471,"depth":223,"text":472},{"id":484,"depth":56,"text":485,"children":577},[578,579,580],{"id":488,"depth":223,"text":489},{"id":512,"depth":223,"text":513},{"id":522,"depth":223,"text":523},{"id":537,"depth":56,"text":538},{"id":559,"depth":56,"text":560},"2025-10-28","Oct 28, 2025","What do you do if you find yourself in a situation where you need to team up with your colleagues or friends on projects?","/blog/how-we-collab/how-we-collab.jpg",[588,589],"Collaboration","Workflow",{},"/blog/how-we-collab",{"title":448,"description":585},"blog/how-we-collab","vC1Rc9N3ChoAMWxwItjPmHtkr144Vq_NdYEzJlML9cM",{"id":596,"title":597,"authorKey":369,"body":598,"category":58,"date":626,"dateFormatted":627,"description":628,"extension":62,"icon":63,"iconColor":63,"imagePath":629,"keywords":630,"meta":633,"navigation":70,"path":634,"readingTime":237,"relatedArticles":635,"seo":637,"stem":638,"__hash__":639},"blog/blog/our-readwise-integration-approach.md","Why we built the Readwise integration like this",{"type":8,"value":599,"toc":624},[600,603,609,612,615,618,621],[11,601,602],{},"It’s easy to assume that when a tool adds a new feature, that feature on its own will solve your problems. In fact, features do not solve problems in isolation; value comes from the way you and the tool work together.",[11,604,605,606,331],{},"As a team, we keep this in mind when developing Capacities. Our goal is to help solve the enduring problem of information overload, allowing you to do meaningful knowledge work. In other words, we aren’t looking to facilitate endless information accumulation, we want to help you cut through noise. From this perspective, the guiding principle behind the Readwise integration is ",[134,607,608],{},"intentionality",[11,610,611],{},"If you are reading this, you likely already have thousands of highlights, and you will add hundreds more before the year ends. Simply creating an integration that imports all of them into Capacities would not help information overload, it would worsen it.",[11,613,614],{},"Readwise functions perfectly as an archive for all your highlights from several sources. It gives you powerful ways to review them, such as spaced repetition and the recent ‘Chat with Highlights’ feature. Capacities serves a different purpose: it is where you process, connect, and create. Importing a highlight into Capacities is therefore not about storing the same highlights that live in Readwise, but about actively working with a subsection of them, to integrate them into the rest of your knowledge work.",[11,616,617],{},"If the integration pulled everything in by default, you would be faced with a large backlog to process. This would not provide clarity, it would create additional stress. Importing is therefore designed to be a deliberate act; it’s a signal that you want to engage with the material now. We do this through a synchronisation tag. When an item is tagged, it’s sent to Capacities. You can also choose to enable auto-import going forward, but even then the flow of new content in Capacities mirrors the pace of your reading rather than the entirety of your past archive. If at that point the inflow still feels overwhelming, it could be a sign that your own reading processes may need to be reconsidered. For example, you could experiment with reducing the number of sources you read per week, or adopt a more selective highlighting process that limits to only the most relevant or resonant material.",[11,619,620],{},"We could have built an integration that syncs everything automatically, and at first glance that might seem convenient. But our philosophy is to reduce the number of decisions you have to make later by asking for one clear decision up front. We already apply this approach to object types: when you create a new object, you choose its type at the beginning, which eliminates countless small organizational decisions later on. The Readwise integration works in the same way. You decide whether your books and articles belongs in your Capacities space based on if they are useful to your knowledge work. If yes, you import them. If not, they remain safe in Readwise, always available should you change your mind. You can use the synchronisation tag to import items into Capacities at any time.",[11,622,623],{},"Whilst this choice requires more from you than an automatic sync would, it is precisely that requirement that makes it effective. The practice of intentional curation prevents your Capacities space from becoming another place of accumulation. This principle guides not only the Readwise integration but our broader development philosophy: Capacities is not intended to collect everything, it is intended to help you do meaningful knowledge work. We have to cut through the noise to do that, and this integration is one step in that process.",{"title":55,"searchDepth":56,"depth":56,"links":625},[],"2025-10-20","Oct 20, 2025","Intentionality is at the core of everything we do.","/blog/our-readwise-approach.png",[631,632],"Readwise","Integration",{},"/blog/our-readwise-integration-approach",[636],"how-it-started",{"title":597,"description":628},"blog/our-readwise-integration-approach","rRFsm0z_MxpYRzj4qBvxE6HamGWdc3pI0r80bx6TPxM",{"id":641,"title":642,"authorKey":127,"body":643,"category":58,"date":689,"dateFormatted":690,"description":691,"extension":62,"icon":63,"iconColor":63,"imagePath":692,"keywords":693,"meta":697,"navigation":70,"path":698,"readingTime":237,"relatedArticles":63,"seo":699,"stem":700,"__hash__":701},"blog/blog/capacities-is-for-individuals.md","Capacities is a feeling collaborative tools can't give you",{"type":8,"value":644,"toc":684},[645,648,651,657,661,664,668,671,675,678,681],[11,646,647],{},"Capacities was built with the importance of a personal thinking space in mind. Our app and vision prioritizes individuals, and is designed specifically for individual use.",[11,649,650],{},"This being said, we get many requests asking for collaborative features and team workspaces. We understand the desire behind this; once you start using Capacities and our object-based system, of course you’d want to bring this functionality to other aspects of your workflow. However, this is not something we are planning on implementing, and today I want to share the reasoning behind this.",[11,652,653,654,331],{},"There are very few digital spaces that belong just to you. In the way a physical notebook is a simple, distraction-free space just for you and your thoughts, Capacities is a workspace built just for ",[259,655,656],{},"you",[139,658,660],{"id":659},"capacities-lets-you-work-without-being-self-aware","Capacities lets you work without being self-aware",[11,662,663],{},"Imagine trying to work on a painting and having someone standing in the corner of your studio watching over your shoulder as you paint. You might paint a little differently knowing someone is watching. You might second-guess. You might not make as many interesting choices or brave decisions. Opening the doors to collaboration in your Capacities Studio would be exactly like this. We don't want you to have to think about other people while you're in the nitty-gritty work of your idea stage. This space is just for you. Get messy, get chaotic, follow your curiosity, and trust that Capacities will help you make sense of things along the way.",[139,665,667],{"id":666},"sometimes-collaboration-is-important","Sometimes collaboration is important",[11,669,670],{},"Sometimes you do need to collaborate with people in your team, your friend, or your partner. This is why we built a powerful export functionality into Capacities, so you can easily take your notes and move them to wherever collaboration makes sense to you. In this way, you get the best of both worlds. You can develop your ideas in the safe sanctuary of your personal studio, and bring you ideas into external collaborative spaces when you're ready to do so.",[139,672,674],{"id":673},"capacities-is-built-just-for-you","Capacities is built just for you",[11,676,677],{},"We are not trying to build an all-in-one tool. Your Capacities Studio can be at the heart of your personal workflow, or just a step in a greater creative process.",[11,679,680],{},"Developing multiplayer features is an inherently complex undertaking, and there isn’t a way for us to currently do so while staying committed to our vision for the app. Many tools are built with teams and team workflows in mind, Capacities is built with you in mind. That being said, we are not opposed to building a collaborative element in the future if we find a way to do so that is aligned with our values.",[11,682,683],{},"However you choose to use Capacities, we want you to trust that your notes are yours until you choose to share them. You never have to worry about opening the doors to your ideas until you’re ready. This is why our vision focusses on individual use. We are building Capacities for you, and you alone.",{"title":55,"searchDepth":56,"depth":56,"links":685},[686,687,688],{"id":659,"depth":223,"text":660},{"id":666,"depth":223,"text":667},{"id":673,"depth":223,"text":674},"2025-07-18","Jul 18, 2025","Many tools are built with teams and team workflows in mind, Capacities is built with you in mind.","/blog/why-no-collab.jpg",[694,695,696],"Individuals","Personal","Focus",{},"/blog/capacities-is-for-individuals",{"title":642,"description":691},"blog/capacities-is-for-individuals","FcgsmPph5uKVHPEXvWlU0y5H3wxiTZ--tIIRIodfXUM",{"id":703,"title":704,"authorKey":127,"body":705,"category":58,"date":771,"dateFormatted":772,"description":773,"extension":62,"icon":63,"iconColor":63,"imagePath":774,"keywords":775,"meta":779,"navigation":70,"path":780,"readingTime":72,"relatedArticles":63,"seo":781,"stem":782,"__hash__":783},"blog/blog/how-we-plan-and-design-our-team-offsites.md","How we plan and design our team offsites",{"type":8,"value":706,"toc":764},[707,712,715,719,722,725,728,732,735,738,741,745,748,751,754,757,761],[11,708,709],{},[134,710,711],{},"At the end of this month, it’s time for our third team offsite at Capacities.",[11,713,714],{},"As a fully remote team, these week-long events are essential for truly getting to know each other and building our team culture. I want to share some learnings from our first two offsites and give you a look into our planning process.",[455,716,718],{"id":717},"what-is-the-purpose-of-our-offsites","What is the purpose of our offsites?",[11,720,721],{},"Our offsites are not about making project progress or simulating office life. Instead, they are designed to fill the gaps that naturally exist in remote work and to create deeper bonds – both on a personal level and around the shared mission of our company.",[11,723,724],{},"It’s nothing new, but you simply get to know people better when you meet in person. On top of that, offsites are the perfect opportunity to work on big, fundamental questions and concepts. You get everyone on board, have vivid and nuanced discussions, see what others really care about, and get to the bottom of things. There’s often no space – or the right setting – for these conversations in day-to-day work.",[11,726,727],{},"And of course, to set the stage for all of this, we always plan fun activities and small trips.",[455,729,731],{"id":730},"how-we-plan-our-offsites","How we plan our offsites",[11,733,734],{},"We aim to organize a team offsite two to three times per year. If they’re too close together, you risk spending too much time planning and traveling instead of working. After all, it’s a week where day-to-day business slows down. But if they’re too far apart, you lose rhythm and start feeling out of touch as a team. For us, the sweet spot is every four to six months.",[11,736,737],{},"At first, we thought three months would work well, but those months fly by, and the rhythm felt too fast.",[11,739,740],{},"We usually start planning about two to three months in advance, making sure accommodation and logistics are booked early. The session topics and detailed agenda are the last things we decide – there’s no point in planning them too far ahead.",[139,742,744],{"id":743},"how-we-design-each-offsite","How we design each offsite",[11,746,747],{},"Each offsite spans a full business week: we begin on Monday around noon (leaving the morning for travel) and wrap up on Friday around noon (traveling home in the afternoon). This way, everyone still keeps their weekends free, and the week feels like a compact, complete unit.",[11,749,750],{},"One day is reserved for a small trip to a nearby city, cultural site, or activity. Beyond being fun, these trips are great for spontaneous conversations, surprising discoveries, and sometimes even impromptu discussions about feature prioritization or hot takes on note-taking, productivity, and knowledge work.",[11,752,753],{},"The rest of the week is filled with sessions. We encourage team members to bring topics they care about for discussion. Some sessions are focused on the big, fundamental questions – like refining our company mission and vision – while others dive into specific upcoming projects or technical challenges. We also mix in creative sessions, like a mini hackathon or brainstorming ways to make our software “more fun.”",[11,755,756],{},"We even set aside time for regular work. This has unexpected benefits: you get to see how others work, communicate more dynamically, and avoid coming back to a mountain of routine tasks on Monday morning after the offsite.",[455,758,760],{"id":759},"thats-it","That’s it",[11,762,763],{},"I hope this gave you an interesting insight into how we think about offsites at Capacities. I’m already super excited about our next edition later this month – and I’ll share how it goes in another post!",{"title":55,"searchDepth":56,"depth":56,"links":765},[766,767,770],{"id":717,"depth":56,"text":718},{"id":730,"depth":56,"text":731,"children":768},[769],{"id":743,"depth":223,"text":744},{"id":759,"depth":56,"text":760},"2025-06-15","Jun 15, 2025","A behind-the-scenes look at how the Capacities team plans and executes team offsites.","/blog/how-we-plan-and-design-our-team-offsites.png",[776,777,778],"Team","Offsites","Remote work",{},"/blog/how-we-plan-and-design-our-team-offsites",{"title":704,"description":773},"blog/how-we-plan-and-design-our-team-offsites","CY0FUwg17lhJYVJwbxtqEFxIYwikOHeo4AtRudkwDEo",{"id":785,"title":786,"authorKey":127,"body":787,"category":58,"date":1064,"dateFormatted":1065,"description":1066,"extension":62,"icon":63,"iconColor":63,"imagePath":1067,"keywords":1068,"meta":1071,"navigation":70,"path":1072,"readingTime":237,"relatedArticles":63,"seo":1073,"stem":1074,"__hash__":1075},"blog/blog/ama-2.md","Team AMA: March 2025",{"type":8,"value":788,"toc":1051},[789,792,795,798,804,807,810,814,834,837,840,849,852,864,867,871,874,876,880,883,890,892,896,899,901,905,908,911,913,917,920,922,926,929,931,935,938,940,944,947,950,959,961,965,968,1036,1038,1042,1045,1048],[11,790,791],{},"Last month our team met in Freiburg for the second Capacities offsite. It was the first time all six of us had come together in person to get to know each other, ideate and do some work!",[11,793,794],{},"We spent time streamlining our processes—identifying friction points and developing practical solutions to improve how we work at every level. We also got to know each other and our roles within in the team better.",[11,796,797],{},"There were also countless interesting discussions: we talked about infrastructure changes, we further developed concepts for some highly requested features and we talked about how we can make the onboarding and education even better for all users. We remain committed to our core goal: building a tool that just works. It was great to regroup and discuss learnings from the last few months about this.",[11,799,800],{},[306,801],{"alt":802,"src":803},"Team offsite","/releases/release-47/47-offsite.jpg",[11,805,806],{},"All in all, it was an excellent week spent together. We worked and laughed a lot, which was an excellent combination.",[11,808,809],{},"We actually got so deep into discussions about the future of Capacities that we decided to create a write-up of the answers to your questions instead of a video. So here are the main questions from the AMA and some answers!",[139,811,813],{"id":812},"when-is-this-feature-coming","When is this feature coming…",[160,815,816,819,822,825,828,831],{},[24,817,818],{},"Further API functions",[24,820,821],{},"Custom themes",[24,823,824],{},"Mobile/tablet overhauls",[24,826,827],{},"Extra AI models",[24,829,830],{},"More powerful queries",[24,832,833],{},"Whiteboards",[11,835,836],{},"We receive a lot of feedback about missing features in Capacities and we really appreciate your enthusiasm and support as we grow. Balancing all the different requests is tricky though: everyone prioritizes differently, and it’s a challenge to align everything whilst also managing our resources and our own plans.",[11,838,839],{},"In short, almost everything matters*. Over time, we intend to add many more features, but right now, our focus is on refining what’s already there. We are determined to build an app that just works for you, and by getting rid of little frictions in your day-to-day usage of Capacities, we get closer to that goal. We must avoid creating a Frankenstein app with lots of features but without the cohesion that makes you want to actually use Capacities every day. We want to avoid a disjointed app and instead create a strong, reliable foundation before introducing big new features.",[11,841,842,843,848],{},"We appreciate that you still want to know when features are coming. We won’t be sharing precise timelines, simply because we don’t set them internally. Things shift frequently, and we must be able to adapt. We did this with ",[293,844,847],{"href":845,"rel":846},"https://capacities.io/blog/why-offline-first",[297],"offline mode last year",", and it paid off.",[11,850,851],{},"For a general idea of our thinking, check out our latest ‘What’s Next’ article. If you don’t see your request there, it’s not currently in focus. We have also decided to add a line at the bottom of the release notes to tell you what we intend to work on next.",[11,853,854,855],{},"* ",[259,856,857,858,863],{},"We have published “",[293,859,862],{"href":860,"rel":861},"https://capacities.io/whats-not-next",[297],"What’s Not Next","” though for further clarity.",[865,866],"br",{},[139,868,870],{"id":869},"where-does-capacities-position-itself-within-the-spectrum-of-pkm-and-note-taking-tools-versus-general-productivity-and-projecttask-management-tools","Where does Capacities position itself within the spectrum of PKM and note-taking tools versus general productivity and project/task management tools?",[11,872,873],{},"Capacities is a note-taking tool and that will remain our core focus. We know there is crossover with project and task management, so we will add light features around that where it makes sense to.",[865,875],{},[139,877,879],{"id":878},"how-do-we-prioritize","How do we prioritize?",[11,881,882],{},"As a note-taking app, we prioritise additions/improvements that we feel are closest to the core of Capacities (e.g. task management does not feel that close to our core, whereas media and annotations do).",[11,884,885,886,889],{},"We also strongly believe in the “using multiple apps” approach. Capacities connects to other apps (e.g. task managers) so you can pick your setup of apps that all ",[259,887,888],{},"really"," work for their intended purpose. This way we can provide a superb note-taking experience that integrates with other great tools. You have a system without any compromises then, rather than a version of Capacities that tries to do too much but fails to deliver real value to you for anything specific. We will certainly add more integrations over time too.",[865,891],{},[139,893,895],{"id":894},"what-is-smart-media","What is smart media?",[11,897,898],{},"Smart media is an extension of the idea that ‘Capacities just works’. You should just be able to search your pdfs, or text in your images. You should be able to get transcripts from your audio notes, and annotate your pdfs. We will be adding all of these features over time. Media is a part of your note-taking system, and we want to treat it well. It needs to be integrated into every level of the app.",[865,900],{},[139,902,904],{"id":903},"how-have-the-teams-experiences-and-thoughts-about-the-future-of-ai-changed-since-the-last-off-site-and-iteration-of-the-ai-roadmap","How have the team’s experiences and thoughts about the future of AI changed since the last off-site and iteration of the AI roadmap?",[11,906,907],{},"It’s not enough to have a simple AI chat in the app. AI has to be deeply integrated to generate added value compared to conventional AI chats available. This deep integration requires a strong foundation that takes time to build.",[11,909,910],{},"Nevertheless, we think there’s a lot of potential to make knowledge work more streamlined, efficient, and fun. We will integrate AI into Capacities where it creates value and we’ll leave it out where we think it doesn’t.",[865,912],{},[139,914,916],{"id":915},"what-do-you-think-the-future-of-pkm-is-how-does-this-influence-capacities-beyond-feature-requests","What do you think the future of PKM is? How does this influence Capacities beyond feature requests?",[11,918,919],{},"The future of PKM is this idea of something ‘just working’ for users. There shouldn’t be the need to learn complex terms, ideas or set ups. The tool should just work. It should create value without you needing to worry about it.",[865,921],{},[139,923,925],{"id":924},"over-all-the-years-of-developing-capacities-what-achievement-are-you-most-proud-of","Over all the years of developing Capacities, what achievement are you most proud of?",[11,927,928],{},"Creating a sustainable company that is here for the long-term and building a team that has the skills we need to create an amazing future for Capacities!",[865,930],{},[139,932,934],{"id":933},"what-can-the-community-do-to-better-help-grow-capacities-besides-subscribing","What can the community do to better help grow Capacities besides subscribing?",[11,936,937],{},"Thank you for this question! It means so much that you want Capacities to grow too. The best thing to do is to tell your friends and family about Capacities, but more specifically tell them why they’d benefit from it.",[865,939],{},[139,941,943],{"id":942},"how-is-capacities-mitigating-against-the-risk-of-potentially-having-to-close-one-day","How is Capacities mitigating against the risk of potentially having to close one day?",[11,945,946],{},"Sustainable business practices are at the centre of all we do, and have been from the beginning. Steffen and Michael own 100% of Capacities, we’re venture funded but solely by the support of our Believers and Pro users.",[11,948,949],{},"From a user perspective, you are free to export all your data at any point into a useful format and this will never change.",[11,951,952,953,958],{},"We wrote more about this in our ",[293,954,957],{"href":955,"rel":956},"https://capacities.io/blog/what-if-capacities-was-gone-tomorrow",[297],"\"What if Capacities was gone tomorrow\""," blog post if you’d like to know more.",[865,960],{},[139,962,964],{"id":963},"what-features-are-the-team-most-excited-to-implement","What features are the team most excited to implement?",[11,966,967],{},"We asked around, here are the answers!",[969,970,971,984],"table",{},[972,973,974],"thead",{},[975,976,977,981],"tr",{},[978,979,980],"th",{},"Team Member",[978,982,983],{},"Feature",[985,986,987,996,1004,1012,1020,1028],"tbody",{},[975,988,989,993],{},[990,991,992],"td",{},"Steffen",[990,994,995],{},"Semantic AI, smart context, related content system",[975,997,998,1001],{},[990,999,1000],{},"Michael",[990,1002,1003],{},"Annotation system and working on smart media",[975,1005,1006,1009],{},[990,1007,1008],{},"Luis",[990,1010,1011],{},"Working on the infrastructure that will handle the super powerful features later.",[975,1013,1014,1017],{},[990,1015,1016],{},"Luca",[990,1018,1019],{},"Implementing the annotation system.",[975,1021,1022,1025],{},[990,1023,1024],{},"Beth",[990,1026,1027],{},"Image OCR",[975,1029,1030,1033],{},[990,1031,1032],{},"Réka",[990,1034,1035],{},"PDF annotations",[865,1037],{},[139,1039,1041],{"id":1040},"what-were-the-teams-own-conceptual-takeaways-from-the-first-ama","What were the team's own conceptual takeaways from the first AMA?",[11,1043,1044],{},"We’re excited for the future, and we just have to keep building. It’s amazing to see all the feedback but if we change our path up too much, we’ll lose focus. The way we pull off our mission as a small company is to be focused and efficient. 🚀",[1046,1047],"hr",{},[11,1049,1050],{},"That's everything for this AMA, thank you to everyone who submitted questions!",{"title":55,"searchDepth":56,"depth":56,"links":1052},[1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063],{"id":812,"depth":223,"text":813},{"id":869,"depth":223,"text":870},{"id":878,"depth":223,"text":879},{"id":894,"depth":223,"text":895},{"id":903,"depth":223,"text":904},{"id":915,"depth":223,"text":916},{"id":924,"depth":223,"text":925},{"id":933,"depth":223,"text":934},{"id":942,"depth":223,"text":943},{"id":963,"depth":223,"text":964},{"id":1040,"depth":223,"text":1041},"2025-04-01","Apr 22, 2025","Answering your questions! Last month our team met in Freiburg for the second Capacities offsite.","/blog/ama-2.jpg",[1069,776,1070],"AMA","Questions",{},"/blog/ama-2",{"title":786,"description":1066},"blog/ama-2","Ak6uRocaIWymSsGhVPCIbbaW4U2eTimSkU2fH7JyqN8",[1077,1424,1604,1684],{"id":1078,"title":1079,"authorKey":1080,"body":1081,"category":1408,"date":1409,"dateFormatted":1410,"description":1411,"extension":62,"icon":63,"iconColor":63,"imagePath":1412,"keywords":1413,"meta":1417,"navigation":70,"path":1418,"readingTime":1419,"relatedArticles":1420,"seo":1421,"stem":1422,"__hash__":1423},"blog/blog/migration-to-postgres.md","Scaling Capacities: Why we swapped Dgraph for PostgreSQL","luis",{"type":8,"value":1082,"toc":1393},[1083,1086,1106,1115,1119,1126,1129,1145,1151,1155,1158,1162,1165,1168,1188,1191,1211,1215,1226,1250,1254,1261,1265,1268,1298,1302,1324,1336,1342,1345,1348,1352,1355,1366,1370],[455,1084,1079],{"id":1085},"scaling-capacities-why-we-swapped-dgraph-for-postgresql",[11,1087,1088,1089,1092,1093,1097,1098,1105],{},"When building a ",[259,1090,1091],{},"tool for thought"," like ",[293,1094,233],{"href":1095,"rel":1096},"https://capacities.io/",[297],", the data model is the product. Our users literally create webs of connected notes, so choosing a graph database initially felt like the most authentic architectural decision to the founders. ",[293,1099,1102],{"href":1100,"rel":1101},"https://docs.dgraph.io/",[297],[134,1103,1104],{},"Dgraph"," was chosen because it promised native graph traversal and a schema that matched the user's mental model, it made it easy to move fast and express queries in a way that closely matched how we think about data.",[11,1107,1108,1109,1114],{},"However, as time went on, they realized that the \"perfect\" theoretical fit was becoming an operational nightmare and with the release of ",[293,1110,1113],{"href":1111,"rel":1112},"https://capacities.io/whats-new/release-45",[297],"Full Offline Mode",", Capacities was much less reliant on having a graph architecture on the backend. After joining the team, making a switch to a more efficient database became my first project as the new backend engineer.",[455,1116,1118],{"id":1117},"the-problem-the-graph-tax","The Problem: The Graph Tax",[11,1120,1121,1122,1125],{},"Our primary challenge wasn't functionality, it was ",[134,1123,1124],{},"CPU consumption",". Dgraph’s resource usage was unpredictably high, even with modest datasets. We found ourselves at a crossroads: horizontally scale a complex cluster (without the traffic to justify it) or vertically scale our servers to much more expensive machines.",[11,1127,1128],{},"We weren't alone. Community reports confirmed our suspicions:",[160,1130,1131,1138],{},[24,1132,1133],{},[293,1134,1137],{"href":1135,"rel":1136},"https://github.com/dgraph-io/dgraph/issues/1938",[297],"Dgraph Issue #1938: High CPU usage",[24,1139,1140],{},[293,1141,1144],{"href":1142,"rel":1143},"https://discuss.dgraph.io/t/one-node-in-dgraph-cluster-showing-unusual-resource-usage/19832",[297],"Unusual resource usage discussions",[11,1146,1147,1148,331],{},"After doing some research and having many discussions, we finally decided it was time to move to something \"boring\" and reliable: ",[134,1149,1150],{},"PostgreSQL on a cloud provider",[455,1152,1154],{"id":1153},"redesigning-the-graph-in-a-relational-postgresql-database","Redesigning the Graph in a Relational PostgreSQL Database",[11,1156,1157],{},"Migrating from a loosely enforced graph schema to a strictly typed relational database is a massive normalization challenge. I worked closely with Steffen, our founder, to audit every assumption I had about the data. The migration wasn't just a data transfer; it was a complete structural redesign.\nMy first task was to deconstruct our Dgraph schema. We needed to translate \"nodes and edges\" into a performant relational model.",[139,1159,1161],{"id":1160},"the-links-and-notes-schema","The \"Links\" and \"Notes\" Schema",[11,1163,1164],{},"The main challenge was normalization. Dgraph’s data model is inherently denormalized, but to take full advantage of PostgreSQL we had to redesign our schema around normalization principles. This forced us to rethink how we modeled data and to carefully review every backend query, ensuring we weren’t merely trading CPU bottlenecks in a graph database for greater response times in a relational system due to slow joins.",[11,1166,1167],{},"We eventually landed on a clean, highly indexed structure where tables could be categorized as:",[160,1169,1170,1180],{},[24,1171,1172,1179],{},[134,1173,1174,1178],{},[1175,1176,1177],"code",{},"objects"," tables",": Contains the core nodes and their properties.",[24,1181,1182,1187],{},[134,1183,1184,1178],{},[1175,1185,1186],{},"links",": A dedicated table representing the edges (from node A to node B).",[11,1189,1190],{},"To safely replace the engine while the car was moving, we followed a three-step technical strategy:",[160,1192,1193,1199,1205],{},[24,1194,1195,1198],{},[134,1196,1197],{},"The DatabaseService Interface",": We wrote an abstracted interface in our backend. This allowed us to rewrite Dgraph interactions in one place and provided a roadmap of every query we needed to port.",[24,1200,1201,1204],{},[134,1202,1203],{},"Choosing Kysely to interact with Postgres",": It gave us the best of both worlds, strong TypeScript typing and the freedom to write raw-like SQL for complex traversals.",[24,1206,1207,1210],{},[134,1208,1209],{},"Recursive Power",": Traversing connected notes in SQL is no small feat. We utilized WITH RECURSIVE Common Table Expressions (CTEs), heavily testing them with EXPLAIN ANALYZE to optimize our indexing strategy.",[455,1212,1214],{"id":1213},"tooling-why-kysely","Tooling: Why Kysely?",[11,1216,1217,1218,1225],{},"We spent significant time evaluating ORMs and different alternatives. We ultimately chose ",[293,1219,1222],{"href":1220,"rel":1221},"https://kysely.dev/",[297],[134,1223,1224],{},"Kysely"," for three reasons:",[21,1227,1228,1234,1240],{},[24,1229,1230,1233],{},[134,1231,1232],{},"Type safety",": It provides end-to-end type safety without a heavy runtime overhead.",[24,1235,1236,1239],{},[134,1237,1238],{},"Raw SQL control",": Unlike traditional ORMs that hide the SQL, Kysely feels like writing raw SQL without losing strong typing.",[24,1241,1242,1245,1246,1249],{},[134,1243,1244],{},"Compatibility with complex queries",": Our most critical queries, which traversed the graph, required the use of ",[1175,1247,1248],{},"WITH RECURSIVE"," and good column indexing.",[139,1251,1253],{"id":1252},"optimizing-with-explain-analyze","Optimizing with EXPLAIN ANALYZE",[11,1255,1256,1257,1260],{},"The recursive logic was the core of the new system. We spent days running ",[1175,1258,1259],{},"EXPLAIN ANALYZE"," on our queries to determine the perfect indexing strategy. Kysely’s migration tool made it incredibly simple to iterate on these indexes as we discovered bottlenecks in our local Docker environments.",[455,1262,1264],{"id":1263},"the-zero-downtime-rollout","The Zero-Downtime Rollout",[11,1266,1267],{},"We couldn't just turn off the lights. We followed a rigorous rollout plan:",[21,1269,1270,1276,1282,1288],{},[24,1271,1272,1275],{},[134,1273,1274],{},"Double Writing",": We modified our backend to write every change to both Dgraph and RDS.",[24,1277,1278,1281],{},[134,1279,1280],{},"Consistency testing:"," During local and staging testing, we compared read results from both databases to ensure consistency in our queries.",[24,1283,1284,1287],{},[134,1285,1286],{},"The Two-Week Migration",": We ran a background job that slowly moved historical data from Dgraph to Postgres. This took two weeks to ensure we didn't overwhelm the production instance.",[24,1289,1290,1293,1294,1297],{},[134,1291,1292],{},"Feature Flags",": Using a flag system, we toggled individual ",[1175,1295,1296],{},"DatabaseService"," modules from Dgraph to Postgres one by one. This allowed us to monitor real-world performance for specific queries and \"roll back\" instantly if we saw a spike.",[455,1299,1301],{"id":1300},"the-dirty-data-challenge","The \"Dirty\" Data Challenge",[11,1303,1304,1305,1308,1309,418,1312,1315,1316,1319,1320,1323],{},"When we moved to staging on RDS, we hit a wall: ",[134,1306,1307],{},"Legacy Data.","\nA few years ago, Capacities used string literals like ",[1175,1310,1311],{},"\"default\"",[1175,1313,1314],{},"\"root\"",", or ",[1175,1317,1318],{},"\"basic\""," where we now expected UUIDs. We wanted to keep our Postgres columns as strictly typed ",[1175,1321,1322],{},"UUID"," types for performance, but we couldn't just delete old user data.",[11,1325,1326,1329,1330,1335],{},[134,1327,1328],{},"The Solution:"," We built a custom ",[134,1331,1332],{},[1175,1333,1334],{},"QueryBuilder"," module on top of Kysely. It included a literal mapper that swapped these legacy strings for \"fake\" but consistent UUID values. To ensure this was safe, we ran a background job on production to extract all unique legacy values and verify the set was small enough to map manually.",[11,1337,1338,1339],{},"After this, we thought we were in the clear until we started the background migration job. Suddenly, the logs were filled with errors: ",[1175,1340,1341],{},"invalid byte sequence for encoding \"UTF8\".",[11,1343,1344],{},"Dgraph, written in Go, was surprisingly permissive with what it stored. It had allowed \"broken\" Unicode values, null bytes, and certain malformed emoji sequences to sit in the database for years. PostgreSQL, however, is a strict guardian of data integrity. It rejected these values outright.",[11,1346,1347],{},"We had to build a sanitization layer into our migration script to strip out these \"ghost\" characters and fix malformed UTF-8 sequences, including broken emoji encodings on the fly. It was a stark reminder that moving data isn't just about moving bits; it's about translating between two different philosophies of data validation.",[455,1349,1351],{"id":1350},"the-results-110th-of-the-cost","The Results: 1/10th of the Cost",[11,1353,1354],{},"The impact was immediate and dramatic. As we toggled each module, we watched the server CPU metrics drop.",[11,1356,1357,1358,1361,1362,1365],{},"By moving to Postgres, we were able to reduce our database costs to ",[134,1359,1360],{},"1/10th"," of their original price. This meant ",[134,1363,1364],{},"70% annual savings on overall infrastructure"," costs.",[139,1367,1369],{"id":1368},"key-learnings","Key Learnings",[160,1371,1372,1378,1387],{},[24,1373,1374,1377],{},[134,1375,1376],{},"Boring is Beautiful",": Postgres has decades of community support, documentation, and tooling. When things go wrong, the answer is usually one Google search away. Postgres can also be highly optimized for a wider range of use cases than other database technologies, so it made us feel safer because we could prototype different implementations and compare metrics without completely switching to another technology.",[24,1379,1380,1383,1384,1386],{},[134,1381,1382],{},"Interfaces are your friend",": The ",[1175,1385,1296],{}," abstraction was incredibly helpful for us to gather all calls of Dgraph throughout the codebase and understand exactly what functionality needed to be provided by a new PostgresService module. At Capacities we’re big fans of dependency injections, and this was just one more example where it proved tremendously useful.",[24,1388,1389,1392],{},[134,1390,1391],{},"Managed Services > Self-Hosting",": For a small team, the \"premium\" of a managed database instance is a bargain compared to the engineering hours spent managing self-hosted Dgraph clusters. Capacities is not a database company, the focus is better spent innovating in knowledge work instead of in managing infrastructure.",{"title":55,"searchDepth":56,"depth":56,"links":1394},[1395,1396,1397,1400,1403,1404,1405],{"id":1085,"depth":56,"text":1079},{"id":1117,"depth":56,"text":1118},{"id":1153,"depth":56,"text":1154,"children":1398},[1399],{"id":1160,"depth":223,"text":1161},{"id":1213,"depth":56,"text":1214,"children":1401},[1402],{"id":1252,"depth":223,"text":1253},{"id":1263,"depth":56,"text":1264},{"id":1300,"depth":56,"text":1301},{"id":1350,"depth":56,"text":1351,"children":1406},[1407],{"id":1368,"depth":223,"text":1369},"dev","2026-01-12","Jan 12, 2026","How we achieved a 70% infrastructure cost reduction by migrating from a self-hosted graph database to a managed relational model.","/blog/migration-to-postgres.jpg",[1414,1415,1416],"databases","infrastructure","migration",{},"/blog/migration-to-postgres","7 min",[74],{"title":1079,"description":1411},"blog/migration-to-postgres","kgphIaNQLkaCWAm1Hvs_Ex_4W0CrKP3k5bh_C1JeBNE",{"id":1425,"title":1426,"authorKey":1427,"body":1428,"category":1408,"date":1588,"dateFormatted":1589,"description":1590,"extension":62,"icon":63,"iconColor":63,"imagePath":1591,"keywords":1592,"meta":1595,"navigation":70,"path":1596,"readingTime":237,"relatedArticles":1597,"seo":1601,"stem":1602,"__hash__":1603},"blog/blog/cross-platform-approach.md","Our cross-platform approach","michael",{"type":8,"value":1429,"toc":1579},[1430,1434,1439,1442,1445,1448,1452,1455,1499,1502,1505,1509,1512,1516,1519,1522,1525,1551,1555,1558,1561,1564,1568,1571,1573,1576],[455,1431,1433],{"id":1432},"going-cross-platform-as-a-small-team","Going Cross-Platform as a Small Team",[11,1435,1436],{},[259,1437,1438],{},"Updated September 19, 2024",[11,1440,1441],{},"We are developing Capacities using web technologies. Since the web is supported across all platforms, this enables us to maintain a single codebase for all our applications. This approach allows us to avoid duplicating code for implementing the same features across various platforms; we simply reuse the same code everywhere, writing customized code only for specific native features and interactions with the operating system, such as accessing the camera.",[11,1443,1444],{},"The web also offers rapid adoption of new technologies, a vast ecosystem of open-source libraries, and a strong community of developers.",[11,1446,1447],{},"In summary, web technologies empower a small team like us to operate efficiently and minimize maintenance overhead while supporting multiple platforms.",[455,1449,1451],{"id":1450},"supported-platforms","Supported Platforms",[11,1453,1454],{},"We currently offer:",[160,1456,1457,1483],{},[24,1458,1459,1460,1463,1464,418,1467,1470,1471,1474,1475,1478,1479,1482],{},"A ",[134,1461,1462],{},"Desktop App"," for ",[134,1465,1466],{},"Mac",[134,1468,1469],{},"Windows"," and ",[134,1472,1473],{},"Linux",". Our ",[134,1476,1477],{},"web version"," on desktop supports ",[134,1480,1481],{},"all major browsers"," (we recommend using Chrome for optimal performance).",[24,1484,1459,1485,1488,1489,1470,1492,1463,1495,1498],{},[134,1486,1487],{},"Mobile App"," available in the ",[134,1490,1491],{},"iOS App Store",[134,1493,1494],{},"Google Play Store",[134,1496,1497],{},"Android"," devices. While Capacities can also be accessed on mobile browsers, we highly recommend downloading the app for the best experience.",[11,1500,1501],{},"Currently, we do not have plans for a version of Capacities for smartwatches or support for spatial computers (such as the Apple Vision Pro), though this may change if this category gains mainstream adoption.",[11,1503,1504],{},"Soon, Capacities will provide a consistent \"Capacities\" look and feel across desktop, mobile, and tablet platforms.",[455,1506,1508],{"id":1507},"our-strategy-for-each-platform","Our Strategy for Each Platform",[11,1510,1511],{},"Here are some additional insights into our strategy for different platforms.",[139,1513,1515],{"id":1514},"desktop-the-most-powerful-version-of-capacities","Desktop: The Most Powerful Version of Capacities",[11,1517,1518],{},"Desktop devices are where Capacities originated, making us fundamentally a desktop-first application. Consequently, the desktop version will likely always offer the most extensive features and advancements compared to other platforms.",[11,1520,1521],{},"Initially, we launched only the web version of Capacities. We later introduced a dedicated desktop app, which has now surpassed the web version in terms of capabilities.",[11,1523,1524],{},"There are significant differences between our web and desktop versions. Compared to the web version it offers:",[160,1526,1527,1530,1533,1536,1539,1542,1545,1548],{},[24,1528,1529],{},"Better offline capabilities",[24,1531,1532],{},"Better performance (esp. over time)",[24,1534,1535],{},"Better file and download interactions",[24,1537,1538],{},"More and better integrations (e.g. apple reminder, Raycast)",[24,1540,1541],{},"Deeplinking",[24,1543,1544],{},"In the future:",[24,1546,1547],{},"Better export capabilities",[24,1549,1550],{},"Can utilize more and more of the native operating system's features",[139,1552,1554],{"id":1553},"mobile-app-focus-and-trade-offs","Mobile App Focus and Trade-Offs",[11,1556,1557],{},"When developing the mobile app, we recognized the need to simplify its functionality. Mobile use cases differ from those on desktop devices. Thus, we concentrated on key aspects like daily notes, quick search, browsing, reading notes on the go, and ensuring fast input.",[11,1559,1560],{},"For some users, access to the AI assistant while on the move can also be an important feature.",[11,1562,1563],{},"To enhance the mobile experience, we streamlined the app by removing certain features. Our goal is to provide the best experience tailored to the use cases that matter most on each device, rather than striving for complete feature parity.",[139,1565,1567],{"id":1566},"our-approach-for-the-tablet-app","Our Approach for the Tablet App",[11,1569,1570],{},"The tablet experience lies between that of desktop and mobile phones. Some users depend on their tablets for prolonged sessions and complex workflows. Consequently, the tablet app must be more sophisticated than the mobile version while still being less complex than the desktop version due to the virtual keyboard and smaller form factor.",[1046,1572],{},[11,1574,1575],{},"Over time, based on user feedback, we will continue to enhance mobile and tablet functionalities to maintain a balance and address any gaps users may encounter in their workflows.",[11,1577,1578],{},"In summary, we aim to leverage the unique strengths and primary use cases of each platform while ensuring an overall balance among them as we evolve.",{"title":55,"searchDepth":56,"depth":56,"links":1580},[1581,1582,1583],{"id":1432,"depth":56,"text":1433},{"id":1450,"depth":56,"text":1451},{"id":1507,"depth":56,"text":1508,"children":1584},[1585,1586,1587],{"id":1514,"depth":223,"text":1515},{"id":1553,"depth":223,"text":1554},{"id":1566,"depth":223,"text":1567},"2024-08-21","August 21, 2024","Here's how we are developing Capacities into a cross-platform app","/blog/cross-platform.jpg",[1593,1594],"cross-platform","software development",{},"/blog/cross-platform-approach",[1598,1599,1600],"why-integrations","why-individuals","why-offline-first",{"title":1426,"description":1590},"blog/cross-platform-approach","VghpdnOg6KoTdKCmYGs3UqoUolngR74je2HoPlthCf0",{"id":1605,"title":1606,"authorKey":1427,"body":1607,"category":1408,"date":1670,"dateFormatted":1671,"description":1672,"extension":62,"icon":63,"iconColor":63,"imagePath":1673,"keywords":1674,"meta":1677,"navigation":70,"path":1678,"readingTime":1679,"relatedArticles":1680,"seo":1681,"stem":1682,"__hash__":1683},"blog/blog/how-we-developed-tables.md","How we developed tables in Capacities",{"type":8,"value":1608,"toc":1666},[1609,1612,1616,1619,1645,1648,1652,1655,1658],[11,1610,1611],{},"Recently, we launched tables in Capacities. It's a major addition to our app, and we developed the whole feature in just a couple of weeks. I wanted to share a little bit about the process and why we think it's one of the best table implementations in any note-taking app.",[455,1613,1615],{"id":1614},"figuring-out-what-to-build","Figuring out what to build",[11,1617,1618],{},"From the beginning, we wanted it to stand out from table implementations in other note-taking apps while making no compromise on the UI/UX side of things. So these were our requirements:",[160,1620,1621,1627,1633,1639],{},[24,1622,1623,1626],{},[134,1624,1625],{},"A super nice UI/UX:"," keyboard accessibility, many shortcuts, using patterns already familiar to our users.\nMaking them pretty and well-formatted: Supporting a variety of formatting options and styles that allow users to make beautiful and useful",[24,1628,1629,1632],{},[134,1630,1631],{},"Deep integration into the app:"," part of PDF export, rich-text in table cells, seamless copy and paste, linking to any content from within table cells, saving tables as objects, interaction with the AI assistant, familiar formatting options, export to CSV, reusing UI patterns our users already know, saving important tables as objects. For example, the table in this screenshot was generated by our AI assistant in the app.",[24,1634,1635,1638],{},[134,1636,1637],{},"A powerful extra feature:"," We added formulas like in Excel to make it stand out from other note-taking apps. It allows for a whole range of new use cases. While this will never replace a tool like excel, it is very useful for doing some calculations and the fly and have them right inside your note-taking app. This also works great as a \"Pro\" feature.",[24,1640,1641,1644],{},[134,1642,1643],{},"Being versatile:"," Having a flexible data model that is not too rigid and structured. Supporting simple inline tables for layout purposes all the way to tables-as-objects that users can open in full-page and revisit frequently.",[11,1646,1647],{},"We found that this is a combination that is not present in any other note-taking app and really makes @CapacitiesHQ\nstand out.",[455,1649,1651],{"id":1650},"how-we-built-it","How we built it",[11,1653,1654],{},"We made the table feature the main project of a new employee. While this sounds risky, it allowed us to go the extra mile because he could spend all his time and effort on this one feature. We could then completely polish it with the input from the rest of the team. This focus gave us an enormous speed.",[11,1656,1657],{},"Another thing that made us super fast on the development side was reusing as much code and as many concepts as possible that already existed in the code base. This also allowed our new dev to get to know the codebase, use powerful abstractions, and learn by imitating what was already there.",[11,1659,1660,1661,1665],{},"Feel free to check out our new ",[293,1662,1664],{"href":1663},"/whats-new/release-35","table implementation"," and let us know what you think!",{"title":55,"searchDepth":56,"depth":56,"links":1667},[1668,1669],{"id":1614,"depth":56,"text":1615},{"id":1650,"depth":56,"text":1651},"2024-03-11","Mar 11, 2024","Explaining our process and why we think it's one of the best table implementations in any note-taking app.","/blog/how-we-developed-tables/tables-cover.jpg",[1675,1676],"Feature development","tables",{},"/blog/how-we-developed-tables","2 min",[74],{"title":1606,"description":1672},"blog/how-we-developed-tables","7fMYgPlcRfO9nXtEwOP-Tan_98apOd_KgV8I6kjoa_8",{"id":1685,"title":1686,"authorKey":1427,"body":1687,"category":1408,"date":1899,"dateFormatted":1900,"description":1901,"extension":62,"icon":63,"iconColor":63,"imagePath":1902,"keywords":1903,"meta":1907,"navigation":70,"path":1908,"readingTime":1679,"relatedArticles":1909,"seo":1912,"stem":1913,"__hash__":1914},"blog/blog/redesign.md","Our first redesign",{"type":8,"value":1688,"toc":1897},[1689,1692,1695,1701,1706,1709,1715,1718,1724,1730,1734,1737,1742,1748,1752,1755,1759,1762,1766,1769,1775,1780,1786,1790,1797,1802,1808,1813,1817,1822,1828,1833,1839,1844,1850,1855,1861,1863,1866,1887,1890],[11,1690,1691],{},"User interfaces need to constantly evolve to reflect the product, its feeling and the vision. We did a big redesign in Capacities and want to take you on a journey to explore the reasons behind it.",[11,1693,1694],{},"The most significant aspect we changed is lifting the content above the rest of the user interface. The content is the center of your work, which is now deeply rooted in the user interface. We don't want to distract our users by treating sidebars and secondary UI elements the same way as the content itself.",[11,1696,1697],{},[306,1698],{"alt":1699,"src":1700},"New page design","/blog/redesign/page.jpg",[1702,1703,1705],"h4",{"id":1704},"your-content-is-the-center-of-everything","Your content is the center of everything.",[11,1707,1708],{},"We created friendly, rounded-lg corners around the main content panel, set it apart with a small margin and lifted it up with 1) a shadow and 2) by giving the surrounding area a slightly darker background. The effect of this is striking. It subconsciously puts the primary content into the center of you attention and creates a much calmer, more focused working environment.",[11,1710,1711],{},[306,1712],{"alt":1713,"src":1714},"New database design","/blog/redesign/tweets.jpg",[11,1716,1717],{},"Screenshot of page in dark mode. Shadows don't really work in dark mode so the contrast with the background is stronger.",[11,1719,1720],{},[306,1721],{"alt":1722,"src":1723},"New page design in dark mode","/blog/redesign/page_dark.jpg",[11,1725,1726],{},[306,1727],{"alt":1728,"src":1729},"New database design in dark mode","/blog/redesign/tweets_dark.jpg",[1702,1731,1733],{"id":1732},"smooth-rounded-lg-corners-create-a-friendlier-interface-for-thinking","Smooth, rounded-lg corners create a friendlier interface for thinking.",[11,1735,1736],{},"We did not only add more roundedness to the main content panel but also to several other elements such as dropdown items and cards. This again makes the app friendlier and overall more pleasant to work with.",[11,1738,1739],{},[259,1740,1741],{},"Example of our main dropdown to reuse content.",[11,1743,1744],{},[306,1745],{"alt":1746,"src":1747},"Color code for reuse","/blog/redesign/reuse_color.jpg",[1702,1749,1751],{"id":1750},"metaphors-are-still-important-in-ui-design","Metaphors are still important in UI design.",[11,1753,1754],{},"A paper on a desk is still something many of us feel a deep connection with – and reminds us of deep and focused work. We want to bring the same feeling to our users when they are building and cultivating their knowledge.",[1702,1756,1758],{"id":1757},"less-lines-and-separators","Less lines and separators",[11,1760,1761],{},"We realized that too many lines in our UI were distracting and moved attention away from the actual content. So we tried to remove as many lines as possible and leave them only when they were both visually appealing and contributing to the understanding of the user interface and information architecture.",[1702,1763,1765],{"id":1764},"combining-calm-surfaces-with-colorful-accents","Combining calm surfaces with colorful accents.",[11,1767,1768],{},"We kept our calm, gray surfaces but tried to combine them with more colorful accents in several areas. Examples for this are tags, which initially get a random color.",[11,1770,1771],{},[306,1772],{"alt":1773,"src":1774},"Tags","/blog/redesign/tags.jpg",[11,1776,1777],{},[259,1778,1779],{},"Color accents in dark mode.",[11,1781,1782],{},[306,1783],{"alt":1784,"src":1785},"Tag page in dark mode","/blog/redesign/tag_dark.jpg",[1702,1787,1789],{"id":1788},"colors-should-be-semantic-where-possible","Colors should be semantic where possible",[11,1791,1792,1793,1796],{},"Since we don't use to many intense colors in the app, we try to use colors to convey a certain meaning that helps the user understand the user interface better. This is also referred to as ",[134,1794,1795],{},"semantic coloring",". Below are some examples.",[11,1798,1799],{},[259,1800,1801],{},"Creation of new content is color-coded in green.",[11,1803,1804],{},[306,1805],{"alt":1806,"src":1807},"Color code for add","/blog/redesign/add_color.jpg",[11,1809,1810],{},[259,1811,1812],{},"Reuse is color-coded in blue",[11,1814,1815],{},[306,1816],{"alt":1746,"src":1747},[11,1818,1819],{},[259,1820,1821],{},"Color codes are also visible in the hints",[11,1823,1824],{},[306,1825],{"alt":1826,"src":1827},"Color code also reflected in hints","/blog/redesign/hints_color.jpg",[11,1829,1830],{},[259,1831,1832],{},"Delete actions are color-coded in red.",[11,1834,1835],{},[306,1836],{"alt":1837,"src":1838},"Color code for delete","/blog/redesign/delete_color.jpg",[11,1840,1841],{},[259,1842,1843],{},"Color for emojis is violet.",[11,1845,1846],{},[306,1847],{"alt":1848,"src":1849},"Color code for emoji dropdown","/blog/redesign/emoji_color.jpg",[11,1851,1852],{},[259,1853,1854],{},"Adding tags get the color orange.",[11,1856,1857],{},[306,1858],{"alt":1859,"src":1860},"Color code for tag dropdown","/blog/redesign/tag_color.jpg",[1046,1862],{},[11,1864,1865],{},"That's it for this post.",[11,1867,1868,1869,1874,1875,1880,1881,1886],{},"Stay tuned for another one and make sure to follow ",[293,1870,1873],{"href":1871,"rel":1872},"https://twitter.com/capacitiesHQ",[297],"@capacitiesHQ",", my co-founder ",[293,1876,1879],{"href":1877,"rel":1878},"https://twitter.com/steffeBle",[297],"@steffeBle"," and me ",[293,1882,1885],{"href":1883,"rel":1884},"https://twitter.com/MvHohnhorst",[297],"@MvHohnhorst"," on Twitter.",[11,1888,1889],{},"And have a look at the new design yourself.",[11,1891,1892],{},[293,1893,1896],{"href":1894,"rel":1895},"https://app.capacities.io/register",[297],"capacities.io",{"title":55,"searchDepth":56,"depth":56,"links":1898},[],"2022-04-07","April 7, 2022","User interfaces need to constantly evolve to reflect the product, its feeling and the vision.","/blog/redesign/cover_redesign.png",[1904,1905,1906],"design","UI","UX",{},"/blog/redesign",[1910,1911],"how-to-create-the-knowledge-base-for-your-life","guide-to-pkm",{"title":1686,"description":1901},"blog/redesign","7NCKpHB6-Neam_4rfDVT9DI6o_6kw2qsTkW-wxDs1PY",1776250825136]