explaingit

jiefuhe/nineplus

Analysis updated 2026-05-18

24SwiftAudience · vibe coderSetup · hard

TLDR

A personal-build iOS app that shows your Ninebot electric vehicle's battery, range, and location via a dashboard, widgets, and Siri Shortcuts.

Mindmap

mindmap
  root((repo))
    What it does
      Ninebot vehicle dashboard
      Home and Lock Screen widgets
      Siri Shortcuts support
    Tech stack
      Swift
      Xcode
      MapKit
      WidgetKit
    Use cases
      Battery and range monitoring
      Trip history tracking
      Local ride recording
    Audience
      Ninebot owners
      iOS hobbyist builders

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Monitor your Ninebot vehicle's battery, range, and charging status from a Home Screen widget.

USE CASE 2

Check vehicle status and location from the Lock Screen without opening the app.

USE CASE 3

Trigger vehicle status checks through Siri Shortcuts and App Intents.

USE CASE 4

Track trip history, mileage trends, and locally recorded rides over time.

What is it built with?

SwiftXcodeiOSMapKitWidgetKitSiriKit

How does it compare?

jiefuhe/nineplusashutosh160798/context-scopejcarterjohnson/constellate
Stars242424
LanguageSwiftSwiftSwift
Setup difficultyhardhardmoderate
Complexity3/53/5
Audiencevibe coderdevelopervibe coder

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires an Apple Developer account, Xcode signing setup, a physical iPhone, and a running NinePlus Platform server.

In plain English

NineBot+ is a personal iOS app for keeping track of a Ninebot electric vehicle, such as a scooter, and viewing its status directly from your iPhone. It shows a dashboard with details like battery level, estimated range, current status, whether it is charging, and its location, and it adds Home Screen and Lock Screen widgets so you can check that information without opening the app. It also supports Siri Shortcuts and Apple's App Intents system, keeps a history of your trips and mileage over time, records rides locally, and shows the vehicle's location on a map with reverse geocoding to turn coordinates into readable addresses. This is described as a personal build project rather than something set up for App Store distribution, so anyone using it needs to build the app themselves. To do that you need a Mac with Xcode, an Apple Developer account so you can sign the app for your own device, an actual iOS device to install it on, and access to a NinePlus Platform server that the app talks to for vehicle data. Building involves opening the project in Xcode, selecting your own Apple Developer team for both the main app and its widget extension, replacing the sample bundle identifiers with your own, and enabling a shared App Group so the app and widgets can share cached data. Once built and installed, setup happens inside the app itself: you enter your NinePlus server address and an optional bearer token, bind your account, and refresh the dashboard. After that first successful refresh you can add the widgets to your Home Screen or Lock Screen. Because iOS decides how often background widgets refresh on their own, opening the app and refreshing manually is the quickest way to get current data onto the widgets. On privacy, the app stores your configuration, login state, vehicle snapshots, cached addresses, and trip and ride records locally on your device, and the project explicitly warns against committing personal tokens, account data, signing certificates, or provisioning profiles into the repository. The README also notes that the main branch is server-only, and a separate branch called nine-proxy is needed if you require dual-mode connections.

Copy-paste prompts

Prompt 1
Walk me through building the NinePlus Xcode project with my own Apple Developer team and bundle IDs.
Prompt 2
Explain how to configure the shared App Group so the widgets can read the cached vehicle snapshot.
Prompt 3
Help me connect the app to my NinePlus Platform server and bind my account.
Prompt 4
What is the difference between the main branch and the nine-proxy branch in this project?

Frequently asked questions

What is nineplus?

A personal-build iOS app that shows your Ninebot electric vehicle's battery, range, and location via a dashboard, widgets, and Siri Shortcuts.

What language is nineplus written in?

Mainly Swift. The stack also includes Swift, Xcode, iOS.

How hard is nineplus to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is nineplus for?

Mainly vibe coder.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.