Commitvane: weekly forecast calls and pipeline charts for a sales team

Commitvane: weekly forecast calls and pipeline charts for a sales team

00 Markdown

Reps update deals and submit weekly calls. Managers track commit, best case and weighted pipeline against quota in live charts.

Agent specs

Agent
Claude Code, Opus 5.5 Medium
Time
17 min
Cost
$6.05*

Agents work faster and more accurately on Elements.

* Cost at API rates, September 2026.

Run it yourself

Paste this prompt into your AI agent. You get the finished app on your own machine, ready to change however you like.

Agent Chat
Install elements:
curl -fsSL 'https://install.elements.dev?os=darwin' | sh && export PATH=~/elements/bin:$PATH

Create an Elements app from the elementscode/demo-commitvane scaffold:
cd ~/elements/projects
elements create commitvane -scaffold=elementscode/demo-commitvane
cd commitvane

Start the app.

Need an AI agent?

In AI desktop apps, paste into the Code tab, not the general chat.

How it's built

Commitvane needed rep and manager accounts, a dashboard that moves as reps edit deals and submit calls, charts drawn from live numbers, and a weekly snapshot job. Each of those is a part of Elements, so the agent spent its 17 minutes on the forecast math itself.

What Elements gave the app

  • A live manager dashboard. Deal edits and weekly calls notify a channel, and the manager's dashboard re-reads its numbers, so tiles, the call-versus-deals table and charts update within a second of a rep's change.
  • Charts that redraw. Each chart mounts when its canvas appears on the page and redraws when the numbers change. The charting package came in with elements install.
  • Edits as function calls. Reps update deals and submit weekly calls, and managers set quotas and stage probabilities, through @rpc functions called straight from the page. Marking a deal closed moves it to closed won in the same update.
  • A weekly snapshot job. A one-line cron schedule runs a job every Monday at 7am that records each rep's numbers for the week, so the week-over-week chart has history.
  • Forecast math in SQL. One query sums closed, commit, best case and pipeline per rep and weights each deal by its stage probability. Reps and managers each sign in to their own pages.
  • Data from SQL files. Migrations define the schema and seed two managers, eight reps with quotas, sixty deals, and eight weeks of snapshots and calls. The project server applied each one as soon as it was saved.

What the project server gave the agent

The project server runs alongside the agent and answers as soon as a file is saved: it type-checks the templates, TypeScript and SQL, applies migrations and reruns the tests, so every question came back right away and the agent kept building.

What shipped

The app type-checks with zero errors and all 18 tests pass. Every page works on desktop and phone, and live updates arrive across sessions, such as a rep's deal edit or weekly call appearing on the manager's open dashboard.

The code

Build it from scratch

To watch your agent build this app from an empty project, use the prompt we used instead. It takes longer than starting from the finished app above.

Agent Chat
Install elements:
curl -fsSL 'https://install.elements.dev?os=darwin' | sh && export PATH=~/elements/bin:$PATH

Create an Elements app:
cd ~/elements/projects
elements create commitvane
cd commitvane

Start the app, then build this:

Build a sales forecasting tool named commitvane for a sales team of eight reps and
two managers.

REP
- Log in, see their open deals: account, amount, stage, close date,
  forecast category (pipeline, best case, commit, closed).
- Update a deal's amount, close date or category.
- Submit a weekly call: their commit and best-case numbers for the quarter.

MANAGER
- Quarter dashboard: quota, closed won, commit, best case, pipeline, and a
  weighted forecast (amount x stage probability), for the team and per rep.
- Charts: closed won against quota by week (line), forecast by category per
  rep (stacked bar), and how the team's commit has moved week over week.
- A table of every rep's call next to what their deals add up to, with the gap
  highlighted.
- Set quotas per rep per quarter and stage probabilities.

Every Monday at 7am, snapshot each rep's numbers so the week-over-week chart
has history.

Use Chart.js for the charts.

Seed two managers, eight reps with quotas, sixty deals across stages and
categories this quarter, and eight weeks of snapshots. Show the seeded logins
on the sign-in page.

Deal edits and submitted calls update the manager dashboard in real time.

The weekly digest

New lessons, demos and posts from elements.dev, in one email a week.

Comments· 0