# V2MOM

A multi tenant goal platform. A super admin sets up each company, and every company gets an AI copilot that never gets a shortcut past the rules a person has to follow.

Year: 2026
Stack: Next.js 16, Convex, @convex-dev/agent, AI SDK 6, OpenRouter

## 01 / The problem

Most goal tracking lives in a spreadsheet. Someone sets a weight for a goal once, and nobody looks at it again. As a company grows, keeping the whole organization pointed at the same goals turns into a slogan, not something the tool actually checks. And once AI is part of the tool, someone has to know what it costs and which model to trust.

## 02 / What I built

- **A super admin for every company** Create an organization, invite its first admin, then activate, deactivate or delete it, all from one platform dashboard.
- **A plan for every level** Each company writes V2MOMs for the whole org, each department, each team and each person, with weighted methods and progress check ins.
- **One map of the whole company** An alignment map shows how a goal at the top connects to the work happening underneath it.
- **A copilot on a leash** It answers questions, updates progress and drafts plans. Every change waits for a person to confirm it.
- **AI usage you can see** Turns, tokens, cost and latency across every company, with spend by model and how each write action ended.
- **Benchmarks before a model change** Run models and effort levels against a frozen test company, set a cost ceiling, and read a scorecard that puts safety first.

## 03 / Key decisions

### 1. One gate for every write

The AI never gets its own path into the data. Every AI action calls the same gated backend action the screens use, so there is one place to check permissions, not two.

### 2. Safety first, then quality, then cost

When picking a model, safety ranks above quality, and quality above cost. That can cost more per call, but it stops an unsafe answer before it stops an expensive one.

### 3. One schema for the form, the action and the AI

The manual form, the backend action and the AI tool arguments all share one schema. It costs more setup time, but it stops the three from drifting apart.

### 4. Run first, grade later

A benchmark run records every answer, and grading is a separate step. Fixing a grader costs no API calls, so a bad rubric never means buying the whole matrix again.

### 5. Usage and benchmarks live on separate pages

Live cost across real companies is one page. The benchmark against a frozen test company is another. On one screen, people read a benchmark score as the reason for a real bill.

## 04 / Screens

_The copilot drafts a plan. A person still reviews it and saves it._

_One map shows how each plan links up to the one above it._

_A check in moves a measure toward its target and sets its status._

_The form assistant fills in fields, but it never saves without you._

## 05 / Outcome

V2MOM runs as a private platform with many companies on one system. Every screen and every AI action share the same rules, so a permission bug shows up once instead of twice.

A parity test built to check this caught 2 real authorization bugs on its very first run.