Upload your Asciinema terminal recording and convert it into documentation that you can share with your friends or colleagues. This project is created under the mentorship program of The Human Feedback Foundation and Linux Foundation, with mentors Julia Longtin and Arthur Wolf.
Access our hosted webapp here or watch our demo! *Note that the generation feature may not work fully as the models are not hosted due to usage limits.
Our webapp is built on Next.js with a PostgreSQL database. Our model pipeline is currently hosted using Google Colab Pro and exposed to the backend using an Ngrok tunnel.

- Parser 0 converts the Asciinema recordings into XML format for easier processing.
- Model 0 (Boundary Detection): As illustrated in the architecture diagram, Model 0 receives pre-processed XML input from Parser 0. It constructs the sliding-window prompts and feeds them into our fine-tuned Microsoft Phi-4 model to sequentially predict event boundaries. Once all boundaries for the session are identified, the timeline is handed off to Parser 1.
- Parser 1 (Event Tagging): Acting as the bridge between the two models, Parser 1 utilizes the boundaries predicted by Model 0 to segment the raw XML. It wraps the relevant XML blocks with event tags, converting the continuous stream into "Tagged Events."
- Model 1 (Event Annotation): This phase takes the Tagged Events generated by Parser 1. By analyzing the contextual relationships and dependencies between neighboring events, Model 1 generates a natural language annotation and assigns a hierarchical depth level to each distinct event.
To learn more about how the models are fine-tuned and deployed, visit the following resources:
- Model 0 README: View on GitHub
- Guide to Thinking Tokens: View on GitHub
- Training Dataset: Jaiccc/model0_boundary_predict_streaming (Hugging Face)
- Final Model Weights: Jaiccc/model_0_streaming_timestamp (Hugging Face)
To learn about the architecture, features, and setup of the webapp, visit:
- AutoDocs Webapp README: View on GitHub
Read our full paper here (To be added).