t.a.c AI Challenge · Q3 2026 · Build round

The Niha Build Challenge

One engineer. One real project. Idea to a shipped v1.0. Every stage runs through the Niha CLI, from the first brainstorm to the fresh-clone test. You ship the product, and you hand us the evidence of how the tool behaved while you built it. Both are judged.

9 phases7 gates78 steps19 observation scenarios100 points

Register today. Everything else opens Mon 14 Sep.

Registration is open now, and that is the only thing to do today. Project details unlock when the build starts on Mon 14 Sep and it runs to Fri 25 Sep, ten working days. Inside that fortnight the phases are a sequence rather than a calendar: a phase finishes when its gate passes, not when a date arrives.

Build starts in
0days
0hrs
0min
0sec
RegistrationOpen today
Signed up—
Project detailsUnlock Mon 14 Sep, 12:00 AM IST
Submissions closeFri 25 Sep 2026, 11:59 PM IST
The sequence you will follow Click a phase to open its steps.
Why this edition is different

You are running two clocks at once

Last round we only scored the report. This round the product counts too, and the moment a product is judged, effort drifts out of the findings and into the product. So the counterweight is a floor, not a weight.

Clock one

The project clock

Ship a working product. Visible, satisfying, and easy to over-invest in.

  • Title only. You write the problem statement, and that is scored.
  • First release is one flow working end to end, database to screen, no mocks.
  • Tag v1.0, deploy where a colleague can open it, demo in ten minutes.
Clock two

The CLI clock

Log what Niha did, reproduce it, fix it or file it. Invisible, and the first thing dropped when the last Friday gets tight.

  • Niha first for every stage, including the ones that are not code.
  • A ten-line field log every working day. Missing days are visible.
  • Findings in the mandatory format, the day they happen, with verbatim output.
The floor

Say the arithmetic out loud on day one

  • <8findings

    Fewer than eight verified findings across the programme caps the score at 60/100, however good the product is.

  • 0early

    Zero findings from phases 0 to 3 caps the score the same way. Findings that only appear at hardening time were reconstructed from memory, and reconstructed findings do not reproduce.

  • 2×merged

    Findings logged, fixed and merged into the CLI repo score double. Fixing what you find is the fastest way up the rubric.

Before you decide

Nine phases reads like a second job. It is not.

Seventy-eight steps sounds enormous until you notice what they are. Forty-eight of them are a file you would have written anyway, the rest are decisions you were going to make in your head. Here is the honest arithmetic before you commit to anything.

One working day, roughly
Building the thing~7h
The phase's artifact~30m
Writing up findings~20m
Field log~10m

A planning estimate, not a promise. About an hour a day is the real overhead, and if your project is a slice of client work you were doing anyway, most of the other seven hours were already on your calendar.

What it costs

  • 10working days, the realistic envelope for one person
  • ~1ha day of process on top of the building
  • 2meetings across the whole programme, 30 minutes each, both optional to attend live
  • 7gates that actually block. The other seventy-one steps do not stop you

What it does not cost

  • 0new tools to learn. It is the CLI plus the stack you already use
  • 0hosting spend. Free tiers are expected
  • 0days off your project when you lose time to a CLI defect. That time is logged separately and your scope shrinks instead of your score
  • 0competition. Nobody is ranked against you

What you keep

  • 1product with your name on it, live on a URL, that survives a fresh clone
  • √merged pull requests in the CLI repository
  • √a written record of how you actually work, which is rarer than it sounds
  • √the reward for your band, if you clear fifty
The mandatory process

Nine phases, seven gates, seventy-eight steps

Identical for every product. Only the content changes. Every step names the artifact it produces, so completion is checkable from the repository rather than asserted in a status update. A gate stops the work until its artifact exists.

Running throughout, not a phase

Six rules that apply every day

What cannot be cut

  • Gate 2, the scope cut. If this is soft, everything downstream slips. It is the most likely way the programme fails.
  • Test first, and the fresh-clone test. These two separate a real product from a demonstration that only runs on one laptop.
  • The field log and the findings discipline. Drop these and we get a handful of projects and no field intelligence, which means we ran the programme for the wrong half.

If the process has to be lightened, cut in this order

  1. The stakeholder map.
  2. Design decision records for minor choices.
  3. Fold the competitive scan into the brainstorm.
  4. Fold the data dictionary into the data model.

Accessibility work is only skippable for a product with no interface, and none on the list qualifies.

The master deliverables checklist

Thirty-two things that are either in the repository or not

Given as a file to tick, not as prose. Anything missing is visible without anyone asking how it is going. This copy saves in your browser only, for your own tracking.

0 of 29 ticked0%
Nineteen observation scenarios

Run alongside the work, not as a separate test

Six on whether the tool understands the task, eight on what happens over a long session, five on recording discipline. Each one is attached to work you are doing anyway. The only extra cost is writing down what happened, the day it happens.

Found a bug in the CLI?

Log it the day it happens. Fix it if you can. Raise the PR.

Every finding uses one format, handed to you at the start rather than asked for at the end. Where you fix the defect yourself, the fix lives in its own branch and PR in the Niha CLI repo, linked from the finding and submitted with your report. That PR is scored on its own criterion, and the finding behind it scores double. Use the composer below and it will open the issue for you, already written up.

The finding format


        

The Actual field is terminal output pasted verbatim. It is the entire evidence model in one field, and it carries almost none of your own source code, which is what makes the submission safe to share. A finding whose Actual was retyped from memory is not a finding.

Fix or file: four tiers and a timebox

File it in one click

Fill this in while the terminal output is still on your screen. It writes the block for you and opens a prefilled issue on the CLI repository.

needs title, steps and actual output
Paste the terminal output. Do not retype it. This field is the whole evidence model.
Your finding block

          
Open a prefilled issue →

The issue lands on the CLI repository with the finding label, ready for you to pick up. Paste the same block into field/findings.md so your report and the issue say the same thing. When you fix it, link the PR in step 3 and set the disposition to FIXED.

What has to be in the pull request before anyone merges it

A fix is not scored on whether the diff is clever. It is scored on whether someone else can trust it. Four things, and a check on the pull request fails without them, so this is not a matter of anyone remembering to ask.

1
Before and after. The broken behaviour and the fixed behaviour, both as pasted terminal output. The before is already written: it is the Actual field from your finding. The after is the same commands run again.
2
A test that fails without your fix. Name the file and say what it asserts. If you cannot write one, say why in the pull request rather than leaving the question open.
3
A demo video. Two minutes is plenty. Reproduce the bug, apply the fix, show it gone. It is the fastest way for a reviewer to agree with you.
4
Documentation. If the behaviour a user sees changed, the docs change too. If nothing user-facing changed, write that line and it counts as done.

Put Closes #412 in the body. When the CLI owner merges, GitHub closes the issue itself, the finding is marked resolved against your name, and criterion 6 is scored from the merged pull requests rather than from anything you have to claim.

What happens after you file it

  1. The issue opens with a number. Say it comes back as #412. That number is now the handle for this defect everywhere: your report, your branch, your pull request.
  2. Write the number into your report. In field/findings.md the block becomes Disposition: FILED (#412). The issue and the report say the same thing, which is what stops the two drifting apart.
  3. Assign it to yourself. One click on the issue. This is the only thing that stops two people quietly fixing the same defect in two branches, which is the real waste.
  4. Decide using the tier, not your mood. T1 blocks you, so fix it now inside ninety minutes or escalate. T2 has a workaround, so take the workaround and come back if there is room. T3 is cosmetic, batch it. T4 will not reproduce, leave it filed.
  5. Branch in the platform repository, not in your product. fix/F-07-doctor-token. Two clocks, two commit histories.
  6. Open the pull request with the finding ID in the title and Closes #412 in the body. GitHub then links them, and merging closes the issue on its own.
  7. The CLI owner reviews and merges. Nobody gets merge rights on the platform during a build week. Your job ends at a green pull request.
  8. Close the loop. Set Disposition: FIXED (PR #1234) in your report and paste the link into step 3 of the form. That is what turns one finding into double points plus criterion 6.

If you never fix it, stop after step 3. A filed, reproducible issue still counts in full under criterion 2. The fixing is the bonus, not the entry fee.

How the pull request works

10 + 2×criterion 6, and doubled findings

How the PR counts. Criterion 6, CLI fixes merged, is worth 10 points on its own: defects fixed in the CLI repo with tests, not just reported. Each fixed finding also scores double under criterion 2. A submission with three merged T1 or T2 fixes and nine reproducible findings will outscore a prettier product with none, and that is intended. Merged means reviewed and merged by the CLI owner; you open the PR, they merge it.

One finished submission

This is what "done" looks like

An invented but realistic walkthrough of a single submission, from the charter to the score it earned. Nothing here is longer than it needs to be, which is the point: a six-page field report with nine reproducible findings beats a twenty-five page one with three.

How you are judged

One hundred points across seven criteria

Each criterion is scored 0 to 5 against written anchors, then weighted. The weights are the argument: 40 of the 100 points go to the product and its engineering, 45 to what you learned about Niha and whether you fixed it, and 15 to the lifecycle artifacts that prove the design came before the code. The floor sits on top of this and overrides it.

Weight distribution

What each score actually looks like

Score a submission yourself

Score a submission yourself

This is the arithmetic judges use, including the floor, bonuses, penalties and the reward band. Try to make it produce a wrong answer: the "great product, no findings" preset is the one to show anyone who plans to skip the field log.

Floors, applied before bonuses

Bonuses

Penalties

0Findings contradicted by their own excerpt-10 each
0Design artifacts dated after the code they describe-5 each
Weighted total
0/ 100

How completion is verified

MechanismWhat it catches

How judging runs

  1. Verification first. Before any judge opens the report, the CLI owner reproduces the findings and marks each one verified, not reproduced, or contradicted. Only verified findings count toward the floor.
  2. Fresh clone by a judge. Wipe, clone, follow the README, time it. Gate 6 is checked by someone who is not you.
  3. Artifact dates against commits. Design documents are compared with the commit history of the code they describe.
  4. Two judges per criterion score 0 to 5 independently against the anchors. If they differ by two or more, a third judge scores and the median stands.
  5. Floor, bonuses, penalties are applied to the weighted total in that order. Written feedback per criterion within a week of Demo Day.
  6. Deliberately not scored: lines of code, stories closed, report length. A six-page field report with nine reproducible findings beats a twenty-five page one with three.
The bands

The score sets the reward. Nothing else does.

Three bands, non-competitive: everyone who reaches a band is rewarded at that band, and several people can land in the same one. The bands are fixed and so are the amounts. A tier may go unawarded: a prize guaranteed to the least-bad submission removes the reason for the best person to push past good enough.

Level 1

Builder

90-100score out of 100
Reward ₹25,000

Fresh clone works, eight or more findings reproduce, CLI fixes merged, artifacts dated before the code. Someone else could pick this up tomorrow.

Level 2

Contributor

70-89score out of 100
Reward ₹15,000

The primary flow runs end to end, the findings floor is cleared, the long-session log is honest. Gaps are named, not hidden.

Level 3

Starter

50-69score out of 100
Reward ₹10,000

A real product exists and a real field report exists, and at least one of them is good. Includes submissions capped at 60 by the floor.

Below 50

No reward, written feedback on every criterion, and an open invitation to the next round. A killed idea at Gate 2 with the evidence that killed it is not a failure here: it earns its bonus and is scored on the field report.

Recognition, separate from the bands

  • Niha Architect for the highest total.
  • Field Engineer for the most verified findings.
  • Fixer for the most CLI PRs merged.
What you build

You pick the project. It has to be real.

There is no list to choose from. Bring a slice of the client work already on your plate, or an idea of your own, as long as what you ship is something t.a.c can actually use. A demo built to satisfy the rubric is worth less to us than a small tool somebody opens on Monday morning.

What makes a project eligible

  • It cuts to one flow in ten working days. If it does not, cut it until it does. That decision is Gate 2 and it is the one that protects the whole programme.
  • Somebody other than you would open it. Name that person in the personas before you start. If you cannot name one, pick something else.
  • It is yours to build. No approval you do not already have, no dependency on a team who does not know about this.
  • It runs where a colleague can reach it, not only on your laptop. Gate 6 is a fresh clone run by someone who is not you.
  • The nine phases apply to it unchanged. Charter, spike, scope cut, contract, mockups, backlog, slices, hardening, v1.0, and then running it. Whatever the project is.

If it comes from a client engagement

  • Apply the process to the slice, not the engagement. You are framing and shipping one flow, not restarting a live project.
  • The repository is org-owned or personal. Never the client's. Branch protection on, as in phase 0.
  • No client data, client names, internal hostnames or tokens in the repository or the field report. Crop every screenshot.
  • Findings carry terminal output, not your source. That is precisely what makes the finding format safe to share, and it is why the Actual field is the whole evidence model.
  • If you cannot separate the two, pick a different slice. This is not a penalty you can score past.
Coverage

Tell us at Gate 2 if your project reaches none of these

When everybody picks their own project, nobody is assigned to exercise a given part of the CLI, and the surfaces we know least about are the ones that need a connected workspace. These are the ones this round exists to reach. Pick a project that touches some of them where you can, and if yours genuinely cannot, say so at the Gate 2 review and we will help you reshape the slice.

Hosting

It has to run somewhere that is not your laptop

Deploying is part of the deliverable, not a nice-to-have. Stand the whole thing up in a real production setup: the application, the database, the environment variables, the seed data, and a build that runs from a clean commit. Free tiers are expected and completely fine, and you do not need to spend anything. Your demo video has to be recorded against the hosted instance, and the live URL goes in step 3 of the form.

Secrets go in the host's environment settings, never in the repository. Watch the free-tier limits: cold starts, build minutes and row counts are all part of the cost readout you report in phase 7.

Thirty seconds

Would this suit you?

Five questions, honest answers. You get a route to take, a realistic band to aim at, and the one thing most likely to trip you up. Nothing is sent anywhere, it runs in your browser.

Participate

Three steps. Two minutes today.

Register today. Come back on Monday once your problem and plan are settled, and once more when you ship. Nothing else is asked of you here: the daily field log lives in the channel, and the artifacts live in your repository.

Step 1Registeropen now
Step 2Problem and planopens Mon 14 Sep
Step 3Ship itwhen v1.0 is tagged
Step 1

Register your spot

Use your own work email. We provision your Niha workspace, repository and the pinned CLI version from this.

We add you to the Niha CLI repo with this, so you can file findings and raise fix PRs. Handle only, not the full URL.
github.com/
The same defect renders differently per terminal, so we spread coverage deliberately.
Pick the one you actually work in. Trying a second one later earns credit.
I am registering for The Niha Build Challenge, Q3 2026. I will run every stage through the Niha CLI, follow the nine-phase process and its gates, write a field log every working day, log findings in the mandatory format the day they happen, declare every tool switch, and keep client data, client names and secrets out of the repository.

You're in!

Before the start date you will get a workspace, an org-owned repository with branch protection, the pinned CLI version, and the templates as files. Two check-ins left, and both are short.

Mon 14 Sep
The build starts and step 2 unlocks. Frame the problem, cut the scope, settle the plan.
Then
Build one slice at a time, test first, a PR a day.
Finally
Tag v1.0, then fill in step 3 with your links.
Registration confirmedYou can close this page and come back any time from the same browser. We remember you.
Step 2

Your problem, and how you will solve it

Fill this in once your scope is cut and the plan is settled. Everything here should already exist in your discovery/ and plan/ folders. You can save and come back to edit it.

0/100
1 minor, 5 changes how we work

The shape of the thing: what you chose, and roughly how it hangs together.
Database to screen, one slice per line, in build order. Not "all the backend, then all the frontend".
Tick what you have genuinely exercised. This is how we track coverage across the group.
Step 3

Ship it

Links only. Everything you paste here should already exist.

The repository at your v1.0 tag. Judges will clone this fresh.
Ten minutes maximum. The product runs before any slides.
The running application, hosted where anyone can open it. A free tier is fine. Your demo video has to be of this instance, not of localhost.
Complete documentation: a README a stranger can follow, the architecture, and how to run it. If it already lives in the repository, paste that link.
Fixed and merged defects score on their own criterion, and the findings behind them score double.
One per line, with the finding ID it closes. Put that same ID in the pull request title, so a merged fix can be matched back to your report without anyone hunting for it.
Every finding's Actual field is verbatim terminal output, every tool switch is declared, there is no client data or secrets in the repository, and I am available for a ten-minute live demo.

Submission received

Your project is in. Verification starts with your findings, then a judge clones the repository fresh.

What happens next

→ The CLI owner reproduces your findings and marks each one.
→ A judge runs the fresh-clone test and checks artifact dates against commits.
→ Ten-minute demo, then two judges per criterion, then written feedback.