The review process layer for engineering teams.
Code review is the most important moment in software development, it's where quality is decided, knowledge is shared, and teams either move fast or get stuck. But nobody has ever built a real product for it.
GitHub gives you a diff viewer with a comment box. That's not a workflow, that's a file viewer.
The result: PRs sit for days with no feedback. Reviewers leave 40 comments with no indication of what's actually blocking the merge. Authors send "PTAL" into the void and wait. Engineering leads have no visibility into where things are slowing down.
Teams aren't bad at code review because they don't care. They're bad at it because no product has ever given them a real process.
Craft is that product.
The unit of work in Craft is not a pull request. It is a Change — an intent to ship something, with structured context, clear ownership, typed feedback, and a defined path to done.
Every Change starts with structured context — not a freeform text box. What changed, why it exists, how to verify it, and the risk level. Written by the author, readable by the reviewer in two minutes. No more cold reviews. No more "can you explain what this does" comments.
Comments in Craft have a type: Blocker, Suggestion, Nit, or Question. Only Blockers gate the merge. Authors get a clear action list — not a wall of threads to triage. Reviewers give feedback that means something.
Not just approve or request changes. Craft has four verdicts: Ship it, Fix and merge, Needs re-review, and Rethink. Each one triggers the right next step automatically. No ambiguity about what happens after a review.
Reviewers open Craft and see exactly what needs them — ordered by wait time and risk level. No notification triage, no GitHub inbox archaeology. Just the work, in the right order.
Craft tracks every Change from ready to shipped. Which areas of the codebase are review bottlenecks? Which authors are growing? Where is the team slowing down? This data doesn't exist anywhere today. Craft builds it passively.
Craft sits on top of GitHub. Your code stays where it is. Craft owns the process around it.
Developer opens a PR on GitHub
↓
Craft creates a Change automatically
↓
Author fills the Change Brief (auto-drafted, editable)
↓
Craft routes it to the right reviewer
↓
Reviewer gets a queue — not a notification
↓
Reviewer leaves typed comments and submits a verdict
↓
Author sees a clear action list — blockers only
↓
Blockers resolved → Change ships
No Slack messages. No "PTAL". No guessing.
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router) |
| Styling | Tailwind CSS + Shadcn/UI |
| Database | PostgreSQL (Neon) + Drizzle ORM |
| API | oRPC |
| Business logic | Effect |
| Auth | Better Auth |
| Background jobs | Trigger.dev |
| Webhooks | Svix |
| Realtime | Ably |
| Resend + React Email | |
| Payments | Polar |
| Monorepo | Turborepo |
- Node.js 20+
- Bun
- A GitHub App (for OAuth and webhooks)
git clone https://github.com/RajdeepDs/craft.git
cd craftbun installcp .env.example .envbun db:generate
bun db:migratebun devOpen http://localhost:3001.
Craft is in active development. The current focus is v1 — the core review loop.
v1 — The core loop
- Data model and state machine
- GitHub App integration and webhook sync
- Change creation with structured Brief
- Reviewer queue view
- Typed comments (Blocker / Suggestion / Nit / Question)
- Structured verdicts
- Author action list
- Email notifications
- Team setup and member management
v2 — Process intelligence
- Smart reviewer routing based on ownership and load
- SLA configuration and enforcement
- Cycle time analytics dashboard
- Slack notifications
v3 — The long game
- GitLab and Bitbucket support
- Deploy tracking and post-ship outcomes
- Codebase health insights
- Public API
Craft is open source and contributions are welcome.
- Fork the repository
- Create a feature branch:
git checkout -b feat/your-feature - Make your changes
- Run the linter:
bun lint - Submit a pull request against
main
Craft uses Conventional Commits.
feat: a new feature
fix: a bug fix
docs: documentation changes
chore: maintenance, dependency updates
refactor: code change that neither fixes a bug nor adds a feature
Look for issues tagged good first issue to get started.
Craft is opinionated by design.
There is one way to submit a Change Brief. One set of comment types. One set of verdicts. This is not a limitation — it is the product. The best review processes are explicit and consistent, not infinitely configurable.
We will say no to features that make the lazy path easier than the right path. We will say no to features that add configuration where we can add conviction instead. We will say no to features that serve every team in theory and no team in practice.
If this sounds like your kind of product, you're in the right place.
Craft is licensed under the GNU Affero General Public License v3.0.
This means:
- You can use, modify, and distribute Craft freely
- If you run a modified version of Craft as a network service, you must release your modifications under the same license
- Commercial use is permitted — you can use Craft at your company
- You cannot take Craft, build a closed-source SaaS on top of it, and keep your changes proprietary
For commercial licensing inquiries — if AGPL doesn't work for your use case — contact us at rajdeepds626@gmail.com.
- GitHub Discussions — questions, ideas, and general discussion
- GitHub Issues — bug reports and feature requests
- X / Twitter — @Rajdeep — product updates
Built with conviction. Craft is what code review should have always been.