This is a submission for the MLH × DEV Writing Challenge. I built SlothSort during the online Hacktoberfest 2026 Week 3: Slow and Steady challenge.
What I Built
My Telegram sidebar had become a small task I kept postponing: deciding which chats and channels belonged together, then creating and maintaining the folders manually.
I started SlothSort on Wednesday, October 21. It connects to Telegram through MTProto, gathers context about the chats my account can access, and asks a local Gemma 3 model to propose folders. The important word is propose. Before anything changes in Telegram, I can review every assignment, move a chat elsewhere, rename a folder, or leave a chat unassigned. Only my approval creates Telegram’s native chat folders.
The source code and setup instructions are on GitHub.
Partner Technologies
Gemma 3 4B, running through Ollama, is the default classification engine. Telethon handles Telegram access through MTProto, while FastAPI serves the review interface.
That division matters: Gemma suggests a structure, but it cannot call Telegram’s API or create a folder by itself. The application validates the chat IDs in its response and waits for a human decision. Optional CLI-based model connectors exist, but I keep local Gemma as the default because Telegram conversations may contain other people’s messages.
Hackathon Experience
I joined Hacktoberfest’s online Slow and Steady challenge after the week had already begun. Its prompt—build with open-source AI to remove a task you dread—gave me a useful constraint. “Sort everything automatically” sounded convenient, but it would have been the wrong promise. A channel title can be ambiguous, a few recent messages can misrepresent a chat, and a model’s confidence score is only an estimate.
So I built the project around a review screen instead of an automatic sorter. Users can start with metadata and descriptions, then choose whether to include recent messages for better context. Uncertain suggestions wait for a decision; weak suggestions can remain unassigned. I also added an undo action for the latest folder creation, guarded so it will not delete a folder that has since been changed elsewhere.
The most useful lesson was that saving effort does not require removing the person from the decision. SlothSort takes on the repetitive first pass. I still decide what belongs in my Telegram account.
I described the implementation and its limitations in my original Week 3 submission. I have not measured a reliable number of minutes saved yet, and I would rather say that plainly than invent a productivity claim.
Top comments (0)