DEV Community

Anuoluwapo Victor Sebiomo
Anuoluwapo Victor Sebiomo

Posted on

I built a local AI code review dashboard because no one reviews my code

I'm a solo developer. I work on multiple projects, ship code daily, and nobody reviews any of it.
I looked at existing AI code review tools. They all had the same problems:

  • Need API keys (pay per token)
  • Send your code to external servers
  • Require org-level GitHub setup
  • Need accounts, onboarding, configuration

Meanwhile, I'm already paying for Claude Pro. I have Ollama running locally. These tools sit there unused while I push unreviewed code.

So I built CodeLens.

What it is

A self-hosted dashboard that watches your local git repos, auto-detects whatever AI CLIs you have installed, and runs automated code reviews. No API keys. Fully local with Ollama, or use your existing cloud AI subscriptions directly without a middleman.

How it works

  • Start the app (npm run dev)
  • Add a repo by browsing to its folder
  • CodeLens auto-detects your installed AI tools (Claude Code, Ollama, Gemini, OpenAI)
  • It immediately reviews the last 30 days of commits
  • Going forward, it polls every 60 seconds for new commits

The review page

This is the core of the product. Three panels:

Left: list of findings. Severity dots, category, file path. Click one to select it.
Centre: the actual code diff with line numbers. Green additions, red removals. Coloured dots mark lines with issues.
Right: full description, suggested fix, and a ready-to-paste prompt for your AI chat.

The idea is: CodeLens finds the bug, tells you what's wrong, and gives you a prompt to paste into Claude/ChatGPT to fix it. For vibe coders, it's copy-paste-done.

Features I didn't plan but ended up building

  • Deep review: scans your entire codebase, not just the latest commit. Good for auditing a project you inherited.
  • Fix tracking: when a new commit modifies a file and the AI no longer flags the same issue, the old finding automatically gets marked as "fixed."
  • Export as Markdown: download any review as a formatted .md file. Useful for PRs or client documentation.
  • 500 fun loading messages: "Judging your variable names," "Wrestling with regex," "Questioning life choices." They rotate with pastel colours while the review runs.
  • Notification bell: tracks all review completions across repos with unread counts.

The self-review

The most satisfying moment was pointing CodeLens at its own repo. It found real bugs:

  • A full table scan loading every finding into memory
  • Timer leaks in the provider adapters (setTimeout never cleared on success)
  • A path traversal vulnerability in AI-generated file paths
  • A race condition where two concurrent review triggers could create duplicate records
  • Silent error swallowing that hid database failures

I fixed every finding it reported. Then it reviewed those fixes and found more issues. We went through 5 rounds before it converged to only info-level style suggestions.

Stack

  • Next.js 16 (App Router) with Turbopack
  • SQLite via Drizzle ORM (zero setup, file-based)
  • Custom component library (no browser defaults)
  • Google Sans typography
  • Lucide icons

Try it

git clone https://github.com/sebiomoa/codelens.git
cd codelens
npm install
npm run db:migrate
npm run dev
Enter fullscreen mode Exit fullscreen mode

Open localhost:3377. Add a repo. That's it.
It's MIT licensed. If you're a solo dev or freelancer who wants a second pair of eyes on your code without the overhead, give it a try.
GitHub: https://github.com/sebiomoa/codelens

Top comments (0)