Skip to work
voidstack · open to work

I build the infrastructure AI agents run on.

I'm Haris. I build developer infrastructure for AI coding agents: code intelligence, orchestration, fix-to-PR automation, and the products around them.

Eight systems.
One obsession.

Tools that make AI agents faster, more honest about what they know, and safe to ship.

overpowermethod
SEO agentloop
hydraorchestrator
codegraphflagship
StoneWiseapp
ClosedLoopautonomy
voidstackshell
Prismagent
Scroll

Flagship

codegraph

Give AI agents a map of your codebase.

Problem
A coding agent spends most of its context window locating things: grep, open five files, trace a call, repeat.
Solution
codegraph does that work once, offline. It builds a persistent SQLite graph of every symbol, call and import, updates it incrementally, and serves bounded, file:line-precise answers over MCP.
  • 150tests passing (pytest)
  • 20languages in the AST tier
  • 0 / 33wrong EXTRACTED edges vs graphify's 18 / 33
Terminal
$

benchmark · 192-file Python repo

How often is a "certain" call edge actually wrong?

Every edge each tool marks EXTRACTED whose target is a common method name, checked by hand against the source line.

graphify18/33 wrong · 55%
codegraph0/33 wrong · 0%

graphify wired every @router.get to an unrelated get(). codegraph's receiver-aware resolver tells them apart.

How it works
  1. Repository
    20 languages
  2. tree-sitter parse
    symbols, calls, imports
  3. Symbol graph
    SQLite, incremental
  4. Query engine
    FTS5 + graph expansion
  5. Agent context
    ~2k-token subgraph
  6. MCP
    Claude · Codex · Qwen

Numbers you can check.

Every figure here comes from a test run or the git history, and says which.

commitsgit log across 7 repos
151
tests passingcodegraph · pytest
150
tests passinghydra · pytest
84
languages parsedcodegraph AST tier
20
Commit activity across public and private repos, generated from git log on 2026-09-27. Tests run the same day.

Major systems

Infrastructure for running, coordinating and trusting coding agents.

ClosedLoop

private repo

Bug report in, reviewed pull request out.

Problem
Most bug reports sit in a queue until someone has time to find the code, write the fix and open the PR.
Solution
A pipeline that takes a report from a browser capture extension or the API and carries it all the way to a pull request that a human reviews.
  • repo-index clones the repo and builds a tree-sitter symbol graph for retrieval
  • planner uses an LLM to diagnose the bug and propose a fix
  • guardrails classify each action, dedupe, and take a real write lease before touching the repo
  • execution + worker run the loop end to end and open the PR

Evidence

  • 4 apps (api, worker, dashboard, capture extension) + 7 packages
  • ingestion rate limiting and secret-scanning CI
  • TypeScript
  • Turborepo
  • Next.js
  • tree-sitter
  • Postgres
  • Redis

Parallel coding agents across git worktrees.

Problem
Running several coding agents at once collides on the same files and silently drops failed work.
Solution
An agent-agnostic orchestrator that only parallelizes tasks with provably disjoint file sets and records every failure.

Evidence

  • 84 tests passing (pytest)
  • v0.9.0: all 8 roadmap phases implemented
  • Python
  • git worktrees
  • MCP

A build methodology for coding agents.

Problem
Agent methodologies like obra/superpowers break across harnesses, run full ceremony on trivial tasks, and accept subagent results nobody verified.
Solution
One set of skill files with thin per-harness adapters, where every guarantee is either automated or checked in review.

Evidence

  • 13 skills, 14 eval cases
  • Claude Code, Cursor, Codex, Gemini CLI, Copilot, Aider
  • no telemetry
  • Agent skills
  • Claude Code plugin
  • Python

Products & agents

StoneWise

private repo

An AI gemology assistant.

A full-stack Next.js app where you chat with a Gemini-powered gemologist. Google sign-in, conversation history on Neon Postgres, AI-generated chat titles and a gem encyclopedia.

  • Next.js
  • Gemini
  • Neon Postgres
  • JWT auth

The OpenClaw agent that designed this site.

Turns a brief into a working React site from Lightswind components, screenshots it in headless Chrome, runs a QA pass and fixes what it finds.

  • OpenClaw
  • Lightswind UI
  • Chrome DevTools Protocol

autonomous-seo-agent

in progress

An SEO system where every change is traceable and reversible.

Runs the loop observe → crawl → research → plan → execute → verify → learn, with every action producing evidence. Architecture and scaffolding stage.

  • Python
  • FastAPI
  • Postgres
  • MCP

Experiments

  • snipA local snippet manager: search, tag, copy. Zero dependencies, Node stdlib only. Your snippets are one JSON file you can grep or commit.
  • op-viewerA live dashboard for overpower's build state. Reads a repo's .overpower/ folder and renders it live. Node stdlib only, no build step.

How I build.

I'm Haris. I build the plumbing for coding agents: tools that let them read a codebase precisely, work in parallel without stepping on each other, and ship changes a human can trust.

Four rules I keep coming back to, each one learned the hard way in a real project.

  1. Say how sure you are.

    codegraph tags every edge EXTRACTED, INFERRED or AMBIGUOUS, so an agent knows which facts to trust and which to check.

    from codegraph
  2. Nothing fails silently.

    Every dropped task or failed gate in hydra lands in FAILURES.md and on stdout. If it broke, you hear about it.

    from hydra
  3. Verified, not claimed.

    In overpower a delegate's result only counts with an artifact: a run id, a result block, a new diff. No artifact, no credit.

    from overpower
  4. Guardrails before autonomy.

    ClosedLoop classifies every action and takes a real write lease before it touches a repo. Autonomy is earned per action.

    from ClosedLoop

The stack, in orbit.

Hover a planet to see where I've actually shipped it.

voidstack

14 tools · 3 orbits

Or skip the scrolling.

Everything on this page, as a shell. Start with help.

haris@voidstack: ~
voidstack shell 1.0 · type help to begin

Got a hard problem for agents?

Tooling, orchestration, or a product that needs an AI engineer who ships. I reply within a day.

Email me(opens Gmail in a new tab)
harismalik2010afridi@gmail.com
GitHub

Email me opens Gmail. Prefer your own mail app? Open it here, or copy the address above.