My BetterDiscord Journey

1/10/2026, 10:02:28 PM — A journey of becoming the lead developer of BetterDiscord.

Preamble

I have been using Discord since 2018. For most of that time I was using client mods. BetterDiscord being my first client mod!

Because of BetterDiscord I started to learn CSS to style Discord UI. After some time I switched to using powercord where I learned how to program in JavaScript to make plugins.

With my knowledge between those 2 languages, I went on to create multiple plugins/themes (for several client mods) and some personal Discord client mods. While doing that I learned a lot about Discord internals.

Because of BetterDiscord being my first mod it was always inspiration for me. When developing my own personal client mods, I looked at BetterDiscord to see how things were done. For a client mod called Vizality, I even made a compat layer for BetterDiscord so you can use BetterDiscord plugins within it.

How it all actually started

While working on a personal client mod, VX, I was implementing a theme store to download themes from the BetterDiscord website. As I was developing it, I added a feature to embed BetterDiscord theme links in chat. When I was talking to a contributor of VX, Zrodevkaan, I was showing him the theme embed. Due to a communication mistake with them, where they thought it was for BetterDiscord itself. That demo was sent to Zerebos (owner of BetterDiscord). Because of the negligence, I ended up remaking it all over for BetterDiscord. It took nearly 3 months to make the builtin addon store and have it pulled into the client codebase. The original version had several unexpected bugs, most of which were fixed.

With that incident I started to get more involved with BetterDiscord as whole. I started to involve myself with the community side and the development side of BetterDiscord. While for the most part neglicting my own personal client mod.

With me neglicting VX, it was mostly Zrodevkaan working on it. Then Discord made @discord/intl and pushed it to the client. With that change it broke roughly 70% of my client mod. Zrodevkaan made a fix for it, but with discord constantly changing everything I decided to stop working on it. So I switched fully to BetterDiscord, Zrodevkaan joining me too.

With mine and Zrodevkaan development for BD, it had help spark Zerebos development again for BetterDiscord. Which lead to a major file structure change and conversation to TypeScript. Additionally it lead to other BetterDiscord softwares getting rewrote / worked on.

Since that incident I mostly ended up mostly doing bug fixes, random QoL, and implementing smaller apis.

After a while doing that, I was invited to join the core team. This is where most of my development for bd has happened.

Types of things I did

Bug Squashing
  • Addon Store Bugs
    Fixed addon links being pulled from codeblocks
    Fixed the install modal from not closing when it errored
  • Crashing
    Fixed a bug that caused Discord to crash when mentioning a discord bot
    Fixed a bug that caused Discord to crash when using a command with options
Quality of Life
  • Webpack API rewrite in TypeScript
    Made general module searches faster by nearly 2x
    Made store lookups ~5500x faster
  • Code Editor QoL overhual
    Added multiple settings to help edit the Monaco editor
    Added the footer from Visual Studio Code
API Addtions
  • React Helpers
    Added 3 react hooks for varius tasks
    Added a few react utils to BdApi.ReactUtils
  • Webpack
    Added several filters to help find modules
    Added varius API's requested by addon developers

I was reached out with the possibility to take over BetterDiscord by Zerebos. I stated I would be open to it, if only Zerebos was okay with it. After a while Zerebos decided it would be beneficial for BetterDiscord to hand over the main client development to me.

After the initial transition I managed to mess up the 1.13 release after trying to implement a minor fix. This caused a several hour issue for BetterDiscord, which ended up with Zerebos fixing it. After that there was only 1 other bad release due to my negligence and confusion. Since then there has been no issues.

With me becoming lead developer I have welcomed 2 other people to join the BetterDiscord core team. They are DaddyBoard and TheLazySquid. Those two will both be helping with the addon life cycle, helping clear out old and abandoned addons amongst other things. Additionally, DaddyBoard will be helping with PR and other general community management.

In conclusion, I managed to become the lead developer of BetterDiscord because of an accident.

I highly recommend reading Zerebos's blog on this Passing the Torch: The Future of BetterDiscord