Until now, we were relying on a tool that just couldn’t keep up as the company grew – it was buggy, hard to tweak, gave messy exports, and ran on outdated tech. Basically... not great. So we decided to build our own tool from scratch. And that’s how BudgetBot was born.
🤔 So what should BudgetBot actually do?
From a user point of view, it’s a simple app. One click in Slack shows your current Benefit Budget points, and if you open it up, you can also check your full history of deposits and withdrawals. But the backend logic? That’s a whole different story – multiple currencies, different start dates for deposits, recurring withdrawals, various use cases for the budget, matching it with employee IDs, syncing with other internal systems...

đź’ˇ From idea to reality
The very first kick-off was way back in October 2022, but then came a bunch of delays. Things finally took off properly at the start of 2024 when BudgetBot got the green light. The dev work landed with the Purple.LAB() team – specifically Team M. They usually handle monitoring, investigations, and bug fixing, but also jump on improving existing tools or, like this time, building brand-new internal tools.
“This was an awesome opportunity for Team M. We’re all super grateful for it. It’s something bigger than our usual small tasks. We ran the analysis ourselves and, with help from other volunteers in Purple.LAB(), we saw the project through from start to finish. I think everyone in my team is pretty hyped about BudgetBot.”
– Daniel Urban, Team M Lead

⚙️ What’s under the hood?
âś… Serverless architecture on AWS
✅ Monorepo – same style as other Purple.LAB() projects
âś… Frontend: NextJS, React, Typescript
âś… Backend: AWS Step Functions, GraphQL API, MongoDB
The biggest challenges? Things like calculating recurring deposits and withdrawals, setting up a proper permission system (so roles and access are safe and sound), and integrating the whole thing into Slack so it runs right in the chat.
And what’s our favorite part? Everything calculates in real-time. Every time you open it, you get fresh numbers – no outdated tables, no bloat, and (almost) no waiting. Just fast & fresh. 🔥
#PurpleTeam #BudgetBot #BuiltByPurple đź’ś
