LiveAPI v0 Devlogs
LiveAPI for Live Friendly API Documentation
LiveAPI is an AI-powered tool for building API docs from code repositories. It's user-friendly in design and has an API testing feature to execute APIs from the browser. When plugged in from the Github/Gitlab it can generate docs instantly.
Documentation is one of the most important factors in product success. Good documentation reflects on the quality of the service. Along with proper documentation, changes made in API code need to be updated occasionally. With LiveAPI, these processes are automated.
What Developers Need for Their Product
We need a documentation site for the APIs we build. There are a lot of open-source documentation providers like Swagger. But we need something better than an API reference dump. We need the doc to have excellent UI, search, execute APIs from the browser, and code generation with organized descriptions.
The developers should not get headaches while visiting API documents to discover the API they need and figure out what they need for implementation.
We identified that creating Swagger with open API spec increases the developer's burden each time a change is made to the API. We need something much simpler and straightforward.
Docs need to be created based on the backend API raw code. We use the code to update the docs instead of Swagger or any other intermediate format.
Humble Beginnings: Internal Documentation Problem
Over time we had internal projects, client projects, and backends where we used to have file-based collaborative API documentation. We store the APIs in individual files which can be tested locally or through a VS code extension using the Lama2 API client.
These files are stored in Git, which enables collaboration with APIs within the team. We decided to upscale this setup with a more reliable and simple one.
The concept of LiveAPI emerged gradually as we focused on enhancing Lama2, developing features like user-friendly interfaces and language improvements along the way. Since we found that the API document generation was more useful than others we decided on that. First, we started with a simple widget on Lama2 which is embeddable in the website and API docs. It will convert any API box element into an executable API Widget.
Current Evolution Of API Docs
Now LiveAPI is in the beta stage. We tested it in some existing open-source Django backend APIs. We started with some proof of concept setup. We were able to create API docs by focusing on the urls.py and views.py. But this is not universal for all backends. We contacted open-source project owners and integrated LiveAPI docs into their projects. This process was very useful in understanding the technical hurdles in documentation.
After that, we set up a server and spun up a few APIs to automate this setup. You can log in and connect to your project through Github or GitLab and generate API docs with a single click.
If you have a project in Django try LiveAPI for your project: https://liveapi.hexmos.com/
1. Code to Docs
Here is a demo in which LiveAPI converts a github repo to MkDocs API specification.
2. Github and Gitlab integration
In this demo, we can see the Gitlab and Github integration in LivAPI. You can also integrate a self-hosted Gitlab instance.
3. Auto Sync Changes in Repo
When a change is being made to the APi in code, the APi documentation is Automatically updated.
4. Execute APIs and Code Generation
Code Generation in different frameworks and Languages is supported.
Call for Beta testers. Be part of the community.
We are actively looking for early adopters and people with small dev teams. We need to understand the market better and focus on improvements. Product development is a long process of endless iteration. We need to figure out the problems faced by the customers and developers. If you are high-spirited about APIs and want to try out the product you can sign up to the discord server.
Here is the invite link: https://discord.gg/4GjTpvav
In Discord you will be able to communicate what further requirements and customizations you need for your respective project. We will be creating releases each week and updating you in the Releases channel.
Positive Impact of LiveAPI in the API development cycle
LiveAPI is evolving day by day. The impact it has on the developer's life is quite noteworthy. It saves the development team's valuable time and the end-user developer's productive implementation time. It helps in organizing your repositories; common issues like the "Empty Readme" experience can be minimized. Since it is so easy - you can plug all your API repos in and get instant docs.
I wrote an article on one of the most useful metrics in API documentation. The answer was the Time to First Call (TTFC). This is the total time taken for a developer to discover the API documentation and then implement the API himself/herself and obtain correct results.
This metric is one of the key things LiveAPI takes care of. This reduces the TTFC to less than 10 minutes for any programmer.
Upcoming Features
We are planning to go fully AI-powered. Whenever there is a change required to the API docs you need not change the docs manually. The AI will take care of all the customizations. You can create a prompt for the changes required fields in the docs.
The next important feature is multiple backend support. Currently, we have Django and Flask-based document generations. We need to create a universal generator, which can accept all projects/backends.
Need to implement a private runner feature to ensure the security of a private project, we need LiveAPI runners that operate within the company environment and safeguard all confidential information.
Our Docs are currently based on Mkdocs. We need something better neat and customizable.
These are all the features we plan to release in the upcoming days.
The End is the Beginning
What we know is a drop. What we don't know is an ocean. We need your constant support and thumbs-ups for this amazing journey. If you find this article interesting do check out liveAPI at https://hexmos.com/liveapi. Don't forget to join the discord server for updates and discussions.