File a ticket. Get back reviewed, merged work.

OJ Labs Director is AI-directed engineering.

You file it.

It starts as a ticket in your own tracker.

A sheet of paper at the start of a conveyor belt, labelled "file a ticket", with an arrow pointing along the belt.
Your tracker Sample ticket

TKT-104

Rebuild the orders page

Filed

Director plans it. You approve.

Files to change, and what stays out of scope.

A small black creature pressing a stamp that reads "plan: approved" onto the ticket.
Planner Sample ticket

TKT-104

Rebuild the orders page

  1. Scope The orders page
  2. Change Rebuild list, detail and export
  3. Tests Page size, empty page

Human checkpoint 1

Planned

Too big? It splits.

Big work is cut into pieces small enough to review.

Sample tickets

A small black creature cutting one huge ticket into strips with scissors. Each strip is labelled "~400 lines each".

Orders list: cursor paging

~400 lines

Split

Order detail: status timeline

~400 lines

Split

Exports: CSV download

~400 lines

Split

Agents build it.

Several at once, each on its own branch.

Sample diffs

A small black creature watching three typewriters write on paper lanes, labelled "three lanes at once", "tests included", "approved plan" and "every change on its own branch".
Implementer agent/orders-list

+++ orders.ts

+ export async function listOrders(

+ cursor?: string,

+ size = 25,

+ ) {

+ return db.orders.page(cursor, size);

+ }

Implementer agent/orders-detail

+++ timeline.ts

+ export function timeline(order) {

+ return order.events

+ .map(toStep)

+ .sort(byDate);

+ }

Tests agent/orders-tests

+++ orders.test.ts

+ it("pages by cursor", async () => {

+ const page = await listOrders(

+ undefined, 2);

+ expect(page.rows).toHaveLength(2);

+ });

Everything is checked.

A reviewer who did not write it reads every line.

Sample checks

A small black creature reading closely, with labels "412 checks", "every line read", "not the author" and "ready to merge".
  • Build [x] Passed
  • Type check [x] Passed
  • Lint [x] Passed
  • Unit tests [x] Passed
  • Integration tests [x] Passed
  • Accessibility [x] Passed
  • Bundle size [x] Passed
  • Security scan [x] Passed

Check the cursor before slicing. An empty cursor returns every row.

4e1c9a2 Return an empty page when the cursor is empty

Checked

You merge it. It's yours.

A stamp that reads "merge: yours".
Merge Sample ticket

TKT-104

Rebuild the orders page

Human checkpoint 2

Merged

Your repository

a7f3c91

The agents leave. The code stays.

A small black creature unplugging a cord and walking away from "your repository", which carries the labels "still running" and "unplug any time".

You connect a GitHub repository and can revoke access whenever you like.

Real projects, real tickets.

Merged tickets and hands-on agent time per ticket, per project.

  • Tickets merged
    113
    Agent time per ticket
    About 2 hours
  • Tickets merged
    178
    Agent time per ticket
    About 1 hour

Figures as of 24 Oct 2026.

What it costs.

One real ticket, priced in Director Credits.

A small black creature lifting a slip that reads "59 credits" against a signboard reading "contractor: £180 to £320". A third label reads "pay for work, not usage".
Receipt, one real ticket

Return every field from a vehicle data lookup

Agent runs
11
Lines changed
346
Time to merge
3h 44m
Total
59 credits
Priced on Starter, £1 a credit
£59
Contractor, same ticket (estimate)
£180 to £320

Estimate: 3 to 4 hours at £60 to £80 an hour.

Four ways to pay.

Three come with a credit allowance.

Plans
Plan Price Director Credits Start
Starter £500 500 Start on Starter
Team £1,500 1,800 Start on Team
Scale £4,000 5,500 Start on Scale

Or pay as you go.

  • No monthly fee. Buy Director Credits in advance.
  • £100 minimum top-up. 1 credit is £1.
  • Credits never expire.
  • Failed tickets are free.
  • The charge is capped at 1.5x the estimate you approve.

The first top-up covers onboarding your repository and your first tickets.

Start with pay as you go

Send your first ticket.

Describe one real piece of work.

What needs building or fixing. A rough description is enough to start.