Projects
I have two projects currently out and running in the wild; they’re both group management bots on telegram, and are free to use (entirely funded by donations!):
- Marie: a fully modular group management bot written in Python. Has now been replaced by Rose. Over 5 million users at time of sunsetting.
- Rose: a scalable, golang based group management bot. Essentially a fully concurrent, re-engineered version of Marie, learning from all my previous mistakes. Used by over 320 million users in over 7 million chats, and still growing!
Running these bots have taught me a large number of technical skills which I’ve been able to reuse in my professional life, such as:
- Operating production VMs.
- Running baremetal kubernetes clusters. This is where all my non-critical infrastructure lives.
- The importance of monitoring, alerts, metrics, and dashboards. I host my own grafana, and am constantly adding more metrics to improve visibility.
- Using gitops workflows to ensure consistency of various clusters.
- The use of CI to test, enforce codestyles (through common linters), and find common errors (with various static checks).
Along with technical skills, these projects have also taught me how to interact with large communities, providing support and help to anyone who would like to make use of the bots.
Other projects that I am/have worked can be found here:
- https://github.com/PaulSonOfLars/gotgbot -> an open-source go implementation of telegram’s bot api. Entirely auto-generated from the telegram bot API docs. This is the library used by Rose, and is under constant development.
- Rose -> this project is closed source, but has been growing steadily since its creation.
- https://github.com/PaulSonOfLars/tgbot -> a modular group management bot for telegram, built in python. (This is the code for Marie, mentioned above)
- https://github.com/PaulSonOfLars/gotg_md2html -> a go parser compatible with telegram’s markdown, allowing for easy extension.
A few group projects I’ve worked on:
- https://github.com/PaulSonOfLars/ImperialDefense -> baremetal tower defense game on raspberry pi
- https://github.com/PhoneMapWebApps -> a university side project where a team of friends and I attempted to recreate a seti@home clone aimed at mobile phones.
- https://github.com/WhiteboardLiveCoding -> another university project, where we created a web app capable of transcribing handwritten python code to a file and executing it. Built with an aim to be language agnostic, but only every implemented python.
And finally, some hackathon projects:
- https://github.com/PaulSonOfLars/quakespasm -> ICHack 2017: port of quake to oculus rift
- https://github.com/ICHack18 -> ICHack 2018: created a “safespace” for sensitive internet users to censor particular images from their browsing. Used Microsofts’ image recognition api to power a chrome extension with a docker based go backend.
- https://github.com/bluff-kerfuffler -> ICHack 2019: created a Cisco webex bot to allow for biometric authentication in sensitive chats. Powered by AimBrain’s authentication API.