# How to write really good docs (with Dan Jutan) — Learn With Jason
Summary of what I learnt from the twitch stream of [@jutanium](https://twitter.com/jutanium) and [@jlengstorf](https://twitter.com/jlengstorf)
-- by [@HarshAgar29](https://twitter.com/HarshAgar29)
## Introduction
- Docs should be treated as a Product. It is their own product and it is for everyone
- Write like a product manager and not like a content writer
- Don't describe something, teach it.
- Maintenance is much more difficult than writing. You need to keep on rewriting it
- Docs are supposed to be official bible thus devs should be able to trust it no matter when they were written.
Everyone learns differently as they create a different mental model while learning. Some learn through visual models while some learn analytically. So learning things from a different perspective will be a great thing for people.
## Real World Example:
GitHub Repo: [learnwithjason.dev](https://github.com/learnwithjason/learnwithjason.dev)
[Do contribute to the project]
- Who are going to be the users of this docs.
-- Hobbyists
-- People on the team who use the project
- APIs fit with existing paradigm so it is easy to create docs for
- Learning more about docs: https://diataxis.fr/
-- Tutorials:
--- Learning Oriented. Teaching concepts
-- How to Guides:
--- Step by step guides but more specific based on user
-- Explanation:
--- Understanding Oriented page
-- Reference:
--- Information Oriented. Need to document everything but surface level
- As an alpha product, it is better to go for Tutorials and Reference because it needs to grow community with Tutorial and References are heavily needed which can also be automated a lot.
- Go for a README.md instead of a docs site for small projects. For Monorepo with lots of READMEs, put READMEs to the sub folders and link it with the main repo. It will act as a docs site.
- Have a toolkit to write docs (Eg: Hackmd)
## Work done in the Docs
- Moved the API docs to a different README.md and linked it with the root README.md
- Pointed out what the API can do as a product for the users in bullet points. Created an outline before the details.
(solidjs/solid-routers) -> It introduced the concept of routers before going for Getting Started and kept references at the end.
- Talked about the importance of Types and where it should be kept in the docs. Using automated tools is recommended here to create automated docs from types.
-- Design question: Should the user know TS as a pre-requisite or should anyone be able to use this API.
- Docs are here to help everyone but the docs creator can deviate from it based on the API design.
- Create more and different APIs in open source so that more apps can be built
-- Personal Take: Will definitely try making a Podcast API
- Learn from people doing their job with apprenticeship model. Following people on twitter who are doing work in the real world will teach a lot more than some teacher.
## References
- [People to follow Tweet](https://twitter.com/jutanium/status/1645052043655016448)
- [Rachel Nabors on Changelog](https://changelog.com/person/rachelnabors)
- Resource to learn about writing Docs: [diataxis](https://diataxis.fr/)
- Toolkit for working on markdown: [Hackmd](https://hackmd.io/)