Skip to main content

Intern Dashboard

The Lunar Interns Dashboard provides real-time visibility into all agent instances, their work, and activity. URL: intern-dashboard-blush.vercel.app

Authentication

Sign in with your @lunarsolargroup.com Google account. Only LSG email addresses are allowed — enforced at both the OAuth and application level.

Overview

The main dashboard shows four stat cards:
StatDescription
Total InternsNumber of spawned agents (with busy count)
Active TasksIn-progress Linear tickets (with completed count)
Open PRsPRs waiting for review (with merged count)
Activity (24h)Actions logged in the last 24 hours

Tabs

Interns

Grid of agent cards showing:
  • Status indicator — green (ready), amber (busy), blue (provisioning), red (error)
  • Current ticket — the Linear issue being worked on
  • Slack channel — linked to the agent’s private channel
  • Last heartbeat — when the agent last checked in
  • Capacity bar — active tasks vs max capacity
Filters: Click status pills to filter by Ready, Busy, Provisioning, Error, Offline. Click any agent card to open the detail view.

Tasks

Table of all Linear tickets assigned to agents:
ColumnDescription
StatusQueued, In Progress, Review, Completed, Failed
IssueLinear identifier (e.g., MC-939)
TitleIssue title
AgentWhich intern is working on it
BranchGit branch name
StartedWhen work began

Pull Requests

Table of all PRs created by agents:
ColumnDescription
StatusOpen, Changes Requested, Approved, Merged, Closed
RepoRepository name
PRLink to GitHub PR
TitlePR title
BranchFeature branch
CreatedWhen the PR was opened

Activity

Two visualizations plus a feed:
  • Bar chart — 7-day activity histogram
  • Donut chart — agent status distribution
  • Activity feed — real-time log with action-specific icons
Activity types: spawned, task_started, task_implemented, review_addressed, error

Agent Detail View

Click an agent card to see its full profile:
  • Info panel — hostname, dashboard URL, Slack channel, Linear label, server IP, capacity
  • Tasks table — all tickets assigned to this agent (active + completed)
  • Pull Requests table — all PRs opened by this agent
  • Activity feed — agent-specific activity log
All data updates in real time via Supabase Realtime subscriptions.

Spawn from Dashboard

Click Spawn Intern in the header to create a new agent. See Spawning for details.

Tech Stack

LayerTechnology
FrameworkVue 3 + TypeScript
UIShadCN-Vue + Tailwind CSS
ChartsChart.js + vue-chartjs
AuthSupabase Auth + Google OAuth
DataSupabase (Postgres) + Realtime
HostingVercel
Spawn APISupabase Edge Functions