🧪

Initial Experimental Release (v1.0.1-Alpha) — Expect Quirks & Bugs

This extension bridges two independent third-party web applications (DartCounter & Nakka n01) using local DOM observation and synthetic keystrokes. Because either site can change its layout without warning, bugs can be expected and Honest Oche does not guarantee official support or maintenance. That said, if you spot a bug or something behaves weirdly mid-leg, head over to the "Got Something to Say?" contact form on the main page and send us a message — we’ll happily take a look when we’re not busy missing Double 16.

Honest Oche Labs • Target Omni Automation

Omni To Nakka Bridge Zero Keyboard Typing.

Because spending £500 on a four-camera ring light only to walk over to a keyboard and type "26" into Nakka like a caveman is an insult to modern engineering.

A lightweight browser extension that watches your Target Omni scores in DartCounter’s Score Training mode and types them directly into your live Nakka n01 match the instant you pull your darts.

Works natively on: Google Chrome Microsoft Edge Brave Opera / Vivaldi
Honest Oche Mascot

The Oche Pipeline

MANIFEST V3 • v1.0.1-ALPHA
150ms Debounced
01
Target Omni + DartCounter Score Training Mode (Unlimited)
Pull Darts
↓ MutationObserver reads [stat-value] ↓
⚡
Omni to Nakka Bridge Validates turn & checks 501 bust rules
Auto-Guard
↓ Synthetic KeyboardEvent + Enter ↓
02
Nakka n01 Online Match Types score & submits visit automatically
Done
100% Hands-Free
AUTO Bust = 0 Guard
MIT Open Source
Test drive it right now

The Live Oche Simulator

Don't take my word for it. Click any throw scenario below to watch how the extension captures your Target Omni visit in DartCounter, checks your remaining balance, and injects the keystrokes straight into Nakka.

Tab 1: app.dartcounter.net (Score Training) ● Connected
Score Training OMNI ACTIVE
Dylan Dylan
26
3-dart avg. 26.00
Darts thrown 3
Last score 26
All thrown
S20
🎯 1
S1
🎯 2
S5
🎯 3
dartcounter.js
Bridge Icon
READY
nakka.js
Tab 2: n01darts.com/n01/online/ ★ Your Turn
⚠️ BUST DETECTED! Auto-injecting 0

🎯 Leg Won! (Game Shot)

Nakka asks: How many darts were thrown at the winning double?

* Dylan 'Honest Oche'
Powell 🏴󠁧󠁢󠁷󠁬󠁳󠁿
0 - 0
Remote Opponent
🇬🇧
Scored To Go Scored To Go
501 501
26 475 3 60 441
_ 6
Active Yellow Cell Detected Awaiting Omni throw...
Live Extension Console Output (F12) ● Bridge v1.0.1 Listening
[dartcounter.js] [Omni Bridge] DartCounter watcher v1.0.1 loaded.
[nakka.js] [Omni Bridge] Nakka listener v1.0.1 active (with Auto-Bust detection).
Under the bonnet

Why It Actually Works

Connecting an unlimited practice mode in one web app to a strict 501 match in another sounds like a recipe for chaos. Here is how v1.0.1 keeps everything civilised.

01
150ms Debounced DOM Watcher

Consecutive Score & Restart Proof

If you throw a 26 on turn one and follow it up with another majestic 26 on turn two, a naive script only watching the score number would assume nothing changed. Our bridge tracks DartCounter's Darts thrown counter with a 150ms Angular render debounce and automatic session-restart reset (when darts reset to 0).

02
501 Double-Out Maths

Automatic Bust Protection

DartCounter's Score Training mode happily adds up whatever you throw, whereas Nakka refuses to accept a score higher than your remaining total. Before typing a single digit, nakka.js locates your active yellow input box, reads your current To Go balance, and checks if you exceeded your score or left 1. If you busted, it automatically types 0 and hits Enter.

03
Synthetic Keyboard Engine

Native Nakka Keystroke Pacing

Nakka n01 doesn't use normal HTML text boxes—it listens for raw hardware keystrokes on the document. The bridge dispatches sequenced Backspace, digit-by-digit keydown/keyup events at 60ms intervals, followed by Enter, mimicking human typing without ever touching your keyboard.

04
Zero Cloud / MIT Licensed

100% Local & Inspectable

No external servers, no logins, no API keys, and zero subscriptions. The entire extension is 4 kilobytes of plain-text JavaScript communicating strictly between your open DartCounter tab and your open Nakka tab inside your own browser.

Up and running in 60 seconds

How To Install It

Because this is a free, unpacked community tool rather than a commercial store app, you load it directly into your browser using "Developer Mode". Pick your browser below and follow the five steps:

Bundled Icons:
128px 128px
48px 48px
16px 16px
1

Download & Extract

Download the .ZIP file and extract it into a permanent folder (e.g. Documents\omni-nakka-bridge). Do not delete the folder after installing!

2

Open Extensions

Copy the address below and paste it into your Chrome address bar:

chrome://extensions
3

Developer Mode

Flip the Developer mode toggle switch ON (located in the top-right corner of the extensions page).

Developer mode
4

Load Unpacked

Click the "Load unpacked" button that appears in the top-left corner and select your extracted folder.

📂 Load unpacked
5

Throw Darts

Open DartCounter (Score Training) in Tab 1, open Nakka n01 in Tab 2, wait for your turn, and throw!

✓ Ready for Matchplay
Read this before you blame the code

Match Rules & Honest Quirks

True to the Honest Oche name, here is everything you need to know about how the bridge behaves during real multi-leg matches on Nakka.

⚠️ Rule #1 • Very Important

Beware The Bull-Up

If your Nakka match requires throwing for the bull to decide who throws first, do NOT start your DartCounter Score Training session until bulling up is finished.

Wait until the 501 scoreboard is live and ready for leg 1 before starting Score Training in DartCounter—otherwise your bull-up dart will be enthusiastically injected as your opening 501 visit.

🎯 Rule #2 • Winning a Leg

The Checkout Prompt

When you hit your winning double, the Omni registers your total turn score and the extension injects it into Nakka to take your balance down to 0.

Nakka will then pop up its standard "Darts thrown at double (1, 2, or 3)" prompt. You still click 1, 2, or 3 with your mouse—consider it a victory lap.

💡 Known Quirk • Single-Out Busts

Scoring 32 on 32 Without a Double

If you have 32 left and accidentally throw Single 16 + Single 16 (32 points without hitting a double), you have busted. However, because DartCounter outputs the total visit score (32), Nakka assumes you checked out!

Easy Workaround: If you bust by hitting your exact remaining score with a single, simply tap 0 and Enter on your keyboard before pulling your darts from the board.

Open source & inspectable

Inspect The Source Code

Want to see exactly what goes into your browser? Browse all five v1.0.1 files inside the extension package below, copy snippets, or download individual files.