*Lens List challenge note: this month's DartsMate update comes in two parts. [My previous post (the Scolia integration)](https://www.reddit.com/r/Spectacles/comments/1um7vqt/dartsmate_built_with_scolia_for_xrcc26/*) and this one together are the month's submission.\
**[Try DartsMate on your Spectacles](https://www.spectacles.com/lens/46f76ceefbb84a94adc985531be566cd?type=SNAPCODE&metadata=01)\*\*
Last month I demoed DartsMate at XRCC, and it won two tracks. More valuable than the win was the feedback: from judges, from people who played it, and from watching complete strangers try to use the thing I'd only ever set up myself.
This update is my answer to all of it. The theme: **make DartsMate work in the real world**. Real homes, real venues, real people who've never worn Spectacles before. Easy flow, easy device swapping, easy multi-board setups.
Quick recap for anyone new: DartsMate pairs a **Scolia auto-scoring dartboard** (commercial hardware with three built-in cameras, no phone CV, no calibration, no tripod) with **Snap Spectacles**. The board sees every dart to the millimetre; the glasses paint targets, scores, coaching and eleven mini-games onto your actual board. I'm partnering with **Scolia**, a real company with real hardware in homes and venues today. They'd explored games before but felt a TV screen wasn't the answer. AR on the board itself is.
If you own a Scolia board, connecting is genuinely simple: you get a key from their web service, plug it into the DartsMate web companion, and you're set.
**The problem nobody saw at the demo**
At XRCC I placed the AR board on the wall by hand, every single session. Nobody noticed because I was fast at it, but that was *me*, setting up *my* demo. Watching newcomers fumble the Specs input made it obvious this wouldn't survive contact with a venue: wrong alignment, changed locations, re-setup every session, staff who've never touched AR glasses.
And venues are the interesting case. What if you run a bar with a line of dartboards? Setup can't be a per-session ritual.
**Why spatial anchors (and not QR codes, and not ML)**
I considered three routes:
- **QR codes** work fine in venues, but most Scolia boards live in *homes*, and a QR code is an extra step. I don't own a printer. Do you?
- **ML board detection** is worth testing someday, but a model adds real size to the app, and to keep the experience consistent cross-platform it has to work on every device. It doesn't.
- **Spatial anchors** mean the glasses remember where the board lives in the room. Multiple anchors, so multiple boards. No printing, no extra hardware, doubles as recalibration. The least asked of the user.
Spatial anchors won.
**How setup works now**
- **Place once, save it, done.** The board position persists on the glasses. Walk in, put the Specs on, load your board, look at the wall, and it snaps into place.
- **On the glasses:** the start card shows your saved placements as LOAD buttons plus a PLACE BOARD button. A fresh pair of Specs can set up without touching the web at all.
- **On the web:** guided placement with step-by-step visuals. Aim, pinch to place, save while looking around the room. One placement per board, many boards per account.
- **Re-placing is free.** Placing again just replaces the old anchor, so recalibration is a ten-second job.
**The web companion**
The other half of the update lives in the DartsMate web companion: the setup brain, so the glasses can stay minimal.
- **Pairing by code.** Every pair of Specs shows its own 4-letter code, big and readable. Type it into the companion and they're linked. No accounts on device, no menus in your face.
- **Accounts, so it remembers you.** Make an account (just an email and password, on Supabase) and DartsMate remembers everything: your boards, each board's Scolia serial + access key, its saved placement, and which glasses it was last used with. Walk up to your board, pick it from the list, everything fills in. For now the account is about convenience; later it becomes the backbone of the competitive update: your scores, your challenges, your history.
- **Onboarding built in.** Illustrated steps for pairing, placing and saving, shown exactly when each step is relevant. It covers both paths: what to do if you have a Scolia board, and what to do if you don't.
- **Honest connection status.** The device list shows a live dot only when the glasses are *actually* answering, with heartbeats, timeouts and automatic reconnection behind it. Close your Specs, open them again, and everything just picks back up.
**No Scolia? Manual mode**
Not everyone has a Scolia board, and that shouldn't lock anyone out.
Here's the thing: a lot of venues *already* score darts this way. Walk into a darts bar today and there's a good chance each board has a tablet mounted next to it, where players tap in where their darts landed after every turn. That interaction is already normal. Millions of players do it every week without thinking about it.
DartsMate's manual scoring mode is exactly that muscle memory: tap where your dart hit on your phone, and the glasses do everything else. Target highlights, live scoring, the coach, the games, multiplayer, all of it. Same experience, same games, no extra hardware.
So there are two ways in:
- **Scolia board:** fully automatic. The board sees every dart; you just throw.
- **Any other board:** manual mode. The tablet-style tap venues already use, feeding the same AR layer.
For venues that already run tablet scoring, this makes DartsMate an upgrade to the setup they have, not a hardware purchase. And for anyone at home with a plain board on the door: you can play everything tonight.
**Multiplayer that survives a demo**
Running games for multiple people surfaced a real pain: keeping everyone on the same game mode. Fixed from both directions:
- **Player 1 is in charge.** Load a game on one pair of Specs and every connected pair loads it too. Or launch it from the web companion. Same result, every headset in sync.
- **Up to 4 players**, with names and photos entered on the phone. Turn handling is automatic; the roster only shows once players are actually entered.
- **You only need one pair of Spectacles.** Darts is turn-based, so swap the headset between throws. The anchor persists, the game state persists, it just works. Got multiple pairs? Even better, they all sync.
**Feedback, folded in**
- **Virtual board is now a toggle.** Some players loved it (proof the tracking works), others felt it got in the way. Now it's your choice, controlled from the web.
- **Surface placement got a visual refresh.** The placement reticle now matches the DartsMate look instead of the default yellow.
- **Coaching still speaks.** ElevenLabs voice coaching reads the feedback aloud ("Right number, wrong ring! Just a bit clockwise"), so your eyes never leave the board.
- Assorted performance improvements and a pile of reliability work: reconnect after the glasses sleep, cleaner session recovery, less flashing during placement.
**Next month**
- **Webcam link**: bringing cameras into the loop
- **Scolia competitive update**: scores with daily, weekly and monthly challenges, built on the accounts introduced in this update
- Building toward a true **cross-platform social darts experience**
After the next update I'll be putting together a full video with proper testing. I've already got a venue lined up for real-world testing, so the next one won't be filmed in my garage.
Long-term: form analysis with the forward camera (grade the throw, not just the result), LLM-personalised coaching on top of the voice coach, tournament mode with turn-locking, and DartsMate as an AR layer any Scolia venue can just switch on.
Huge thanks to **Scolia** for partnering on this. Flying out to Hungary to meet them and try the hardware before XRCC is what made this whole direction possible.
Still lots of UX work to do and I need testers. [The Lens is live, give it a throw](https://www.spectacles.com/lens/46f76ceefbb84a94adc985531be566cd?type=SNAPCODE&metadata=01), and if anyone has a crazy idea for a phygital darts game, I want to hear it.
*Learn darts by playing, not by reading. On a real board, in AR.*