Streamlit hackathon

reflexión
Capitalizando la PyCon Chile
Author

sebastiandres

Published

November 19, 2021

A few weeks ago, the team behind streamlit invited me to take part in a hackathon with an education theme. I owe it all to the visibility achieved by the presentation I gave at PyCon Chile, where the presentation slides themselves were made in streamlit, and it was featured by streamlit on twitter. I feel very flattered that they invited me to participate.

The participation has taken place mostly in a dedicated channel on the streamlit team’s slack, and in a notion page where the explanations and teams are. Notion works incredibly well for collaborative texts, and being able to create automatic and linked templates is wonderful.

Friday November 19th was the project presentation for the hackathon. The projects had a great level; they surprised me a lot. An app that showed in streamlit everything written in a notion file, another that generated a streamlit app from a description using codex, and others that analyzed stock market or cryptocurrency data.

My project consisted of creating a library, which I called streamlit-book, that lets you navigate python+streamlit and markdown files, as well as defining a format for creating quizzes and activities (in markdown and python) using streamlit elements. My goal was to create a way to use streamlit to create and distribute course content.

I can proudly mention that it shared first place in the hackathon!

Since then, I’ve been working on packaging everything and making it fully functional: * The library is now available on pypi and installable via pip. * The library has documentation on readthedocs. * I’m writing a mini-tutorial (in English) so that streamlit can use it and thus spread my work. I made it thinking about explaining something simple, with charts, and that would be fun: Happy birds.

Some lessons from the hackathon: * I had a lot of fun writing code. It’s something I should do more often. Programming with GitHub’s Copilot also made me very productive; at times it perfectly understood the intent and completed the code very well. There’s incredible potential there. Surely the step from assembly to C, and from C/C++ to python must have been a similar (though smaller) conceptual leap. * Working alone means you don’t question your decisions. Agreeing on a format, discussing pros and cons, would have helped me not have so many doubts and changes during the project.

The fate of the library may be similar to the rest of my +70 repositories on github, with little traffic and more focused on my personal learning… but you never know, hopefully someone can make good use of it!