Desktop Pro
The full picture,
on your machine.
Overview, file drill-in, metric documentation, historical analysis, budgets, and action items in one app. Local-first, offline-capable, and built for the codebase you maintain day to day.
Free to use · v0.49.4 · Apple Silicon · Pro is $99 one-time
Runs on
macOS 13 Ventura+ · Apple Silicon
Inside the app
Ten views from inside the app.
Select a tab to change the screenshot. These are real captures of the desktop app, not illustrations.
Offline by design
Your source code is never stored in the cloud.
Vipr talks to our servers only for license activation and authentication. Static analysis, storages, and the MCP server all run locally.
Source stays local
No upload. No telemetry on code.
Your repository never leaves the machine. No account required to analyze a project.
Local LLMs for Targeted AI Questions
Offline models. No internet needed.
Vipr works with downloadable models (Qwen 2.5 Coder, 7B and 14B). Chat and AI guidance keep working offline.
Bring your own key (BYOK)
Claude, Gemini, or Codex.
Prefer a frontier model? Drop in your own API key for Anthropic, Google, or OpenAI. Your key, your provider.
Source inspector
From a finding to the offending line in one click
Open the drawer and the file opens with severity markers in the gutter. The metric, the rule, and the code stay visible together.
1import React, { useEffect, useState } from 'react';2import { UserRecord } from '../types';34interface Props {5 users: UserRecord[];6 onSelect: (id: any) => void;7}89export function renderUserCard({ users, onSelect }: Props) {10 const [active, setActive] = useState(null);1112 // @todo refactor: extract into hook13 useEffect(() => {14 if (users.length > 0) {15 setActive(users[0].id);16 }17 }, [users, active, onSelect]);1819 return (20 <ul className="user-list">21 {users.map(u => (22 <li key={u.id} onClick={() => onSelect(u.id)}>23 <span className="name">{u.firstName} {u.lastName}</span>24 {u.id === active && <span className="badge">active</span>}25 </li>26 ))}27 </ul>28 );29}3031// @todo: memoize sorted output once api stabilizes32function sortByActivity(list: UserRecord[]) {33 return [...list].sort((a, b) => {34 const delta = b.lastSeen - a.lastSeen;35 return delta !== 0 ? delta : a.firstName.localeCompare(b.firstName);36 });37}3839export const UserList = React.memo(renderUserCard);Budgets
Set a ceiling for any metric and keep it there
Define budgets per file, directory, or metric. Vipr enforces them across every commit and shows exactly which files crossed, by how much, and when.
Choose which metric to enforce.
Commit compare
Diff two snapshots and see what changed
Side-by-side metrics for any two commits or saved snapshots. Spot the regression that slipped past review and the refactor that paid off.
Download
Free to use. Free to keep.
The desktop app runs without a licence key. Pro unlocks the history: backfill, velocity, trend projections, and A/B compare. That is $99 once, for three devices, with all updates inside this major version. Or bundle with VSCode Extension Pro for $129.
macOS, Apple Silicon.
Signed and notarized by Vipr Development, LLC, so it opens without security warnings.
Windows and Intel Mac builds exist but are not signed yet. A tool that reads your entire repository should be signed before you install it, so those builds ship once the certificates are in place.
Tell me when Windows is ready