Meeting Notes App for Client Follow-up Emails

March 12, 2026 · MeetDone Team

Where this matters most Let's be honest, nobody gets excited about writing documentation. It often feels like a chore you do after the real work is finished. Fo

Meeting Notes App for Client Follow-up Emails

Meeting Notes App for Client Follow-up Emails cover image

Where this matters most

Let's be honest, nobody gets excited about writing documentation. It often feels like a chore you do after the real work is finished. For a lot of teams, especially small ones that sit together, you can get away with "tribal knowledge" for a surprisingly long time. If you can just turn your chair and ask Dave how the auth service works, why write it down?

This works right up until the moment it doesn't. And when it breaks, it breaks painfully.

The pain usually shows up in a few key places.

Onboarding new people. This is the big one. Without good documentation, bringing a recent engineer up to speed is a massive time sink for the rest of the team. They're stuck, unable to set up their local environment, unsure of the team's coding conventions, and constantly interrupting senior folks with questions that could have been answered by a well-written README.md. A 2-week onboarding process can easily stretch into 6 weeks. I've seen it happen. The cost of that isn't just the new person's salary; it's the lost productivity of every person they have to tap on the shoulder.

When things are on fire. At 2 AM, when a critical service is down and you're the on-call engineer, you don't want to be guessing. You need a clear, concise runbook that tells you exactly what the common failure modes are, what the key dashboards are, and how to restart the system safely. Hunting through old Slack messages or trying to remember what the person who built the service told you three months ago is a recipe for a much longer, much more stressful outage. Good docs in this scenario aren't a nice-to-have; they're a core part of your system's reliability.

Cross-team collaboration. As soon as your organization grows beyond a single team working on a single application, the quality of your documentation becomes a direct bottleneck. If Team A builds an internal API that Team B needs to use, Team B is blocked until they understand how to call it, what the authentication model is, and what the error codes mean. If that information only exists in the heads of Team A's developers, you've just created a human dependency that slows everyone down. Every question is a meeting or a Slack thread. This is where API documentation—clear, accurate, and discoverable—stops being optional.

Project handoffs and employee churn. People leave companies. Teams get re-organized. The team that built a service two years ago might not exist anymore. Or when a new team inherits that service, what do they have to go on? If the original team left behind a trail of well-documented architectural decisions, setup guides, and operational notes, the new team can get up to speed quickly. Side note: if they didn't, the new team is essentially forced into a forensic archeology project, trying to piece together the system's purpose from the code alone. This is incredibly slow and risky. You end up with "haunted graveyard" services that nobody wants to touch for fear of breaking something they don't understand.

So, yeah, documentation isn't the sexiest part of software development. But it's the professional grease that keeps the gears of a growing engineering organization turning smoothly. It's not about writing everything down; it's about writing the right things down to solve these very real, very expensive problems.

How to do it step by step

Alright, so you're convinced you need to fix your documentation. Where do you start? It can feel overwhelming, like you have to boil the ocean; you don't. Just follow a process. This is the chunk most people skip—they just buy a tool and hope it solves the problem. It won't.

Step 1: Figure out who you're writing for.
This sounds obvious, but it's the most common mistake. Are these docs for a brand new junior engineer joining the team?

Or for a seasoned architect on another team who needs to integrate with your service? The language, the level of detail, the assumed knowledge—it's all different. Docs for internal team members can be a bit rougher, full of jargon and links to internal systems. Docs for external consumers of your API need to be crystal clear, self-contained, and polished. Before you write a single word, ask: "Who is reading this, and what are they trying to do?"

Step 2: Audit what you have now.
Don't just start a new, empty wiki and declare victory (your mileage may vary). You probably have documentation already; it's just scattered everywhere. Take an hour and make a list. - What's in README.md files in your Git repos? - What's in your team's Confluence space or Notion? - Are fairly there important Google Docs floating around? - What about pinned messages in Slack channels? - Is anything documented in pull request descriptions or architecture decision records?

Just make a simple spreadsheet. Note the document, its location, and a quick guess at how stale it is (e.g., "Last updated 2 years ago"). This audit isn't about fixing anything yet. It's about understanding the scope of the problem. It also often reveals pockets of surprisingly good documentation you can build on.

Step 3: Define the "jobs to be done."
People don't read docs for fun. They come with a specific goal in mind. Thinking about these "jobs" helps you structure your content. The main categories are:
- Tutorials: These are for learning. Or they guide the user through a series of steps to accomplish a goal, like "How to set up your local development environment." They are very hands-on. - How-To Guides: These are goal-oriented. They provide a series of steps to solve a specific problem, like "How to add a new secret to the vault." They assume more knowledge than a tutorial. Put differently, Reference: This is for looking things up. Think API reference, a list of configuration options, or definitions of terms. For context, it should be accurate, dry, and easy to search. For context, Explanation (or Conceptual Guides): This is for understanding. It explains the why behind the system. "Why we chose Postgres over MySQL," or "An overview of our microservices architecture."

You need all four types. Trying to mash them together is how you get a 50-page document that's a terrible tutorial and an impossible-to-search reference.

Step 4: Pick a primary tool or platform.
Now, and only now, should you think about tools. The big choice is usually between a wiki-style system and a "docs-as-code" approach. We'll go deeper on this later, but the main idea is:
- The Wiki (Confluence, Notion): Great for collaborative, less-structured content that non-developers also need to edit. Think project plans, meeting notes, team policies. On a practical level, Docs-as-Code (Docusaurus, MkDocs, Next.js): Great for technical documentation that lives with the code. It's version-controlled, reviewed in pull requests, and can be automatically deployed. Perfect for API docs and setup guides.

You might end up using both, and that's fine. And the key is to have a clear rule for what goes where.

Step 5: Create templates and assign owners.
Don't just tell your team, "Go write docs!" They'll stare at a blank page. A template for a new service README. A template for an Architectural Decision Record (ADR). A template for a runbook. This lowers the barrier to entry and offers consistency.

Give them templates.

And most importantly, assign owners. A piece of documentation without an owner is already dead; it just doesn't know it yet. The owner is the person responsible for keeping it up to date. For docs-as-code, you can use a CODEOWNERS file. In a wiki, most tools let you assign a page owner. This creates accountability.

Step 6: Integrate it into your workflow.
Documentation can't be an afterthought. It has to be part of the development process. With that in mind, add a "Documentation" section to your pull request template. With that in mind, make "Update the relevant docs" part of your team's "Definition of Done" for a story. With that in mind, for a new feature, the code and the docs for that feature should be in the same PR. Speaking from experience, - Encourage people to link to documentation in code comments instead of explaining complex logic inline.

This makes documentation a small, continuous effort rather than a massive, painful project you have to do every six months.

Examples, workflows, and useful patterns

Talking about process is one thing; seeing how it performs in practice is another. So here are a few concrete patterns and workflows I've seen work really well.

The "Docs-as-Code" Workflow
This is overwhelmingly probably the most effective pattern for keeping technical documentation in sync with the actual code. Here's what it looks like:

  1. A developer starts work on a new feature in a Git branch called feature/add-user-billing.
  2. She changes the API, adding a new endpoint: POST /api/v1/billing. She writes the code for this in billing_service/handlers.go.
  3. At the same time, in the same branch, she opens the docs/api-reference.md file and adds a new section describing the POST /api/v1/billing endpoint, including the expected request body and possible responses.
  4. When she's done, she creates a pull request. The PR's file list highlights changes to both .go files and .md files.
  5. The code reviewer on her team checks the code logic and the documentation for clarity and accuracy. They might say, "Hey, you mentioned a user_id field in the docs, but the code expects userId. Let's make those consistent."
  6. Once the PR is approved and merged, a CI/CD pipeline job automatically runs. It uses a tool like Docusaurus or MkDocs to build a static HTML site from the Markdown files and deploys it to an internal URL like docs.mycompany.com.

The beauty of this is that docs are treated just like code. They're versioned, reviewed, and automatically published. The chance of them getting out of sync is massively reduced.

The "Wiki Gardener" Pattern
Wikis like Confluence and Notion are powerful, but they have a tendency to turn into digital junkyards. The "Wiki Gardener" is a role, not necessarily a full-time job, that helps prevent this.

Designate one person on the team to be the gardener for each sprint or month. So their responsibility isn't to write all the docs, but to tend to the existing ones. They might spend 2-3 hours every other Friday on tasks like:
- Checking for pages that haven't been updated in over 6 months and pinging the owner.

  • Archiving old project plans or meeting notes that are no longer relevant. - Creating index pages to better organize loose collections of documents. So - Standardizing page titles and adding labels for better searchability.

This simple, routine maintenance makes a huge difference. It keeps the wiki trustworthy and navigable, so people actually want to use it.

The ADR Pattern
This one is a game-changer for understanding the why behind your system. An ADR is a short text file, usually Markdown, that you check into your source code repository. Each file captures a single important architectural decision.

A simple ADR template looks like this:

```markdown

ADR 003: Use PostgreSQL for Primary Datastore

  • Status: Accepted
  • Date: 2023-10-26
  • Deciders: Alice, Bob, Carol

Context

We need a primary relational database for the new inventory service. The main requirements are reliability, support for transactional integrity, and a good ecosystem of tools. We considered MySQL, PostgreSQL, and CockroachDB.

Decision

We have decided to use PostgreSQL. We will use the managed AWS RDS offering to reduce operational overhead.

Consequences

* Positive:
* PostgreSQL has strong support for complex queries, JSONB data types, and geospatial features which may be useful in the future.
* Our team has prior experience with Postgres, reducing the learning curve.
* RDS handles backups, patching, and failover for us.
* Negative:
* MySQL has a slightly larger market share and community, which can sometimes mean more third-party tooling.
* RDS has a higher cost than running our own database on EC2, but we accept this for the operational benefits.
```

When a new developer joins and asks, "Why on earth are we using Postgres here?", you don't have to reconstruct a meeting from a year ago. You just send them a link to the ADR. It's an immutable log of your technical evolution.

Mistakes to avoid and how to improve

You can have the best intentions and the fanciest tools, but still end up with a documentation mess. It's usually because of a few common, very human mistakes.

Mistake 1: Treating docs as a one-time project.
You see this all the time. A team gets fed up with their bad docs, so they declare a "Doc-a-thon" or a "Docs Sprint." For one glorious week, everyone stops feature work and just writes documentation. They create a beautiful, comprehensive wiki. Everyone high-fives. Then, they go back to writing code. And six months later, the docs are hopelessly out of date, nobody trusts them, and they're right back where they started.

  • How to improve: Stop thinking of documentation as a project. It's not something you finish. It's a continuous process, like testing or code reviews. The only way to keep docs relevant is to build the habit of updating them in small increments, every single day, as part of the normal development workflow. A little bit every PR is infinitely better than a massive push once a year.

Mistake 2: Writing for yourself.
When you've been working on a system for months, everything about it seems obvious. You forget what it's like to see it for the first time. So when you write the docs, you skip over the "obvious" stuff: how to get the code, how to install the dependencies, what the core concepts are. You jump straight into the complex details. The result is documentation that's only useful to people who already understand the system.

  • How to improve: Get a fresh pair of eyes. The absolute best way to test your onboarding docs is to give them to a new hire and watch them struggle. Don't help them. Just take notes on every place they get confused or stuck. Their confusion is your to-do list for improving the docs. If you don't have a new hire, ask someone from another team to try and follow your guide.

Mistake 3: The giant, unmaintained monolith doc.
I'm sure you've seen it: a single, 50-page Google Doc or Confluence page titled "Project X Onboarding." It tries to explain everything from the business context to the deployment scripts. It's impossible to search, a nightmare to edit, and because it's so big, no single person feels responsible for it. Parts of it are three years out of date, but nobody dares delete them.

* How to improve: Break it down. Think in small, atomic units. One page per concept.
* A page for "How to set up your local environment."
* A page for "Architectural Overview."
* A page for "Coding Style Guide."
* A page for "Deployment Process."
Then, link them together. This makes each page easier to maintain, easier to assign an owner to, and much easier for a reader to find exactly what they need without wading through irrelevant information.

Mistake 4: No ownership.
This is the silent killer of all documentation efforts. If "the team" is responsible for keeping the docs up to date, then nobody is responsible. It's a classic tragedy of the commons. Everyone benefits from good docs, but nobody feels personally accountable for the effort of creating them, so the docs slowly decay.

  • How to improve: Be explicit about ownership. Every important page or section of documentation should've a named owner—either an individual or a team. In Confluence, you can set the page owner. In a docs-as-code system, you can use a CODEOWNERS file in your repo to specify that the @payments-team is responsible for the docs/payments/ directory. This clarity makes all the difference. When something is out of date, you know exactly who to talk to.

The big debate: Docs-as-Code vs. Wikis

When you decide to get serious about documentation, one of the first big decisions is where it should live. This usually boils down to a choice between two philosophies: putting your docs in a wiki or treating them like code.

There's no single right answer, and frankly, most healthy organizations use a mix of both. But understanding the trade-offs is key.

Docs-as-Code

This is the practice of keeping your documentation in plain text files inside your source code repository.

  • How it works: You have a /docs folder next to your /src folder. When you change the code, you change the corresponding Markdown file in the same pull request. A CI/CD pipeline then uses a tool to convert those Markdown files into a polished, searchable website.
  • Pros:
  • Kept in sync: The docs are versioned right alongside the code they describe. This is huge for accuracy.
  • Developer-friendly workflow: Engineers are already in their code editor and using Git. They don't have to switch context to a clunky web editor. The review process is familiar and powerful.
  • Automation: You can automate everything. Linter checks for broken links, auto-generation of API docs from code comments, automatic deployment on merge.
  • Cons:
  • Higher barrier for non-devs: Your product manager or technical writer might not be comfortable with the Git workflow of clone, branch, edit, commit, push, and PR.
  • Calls for a build step: You can't just hit "save" and see the changes. You have to run a local server or wait for a CI build, which can feel a bit slow.
  • Less collaborative for brainstorming: It's not a great tool for free-form, real-time collaboration like a Google Doc or Notion page.

My take: Docs-as-code is the superior choice for anything that is tightly coupled to the codebase. This means API reference documentation, architectural overviews of an exact service, and developer setup guides.

Wikis

This is the classic approach. You have a central, web-based system where anyone with permissions can create and edit pages using a WYSIWYG editor.

  • How it works: You log into Confluence or Notion, click "Create Page," and start typing. You can easily embed diagrams, tables, and link to other pages.
  • Pros:
  • Low barrier to entry: Anyone can use it. It's as easy as writing an email. This makes it great for getting contributions from everyone in the company, not just engineers.
  • Great for collaboration: Features like real-time co-editing and comments make wikis perfect for things like meeting notes, project plans, and brainstorming documents.
  • No setup required: It's a SaaS product. You just sign up and go.
  • Cons:
  • Becomes a mess: Without constant gardening, wikis inevitably become a sprawling, disorganized mess of outdated pages and broken links. Search becomes useless.
  • Disconnected from the code: This is the big one. The wiki has no idea when the code it's describing has changed. The docs go stale silently.
  • Developers often hate the editor: After working in a fast, keyboard-driven code editor, using a slow, mouse-heavy web editor can feel like torture.

My take: Wikis are best for process documentation and information that isn't tied to a specific version of your code. Think team charters, on-call rotation schedules, incident post-mortems, and high-level company roadmaps.

The Hybrid Approach: The Best of Both Worlds

You don't have to pick one. The most effective strategy I've seen is to use both, but with a very clear rule about what goes where.

The Rule: If the document describes the code in a specific repository, it belongs in that repository. If it describes how the team works or cross-cutting concerns, it belongs in the wiki.

This gives you a clear, easy-to-follow guideline that prevents confusion and gets you the benefits of both systems. Your API docs stay in sync with your code, and your project manager can still easily edit the product roadmap in the wiki.

How to compare options without wasting time

Okay, so you need to pick a tool or a system. With options, the market is flooded and you can spend weeks doing "analysis" that just leads to paralysis. Don't do that; here's a faster, more practical way to decide.

1. Don't start with tools. Start with your problems.
Resist the urge to open 15 tabs comparing Docusaurus vs. ReadMe.io vs. Notion. That's a waste of time. So in the beginning, go back to the audit you did What are the top 2-3 most painful documentation problems your team has right now? - Is it that your API docs are always wrong? - Is it that onboarding takes forever because the setup guide is broken? - Is it that nobody can find the runbook during an incident?

Frame your search around solving those specific problems. Think of it this way. This immediately narrows the field. If your main problem is stale API docs, a wiki like Confluence is probably not the right answer, and you can stop looking at it.

2. The "Three Buckets" Test
Categorize the documentation you need into three buckets. This will help you see if you need one tool or a combination. - Bucket 1: Reference Docs. This is stuff people look up. API endpoints, function signatures, CLI command flags. The key attributes are accuracy, precision, and searchability. Honestly, this bucket almost always points toward a docs-as-code solution, possibly with auto-generation from source code comments. To be clear, Bucket 2: Explanatory Docs. This is stuff people read to understand a concept. Architectural diagrams, "how our caching layer works," guides to the business logic. The key attributes are clarity, context, and good use of diagrams/visuals. This could live in either a wiki or a docs-as-code site. The choice depends on who needs to write and edit it. For context, Bucket 3: Process Docs. This is stuff people follow.

Team runbooks, on-call schedules, project plans, meeting notes. The key attributes are ease of editing, accessibility to non-developers, and collaboration features. This bucket strongly points toward a wiki like Notion or Confluence.

Looking at your needs through these buckets often makes the choice obvious. You might realize you need a docs-as-code tool for Bucket 1 and a wiki for Bucket 3, and you can just start there.

On a practical level, 3. Run a small, time-boxed pilot.
Don't try to decide for the whole company and migrate everything at once. That's a recipe for a year-long project that fails. Pick one team and one specific problem. For context, "Team Phoenix, for the next month, you're going to try documenting your service's API using MkDocs in your repo. We'll help you set it up. At the end of the month, you'll report back on what you liked and hated."
- "Team Bravo, for the next month, try using Notion for your incident runbooks instead of the Google Doc you're using now."

A one-month pilot is low-risk. If it's a disaster, you just throw it away. If it works well, you now have a real-world success story and a team of internal champions who can help you roll it out more broadly.

To be clear, 4. Use a simple scorecard.
If you're still stuck between two options, use a scorecard. But please, don't make a 50-row spreadsheet with weighted scores. Pick your top 3-5 most important criteria. Be specific. Not "Usability," but "Ease of contribution for developers." Then score your options.

That's just procrastination disguised as diligence.

With that in mind, criteria | Option A: Docusaurus | Option B: Confluence |
| -------------------------------------- | -------------------- | -------------------- |
| Ease of contribution for developers | 3 (High) | 1 (Low) |
| Guarantees docs/code are in sync | 3 (High) | 1 (Low) |
| Accessibility for non-technical folks | 1 (Low) | 3 (High) |
| Searchability across all docs | 2 | 2 |

This isn't scientific, but it makes your reasoning explicit and helps you have a structured conversation with your team. It forces you to articulate the trade-offs you're making.

Getting buy-in and driving adoption

This is the part everyone underestimates. You can design the most perfect documentation system in the world, but if nobody uses it, you've failed. A great system that people actually adopt is infinitely better than a "perfect" system that gets ignored.

Start with the pain.
When you try to sell this to your team or your manager, don't lead with "We should improve our documentation." That sounds like a chore. Lead with the pain you're trying


Related reading