Documentation

Getting started with MeshKit

Everything you need to go from zero to mapping coverage, planning sites, and pinging repeaters โ€” all from your phone.

On this page
01

Signing in

MeshKit supports two sign-in methods: Google Sign-In and email/password. Both sync your data across devices.

๐ŸŽ
iOS users โ€” do not use "Continue with Google." Google Sign-In is blocked by Apple's WebKit restrictions on iOS. Instead, tap Sign in and create an account using your email address and a password. This is the only sign-in method that works reliably on iPhone and iPad.
1
Open meshkit.app in your browser
Navigate directly to meshkit.app in Chrome (Android) or Safari/Bluefy (iOS). Do not open via a link inside Discord, Messenger, or any other app โ€” those use embedded browsers that Google blocks for sign-in.
โš ๏ธ
Getting "Access blocked"? This means you opened the link from inside a chat app. Close that tab, open Chrome directly, and type meshkit.app in the address bar.
2
Tap "Sign in" in the top right
The sign-in button appears in the top right corner of the app bar. Tap it and select your Google account when prompted.
MeshKit
Sign in
Sign in to sync your data and access all tools
Continue with Google
๐Ÿ—บ
Map
๐Ÿ“ก
Ping
๐Ÿ“
Plan
โ˜€
Trace
3
Your account is created automatically
On first sign-in, MeshKit creates your account with a free tier. If you've been given Pro access, it will be applied within a few seconds of signing in โ€” just refresh the page if your badge still shows Free.
โ„น๏ธ
Sign-in options: On Android, use Continue with Google for the fastest setup. On iOS, use email and password only โ€” Google Sign-In does not work on iPhone or iPad.
02

Browser requirements

Most of MeshKit works in any modern browser. BLE radio features require a browser with Web Bluetooth support.

๐Ÿค–
Android
Use Chrome. Web Bluetooth is fully supported natively. All tools including BLE-connected features work out of the box. No additional apps needed.
๐ŸŽ
iPhone / iPad
Use Bluefy (available on the App Store) for BLE-connected features like Ping and Path Trace. Safari and Chrome on iOS do not support Web Bluetooth. Coverage Map and Site Planner work in any browser on iOS.
โš ๏ธ
iOS sign-in: When using Bluefy or Safari on iOS, sign in with email and password โ€” not Google. Google Sign-In is blocked on iOS browsers. Create your account at meshkit.app using the email option before opening Bluefy.
๐Ÿ’ก
Bookmark it. Add meshkit.app to your home screen for an app-like experience. On Chrome: tap the three-dot menu โ†’ Add to Home Screen. On Bluefy: tap Share โ†’ Add to Home Screen.
03

Connecting your radio

MeshKit connects to your MeshCore radio over BLE (Bluetooth Low Energy) directly from the browser. No pairing in system settings is needed.

1
Make sure your radio is powered on and nearby
Your MeshCore device needs to be on and within Bluetooth range (roughly 10 metres). You don't need to pair it in your phone's Bluetooth settings โ€” MeshKit handles the connection directly.
2
Tap "Connect radio" in the app bar
The Connect radio button sits in the top right of the app bar. Tap it and your browser will show a device picker listing nearby BLE devices.
MeshKit
Connect radio
Choose a device
6C0CEDC9
MeshCore_A1B2
Pair
๐Ÿ“ก
Ping
๐Ÿ—บ
Map
๐Ÿ“
Plan
โ˜€
Trace
3
Select your radio from the list
Your radio will appear as an 8-character hex ID (like 6C0CEDC9) or its configured device name. Tap it to connect. The button in the app bar will turn green and show your radio name when connected successfully.
โš ๏ธ
Don't see your radio? Make sure your phone's Bluetooth is enabled. Try moving closer to the radio. If it still doesn't appear, power cycle the radio and try again.
04

Importing radio contacts

Your radio stores a list of repeaters and nodes it has heard. MeshKit can pull this list over BLE and add them to the shared repeater database โ€” making them available across all tools.

1
Connect your radio first
The import requires an active BLE connection. Follow the steps in section 03 above before continuing.
2
Open Settings โ†’ Radio tab
Tap your avatar in the top right to open the user menu, then tap Settings. Switch to the Radio tab. You'll see the current repeater database status and import options.
โ€น Back
Settings
General
Radio
Admin
Status 142 repeaters in database
๐Ÿ“ก
Import from radio
Pull contacts via BLE
โ€บ
๐Ÿ“„
Upload CSV / JSON
name, lat, lon columns
โ€บ
3
Tap "Import from radio"
MeshKit will pull your radio's contact list over BLE. Only repeater nodes (type 2) with valid GPS coordinates are imported โ€” client nodes and contacts without GPS are skipped. Duplicates are detected and skipped automatically.
4
Alternatively, upload a CSV or JSON file
If you have a repeater list as a file, tap "Upload CSV / JSON". The file needs columns named name, lat, and lon. JSON should be an array of objects with those same keys.
๐Ÿ’ก
Repeaters sync to the cloud. Once imported, your repeaters are stored in Firebase and available to all your devices. Other users on the shared database can also benefit from repeaters you contribute.
05

Using the tools

MeshKit has five tools accessible from the bottom navigation bar. Here's what each one does and how to use it.

๐Ÿ—บ
Coverage Map Free
Visualizes ping data collected from the field as color-coded dots on a map. Each dot represents a single ping result โ€” tap any dot to see SNR, RSSI, RTT, and which repeater was pinged. Six signal quality tiers from Excellent (dark green) to Unlikely (dark red). Use this to understand where your network has coverage and where it doesn't.

No radio required โ€” the map loads from the shared Firebase database automatically.
๐Ÿ“ก
Ping Tool Free
Sends a zero-hop ping to a selected repeater and records the result โ€” SNR, RSSI, RTT โ€” tagged with your current GPS position. Results sync to Firebase and appear on the Coverage Map in real time.

Requires: BLE-connected radio + GPS enabled on your device. Best used while driving or walking to build up coverage data over time.

Select a repeater from the dropdown, tap Ping, and watch the result come in. You can ping the same repeater repeatedly as you move to map signal strength across an area.

Don't see repeaters in your region? The repeater database is populated by the community. If your local repeaters aren't listed, you can upload them via the Settings panel โ€” tap the gear icon in the top bar and look for the CSV import option.
๐Ÿ“
Site Planner โ˜… Pro
RF link analysis for every repeater in the database relative to a starting point. Enter or GPS-locate a position, set your antenna height and transmit power, then run the analysis. MeshKit fetches terrain elevation data and calculates line-of-sight, Fresnel zone clearance, and a full link budget for each repeater in range.

Results are color-coded by signal quality and sorted by likelihood of a usable link. Tap any result to see the full terrain profile and link budget breakdown.

Free users get one analysis to try it out. Pro users get unlimited analyses.

No radio required โ€” the planner works entirely from the repeater database and terrain data.
โ˜€
Path Trace Free
Traces a multi-hop path through the mesh and shows per-leg SNR, hop count, and RTT. Select up to four repeater hops, tap Trace, and see exactly how your packets are routing through the network and the signal quality at each hop.

Requires: BLE-connected radio. The radio must have a route to the target repeaters.

โœฆ Pro: Tap the AI Analysis tab after a trace to get hop-by-hop interpretation, bottleneck detection, and path reliability assessment.
๐Ÿ“ป
Signal Sweep โ˜… Pro
Automatically pings every repeater in range and builds a complete picture of your network from your current location. Two modes:

Field mode โ€” your radio pings each repeater directly. Tests what you can hear from where you're standing.

Network mode โ€” routes pings through an origin repeater to test the full network path. Useful for understanding what your repeater infrastructure can reach from a location, not just what your handheld can hear.

Results are saved to history so you can compare sweeps from the same location over time. After a sweep completes, tap โœฆ After Action to get an AI-generated report on your network health, anomalies, and recommended next steps.

Requires: BLE-connected radio + GPS.
06

AI-powered analysis

Pro users get AI analysis built into the Planner, Sweep, Trace, and Ping tools. Every analysis is grounded in your actual data โ€” repeater names, distances, measured SNR, and terrain results.

โœฆ
Site Planner โ€” Interpret results
After running a site analysis, tap the โœฆ AI Analysis tab. Claude reads your terrain results and explains which links are reliable, which are marginal, and why โ€” using your actual repeater names and measured values.
โœฆ
Site Planner โ€” Reach Advisor
In the AI Analysis tab, choose "I want to reach a specific repeater." Select the target, set any constraints, and Claude diagnoses why you're not reaching it and gives you ranked, specific fixes โ€” antenna height, alternate paths, relay options. If your sweep data shows a gap between what the planner predicted and what you actually measured, the Reach Advisor flags that and adjusts its recommendations accordingly.
โœฆ
Signal Sweep โ€” After Action Report
After a sweep completes, tap the โœฆ After Action tab. Claude summarizes your network health, calls out anomalies, compares to your previous sweep if available, and tells you the single most important thing to investigate next.
โœฆ
Path Trace โ€” Path Analysis
After a trace, tap โœฆ AI Analysis. Claude identifies the weakest hop, explains whether it's a range, terrain, or interference problem, and suggests whether an alternate route exists. Per-hop SNR bars show the quality of each leg visually.
โœฆ
Ping โ€” Link Analysis
After pinging a repeater, tap โœฆ Analyze link. Claude interprets your ping results โ€” is the link stable, degrading, or improving? What does the SNR variance mean? When is it worth pinging more?
โ„น๏ธ
AI analysis is limited to 20 calls per day per account. Results are cached for 1 hour โ€” use the Re-analyze button to force a fresh analysis if your data has changed.
07

Tips & troubleshooting

Common questions and things worth knowing.

Q
My Pro badge still shows Free after signing in
Pull to refresh or hard-reload the page. Pro access is applied within a few seconds of your first sign-in but the UI may need a refresh to pick it up.
Q
The BLE connection drops frequently
Keep your phone's screen on while using BLE-connected tools. Android aggressively suspends Bluetooth when the screen is off. On some devices, disabling battery optimization for Chrome or Bluefy helps.
Q
GPS isn't updating in the Ping tool
Make sure location permission is granted for your browser. On Android: Settings โ†’ Apps โ†’ Chrome โ†’ Permissions โ†’ Location โ†’ Allow all the time. On iOS with Bluefy, grant location permission when prompted.
Q
The Site Planner analysis is slow
The planner fetches elevation data for potentially hundreds of repeaters in a batch. Analysis time scales with the number of repeaters in range and your selected radius. Expect 5โ€“20 seconds for a full run. Keep the screen on during analysis.
Q
I imported contacts but they don't show in the planner
The repeater database is cached locally after first load. After importing new contacts, reload the page to pick up the updated database. The status pill in Settings โ†’ Radio will show the current count.
Q
The AI analysis says "Unknown analysis mode"
This means the AI worker didn't recognize the request. Try re-analyzing โ€” if it persists, the worker may be temporarily unavailable. AI analysis requires a valid Pro account and an active internet connection.
Q
Signal Sweep shows all timeouts in network mode
Network mode routes through your selected origin repeater. If that repeater is unreachable from your radio's current position, all targets will time out. Try field mode first to confirm your radio can hear local repeaters, then switch to network mode.
โ„น๏ธ
Found a bug or something missing? This is an early access build and feedback is the whole point. Let the person who invited you know what you found โ€” it helps more than you'd think.