---
title: "Introducing Teams — Shared Productivity Dashboards"
description: "xeve now supports teams. Create a team, share an invite link, and see aggregated productivity metrics across your group — without compromising individual privacy."
date: "2026-03-16"
app: orma
category: "building-xeve"
readingTime: "4 min read"
---

<p>xeve started as a solo tool — personal analytics for one person. But developers do not work alone. Teams ship code together, and understanding team-level patterns is just as valuable as understanding your own.</p>

<h2>How Teams Work</h2>

<p>Creating a team takes 10 seconds. Go to your dashboard, click "Create Team," name it, and you get an invite link. Share the link with your team — no email invitations needed, no approval workflows. Click the link, join the team, done.</p>

<p>This was a deliberate design choice. Email-based invitations add friction and fail when people use different emails for work accounts. A simple link is faster and more reliable.</p>

<h3>What Teams See</h3>

<p>Team dashboards show <strong>aggregated</strong> metrics:</p>

<ul>
<li><strong>Total team coding hours</strong> — how much the team coded today, this week, this month</li>
<li><strong>Average productivity score</strong> — the team-wide productivity trend</li>
<li><strong>Top team projects</strong> — which codebases the team is spending the most time in</li>
<li><strong>Activity heatmap</strong> — when the team is most active, visualized across the week</li>
</ul>

<h2>Privacy by Design</h2>

<p>Individual data stays private. Team members cannot see each other's specific app usage, window titles, music, health data, or personal metrics. The team dashboard shows only aggregated numbers — totals and averages across members.</p>

<p>This is non-negotiable. xeve is a personal analytics tool first. Teams are an opt-in layer on top, and they never compromise the privacy of individual data.</p>

<h3>Row-Level Security</h3>

<p>Team data isolation is enforced at the database level via Supabase RLS policies. Team members can only query aggregate functions that return team-wide totals. Direct access to another member's rows is impossible — the database rejects the query before it executes.</p>

<h2>Use Cases</h2>

<p>Teams work best for small engineering groups (2-10 people) who want lightweight visibility into collective productivity without the overhead of enterprise tools. No Jira, no project management, no sprint ceremonies. Just data.</p>

<ul>
<li><strong>Startup teams</strong> — see if the team's coding output is increasing week over week</li>
<li><strong>Open source maintainers</strong> — understand contribution patterns across collaborators</li>
<li><strong>Accountability groups</strong> — developers who want shared motivation without surveillance</li>
</ul>

<p>Create your first team from the <a href="https://orma.xeve.io/dashboard/team">team dashboard</a>.</p>
