💡 Inspiration

Burnout rarely announces itself.

It starts quietly. One late-night message. A skipped break. Another meeting added to an already crowded calendar. A demanding week slowly becomes a demanding month, and the boundaries between work and life begin to disappear.

By the time someone realises they are struggling, the impact on their mental wellbeing may already be significant.

Tap tap Burnout Cat

Yet the early signals are often already there—scattered across the tools we use every day. An increase in after-hours Slack activity. Rising escalations in Jira. Calendars overflowing with meetings. Weeks of sustained workload without enough time to pause and recharge.

Individually, these signals may mean very little. Together, they tell an important story.

And not everyone experiences the workplace in the same way. For some neurodivergent people, hyperfocus, losing track of time, or difficulty transitioning between tasks can make recognising when to pause and disconnect even harder. Support should adapt to different ways of working—not expect everyone to work the same way.

That inspired us to build Bloom — our privacy-first Silent Burnout Detector that recognises early patterns of workplace overload and offers timely support before overload becomes burnout.

Connect dots

Slack is where modern work already happens. Instead of asking people to adopt another wellbeing application or remember to check another dashboard, Bloom brings support directly into the natural flow of work.

Our vision is simple: Use AI not to monitor people, but to support mental wellbeing and create healthier, more inclusive and accessible workplaces

Bloom brings together workplace signals from Slack and external tools such as Jira, GitHub and calendars to understand how team working patterns change over time.

Privacy is fundamental to this vision. Bloom does not score, rank, or expose individuals. It identifies aggregated patterns across sufficiently large groups and transforms them into meaningful organisational insights.

The future of workplace AI should not be about watching people more closely.

It should be about recognising different ways of working, supporting mental wellbeing, and noticing when people need support sooner.


🔍 What it does

Bloom is a privacy-first Slack agent that helps employees build healthier work habits while giving managers anonymised insights into their team’s wellbeing.

Bloom

The experience begins directly inside Slack. A manager configures Bloom for a team channel and the agent automatically introduces itself to each team member through a private message. From the very first interaction, Bloom clearly explains what it does, what signals it uses and gives every employee the choice to opt in or opt out at any time.

Once configured, Bloom works quietly in the background through two core workflows.

🌱 Personal Wellness Support

Bloom periodically analyses workplace activity signals from Slack, GitHub and Jira to recognize patterns such as extended periods of work without a break or activity outside an employee’s preferred working hours.

These signals contribute to a Drain Score, which helps Bloom understand when a timely wellbeing nudge may be useful. When the Drain Score rises, Bloom reaches out directly through Slack with friendly, contextual suggestions. It might encourage an employee to step away from the screen, stretch, hydrate, or call it a day after working late.

water

For example:

Bloom Response

Bloom does not simply tell employees what to do. Interactive responses such as "You’re right, signing off" or "Finishing up" keep employees in control of how they respond.

The goal is simple: deliver the right nudge, at the right moment, without disrupting the flow of work.

📊 Privacy-Preserving Team Insights

Bloom also helps managers understand how their team is doing—without exposing individual employees.

At any time, a manager can request a team wellness report directly inside Slack. Bloom analyzes aggregated workplace patterns to provide an anonymised view of the team’s overall wellbeing, sentiment and mood.

Rather than overwhelming managers with another dashboard, Bloom turns these signals into clear, actionable insights. It helps answer questions such as:

  • Is the team showing signs of sustained overload?
  • Has the overall mood changed?
  • Are emerging patterns likely to create roadblocks?
  • Does the team need support before workload turns into burnout?

Sentiment Analysis

By combining proactive employee support with anonymized team-level insights, Bloom closes the loop between signal, support and action.

Employees receive timely, contextual wellbeing nudges.

Managers gain a clearer understanding of their team’s health without monitoring individuals. And it all happens where work already happens—inside Slack.

Wohoo


🛠 How We Built It

We built Bloom Agent as a Slack-native wellness platform using Bolt.js, powered by Google Gemini as the AI brain.

Architecture Diagram

At its core, Bloom operates as an AI agent — not a simple chatbot. When a message arrives, Gemini(AI brain) decides what actions to take: read a channel, check GitHub activity, analyze mood, or send a nudge. It chains multiple actions autonomously before responding. This gives Bloom the intelligence to handle complex requests like "how's my team feeling?" end-to-end without human orchestration.

For external integrations (Jira, GitHub, Outlook), we implemented a Model Context Protocol (MCP) client that auto-discovers tools at startup. Adding a new integration requires only authentication credentials and other configurations, which makes its architecture adaptable and pluggable.

The wellness engine runs on a 5-minute cycle. It checks each user's Slack presence, calculates how long they've been active, detects if they're working outside their configured hours and computes a drain score. When intervention is needed, Gemini generates a unique, caring nudge — delivered via DM with interactive buttons for accountability. Activity tracking aggregates signals from Slack (messages, reactions, presence), GitHub (commits) and Jira (ticket updates) into a unified per-user profile stored in Firebase Realtime DB. This multi-source view gives the wellness engine a holistic picture of workload — not just chat activity.

When the Team Manager asks for team sentiment, Bloom reads the channel, cross-references activity data and generates a rich report using Slack's native Block Kit — complete with bar charts, mood scores and attention flags — all on-demand, no scheduled noise.

The onboarding flow handles itself: install the app → Team Manager gets a config prompt → configures a channel → every team member receives a personalized greeting with opt-in/out buttons.

Privacy is architectural: Bloom cannot access private DMs between users. Team reports only reflect public channel sentiment. Individual wellness data (drain scores, active time) is never exposed to anyone — not even the Team Manager. Users choose to opt in or opt out at any time — the agent only monitors those who explicitly consent, respecting individual boundaries by design.

Tech Stack:

  • Slack AI Capabilities and Agent Builder — Slack App
  • Google Gemini — Agentic reasoning and tool orchestration
  • Node.js — Core application runtime
  • Bolt.js — Slack-native app development framework
  • Firebase Realtime DB — Data Persistence
  • Slack Block Kit — Interactive UI
  • Jira MCP — Ticket activity and workload signals
  • GitHub MCP — Developer activity and contribution signals

🧠 Challenges we ran into

  • Understanding Slack's Platform & Capabilities: Building on Slack was a new territory. We spent significant time navigating its event model (Events API vs RTM), understanding scopes and permissions, discovering Block Kit's native components (tables, charts, data visualisation) and learning what's possible vs. impossible (e.g., no access to screen time, no presence_change without RTM). This upfront investment shaped our architecture decisions fundamentally.
  • Choosing the Right AI Engine: For a hackathon, we needed an LLM that was smart, supported function calling and had a generous free tier. We evaluated OpenAI (expensive, no free tier for GPT-4), Claude (great but its Agent SDK locks you into Anthropic's ecosystem) and Gemini (free 15 RPM, native function calling, MCP-compatible). Gemini won — powerful enough for agentic workflows, free enough for rapid iteration.
  • Gemini Throttling During Testing: With Gemini's free tier capped at 20 requests/day per model, aggressive testing burned through quotas fast. We built a retry-with-exponential-backoff system and a model fallback chain (gemini-2.5-flash → gemini-2.5-flash-lite) that auto-switches when one model is exhausted — keeping the app alive even under rate limits.
  • Slack Doesn't Expose Private Activity: We wanted to track when users are chatting in DMs or other channels — but Slack architecturally prevents agents from seeing any activity outside channels they're invited to. We solved this by combining presence polling (users.getPresence) with message/reaction events across all channels the agent is in.
  • Button Interactions Lose Team Context: Slack's button interaction payloads don't reliably include team.id, causing opt-in/out actions to save under a "default" key instead of the actual workspace. We traced this through Firebase and fixed it by falling back to body.user.team_id.
  • Outlook Calendar as a Wellness Signal: We wanted to detect if a user is stuck in back-to-back meetings and factor that into their drain score — but Microsoft Graph API requires Azure AD setup with no straightforward free tier for development. After hitting authentication walls and tenant configuration issues, we deferred it to future scope.
  • User Lookup Across Integrations: Jira searches by email worked seamlessly — but GitHub's commit API doesn't reliably match users by email alone (many developers use different emails for commits). We solved this by prompting users for their GitHub username during opt-in and storing it in Firebase, giving us accurate commit attribution across repos.

🎯 Accomplishments that we're proud of

Yayy

We’re proud that Bloom grew from a simple idea into a working AI agent that addresses a real-world challenge: recognising unhealthy work patterns before they turn into burnout.

  • 🤖 Built a truly agentic Slack experience: Bloom uses Gemini to reason, autonomously select and chain tools, analyse workplace signals and take meaningful action directly inside Slack.
  • 🔗 Connected workplace systems through MCP: We integrated Slack, GitHub and Jira signals into a unified wellness engine, while building an extensible MCP architecture that can easily grow to support more workplace tools.
  • 🌱 Turned AI insights into real-world impact: Bloom goes beyond analysing data. It proactively delivers contextual wellbeing nudges at moments, employees may need them most—helping encourage healthier work habits before sustained overload becomes burnout.
  • 🔐 Designed for privacy and employee trust: Individual wellness data is never exposed to managers. Team insights are anonymised, private conversations remain inaccessible and employees stay in control through explicit opt-in and opt-out choices.
  • 🎨 Created a Slack-native experience: From automated onboarding and interactive wellness nudges to on-demand team reports, Bloom’s entire experience lives naturally inside Slack—without introducing another dashboard or disrupting existing workflows.
  • 📊 Balanced individual wellbeing with organisational insight: Bloom supports employees personally while giving managers actionable, privacy-preserving insights into team wellbeing—a balance we believe is essential for creating meaningful and responsible workplace AI.

Above all, we’re proud to have built an agent that demonstrates a simple idea: AI can help organisations care for people without monitoring them.


📚 What we learned

Building Bloom taught us that wellness tooling isn't just a feature — it's a design philosophy. Every architectural decision had privacy implications and we learned to think about data boundaries before writing code, not after.

We deepened our understanding of Slack's platform, from its event-driven model and Block Kit's rich native components (charts, tables, interactive buttons) to its hard boundaries — what an agent can and cannot see. Understanding these constraints early helped us design a system that works with Slack's security model rather than fighting it.

The MCP (Model Context Protocol) was a revelation — the idea that integrations can be plug-and-play, auto-discovered at runtime, with zero glue code. We learned how to build systems that grow without refactoring, where adding a new data source is configuration, not engineering.

We learned that activity tracking is nuanced. A message count doesn't equal workload. Presence doesn't equal engagement. Combining multiple signals (Slack, GitHub, Jira, presence) into a single drain score required careful weighting — and we're still iterating on getting it even better.

Perhaps most importantly, we learned that the best wellness tools are invisible. They don't demand attention, don't create noise and don't feel corporate. They just show up at the right moment with the right words — and that balance between helpfulness and intrusion is harder to nail than any technical challenge we faced.


🔮 What’s Next for Bloom

Bloom

We see Bloom evolving into a proactive wellbeing layer for the modern workplace.

Next, we plan to integrate calendar signals to identify meeting overload, improve the Drain Score with smarter and more personalised patterns and expand Bloom’s MCP ecosystem to support more workplace tools.

Our long-term vision is simple: help organisations recognise unhealthy work patterns earlier, while keeping employees informed, supported and firmly in control of their data.

We want Bloom to help build workplaces where people feel supported, teams grow stronger and everyone has the opportunity to thrive. 🌱

Built With

Share this project:

Updates