We use Swagger specification (automatically generated using annotations in Java) and generate Slate documentation from Swagger specification for API documentation. (<a href="https:&#x2F;&#x2F;api.rakam.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;api.rakam.io&#x2F;</a>). We also use markdown for generic (tutorials, technical etc.) documentation and render the markdown files fetched from Github in documentation page using JS. Since everything is dynamic, we don&#x27;t need to worry about updating the documentation page, we just update README files of repositories, add documents to our documentation repository and the documentation page is always up-to-date. (<a href="https:&#x2F;&#x2F;rakam.io&#x2F;doc&#x2F;" rel="nofollow">https:&#x2F;&#x2F;rakam.io&#x2F;doc&#x2F;</a>).