aviv sheriff
Motif·AI Portfolio·Aviv Sheriff
Project 05 of 06·Mar 2026 — present

Motif

Reads your Cursor and Claude Code conversations and turns them into a live productivity dashboard, a shareable assessment report, and personalized config files derived from your actual patterns — on the thesis that process is the new credential.

Product Developer Tools EdTech Assessment B2C Founder ACTIVE
01Artifacts
02At a glance
Role
FounderSolo
Timeline
Mar 2026 →Active · v0.7.9
Codebase
~19k LOCCLI + IDE ext · 64 commits
Stack
Python · TSRich · VS Code API
03The work

The artifact you measure a developer by used to be a GitHub commit. With AI in the loop, the commit is the easy part — the conversation with the agent is where the actual judgment, taste, and metacognition show up. Motif’s thesis: process is the new credential, and the AI coding transcript is the artifact that should replace the resume. Y Combinator now asks founders for agent transcripts instead of GitHub links; this product is built for that world.

Motif ingests AI coding sessions from four sources — Cursor (parsing the SQLite state.vscdb), Claude Code, Copilot CLI, and Copilot for VS Code — and produces three things. A live TUI/IDE dashboard tracks AIPM (AI tokens per minute), concurrency, and per-agent efficiency in real time, with 1Hz polling and a 10-second rolling window. A self-contained HTML vibe report grades the developer against five educational frameworks: Bloom’s Taxonomy, a Vibe Coding Proficiency rubric, Holistic Critical Thinking, Metacognition Components, and Chris Dede’s Judgment vs. Reckoning — the founder framework that anchors the whole product. Personalized config files (CLAUDE.md, .cursorrules, skill scaffolds) are then generated from the user’s own patterns. Local-first, no server, no API keys. Pre-1.0 OSS Python (Apache-2.0) plus a closed-source VS Code extension; pilot live with Lutz Finger at Cornell Tech.

04Skills
Developer tools CLI engineering Python packagingPyPI v0.7.9 VS Code extension dev Real-time metrics Data ingestion Assessment design5 frameworks Linguistic analysisPennebaker Data visualization Prompt engineering Code generation EdTech research
05Notable accomplishments
01
Live agentic productivity dashboard, in the terminal and in the IDE
Real-time visibility into how a developer is working with AI — AIPM (AI tokens per minute, the throughput signal), concurrency (how many agents in flight), and per-agent efficiency — rendered both as a Rich-based TUI and as a VS Code / Cursor sidebar webview. Both surfaces share a common metrics model: 10-second rolling AIPM window, time-weighted concurrency, EMA smoothing, 1Hz SQLite polling, multi-window lock coordination. motif/live/metrics.py · motif-vscode/src/metrics/engine.ts
02
Five assessment frameworks operationalized as a structured rubric
Tells a developer not just how much they did but how they worked with AI — cognitive level of prompts, critical-thinking moves, metacognitive behaviors, linguistic identity, and reasoning posture — framed through Chris Dede’s Judgment vs. Reckoning lens (the Harvard learning scientist’s distinction between reasoned inquiry and pattern-matched output). Implemented as a versioned prompt contract that emits structured JSON across five frameworks — Bloom’s Taxonomy (cognitive level of questions), Vibe Coding Proficiency (six-level rubric from terse commands to systems thinking), Holistic Critical Thinking, Metacognition, and Judgment vs. Reckoning — plus deterministic function-word metrics in the Pennebaker LIWC style (James Pennebaker’s pronoun/article/preposition-based psychological indicators) computed locally and rendered into a 1,363-line self-contained HTML report. motif/analysis/prompts.py · motif/report/html.py
03
Four-source ingestion abstraction that unifies Cursor, Claude Code, and Copilot
Four AI coding tools store conversation history in four different formats — Cursor’s SQLite state.vscdb, Claude Code’s JSONL session files, Copilot CLI, and Copilot in VS Code. Motif normalizes all four into one message stream so downstream analysis treats “user asked X, agent did Y” identically regardless of source. Implemented as a duck-typed module protocol: each extractor exports the same four-function contract (get_data_path, extract_conversations, group_by_project, get_stats) and the CLI wires them lazily, so adding a fifth tool is a new module, not a refactor. motif/extractors/{cursor,claude_code,copilot_cli,copilot_vscode}.py