Skip to content

Repository files navigation

Rabbit R1 Creations

A collection of custom creations for the Rabbit R1, built from scratch using the native R1 SDK. Voice input, accelerometer, scroll wheel, keyboard editing — all working.

Getting started

There are three ways to use these apps:

1. Just scan and go — the apps are already hosted. Click any Install QR link in the table below, open the page on your computer or phone, and scan the QR code with your R1. Nothing to set up.

2. Self-host — clone this repo and host the apps yourself on Netlify, GitHub Pages, or any web server. Use the setup prompt to get an AI assistant to walk you through it.

3. Gemma Chat (advanced) — AI chat that requires you to run your own backend. Clone the repo and see the Bring your own backend section below.

Also includes a tips & tricks doc — a running log of everything figured out building these apps.


Apps

App Install Description Controls
🛒 shopping-list Install QR Voice-powered shopping list Hold = voice add · Long press item = delete · Double tap item = edit · Scroll = navigate
todo Install QR Three lists (Home / AI Dev / Random) Side click = cycle lists · Hold = voice add · Double tap = edit · Long press = delete · Scroll = navigate
💪 rep-tracker Install QR Daily push-up and row tracker with progress graphs Side click = cycle exercises · Scroll up/down = log reps · Long press = reset today
⏱️ rep-timer Install QR Workout interval timer Tap = start/pause · Hold = reset · Scroll = adjust duration · Side click = switch exercise/rest
🫧 spirit-level Install QR Bubble level using the native 60Hz accelerometer Side click = calibrate · Long press = reset calibration
🎲 dice-roller Install QR Shake to roll — d4 through d20, single or double dice Shake = roll · Scroll = change die · Side click = toggle single/double dice
📝 notes Install QR Voice or keyboard notes, review before saving, QR export Side click = new note · Hold = voice note · Double tap = edit · Long press = delete · QR button = export note
📅 calendar Install QR Monthly calendar with daily entries — voice or keyboard input Scroll = navigate days · Side click = open day · Scroll in day = select entry · Side click = add/edit entry · Hold = voice add · Tap ⟵ = back
🐣 r1-buddy Install QR Tamagotchi-style pixel-art companion with catch & fishing mini-games Tap = feed · Scroll ↑ = treat · Scroll ↓ = cuddle · Side = play · Side×2 = stats · Hold = menu (games / reset) · Shake = excite
🤖 gemma-chat — requires own backend AI chat powered by Gemma 4 Hold = speak · Side click = new chat · Scroll = navigate · Tap mute pill = mute TTS

Screenshots


Shopping List

Todo

Notes

Rep Tracker

Rep Timer

Spirit Level

Dice Roller

R1 Buddy

Calendar

Bring your own backend

App Description Controls
🤖 gemma-chat AI chat — clone the repo and run your own backend Hold = speak · Side click = new chat · Scroll = navigate · Tap mute pill = mute TTS

gemma-chat is not hosted here — it requires a backend server to proxy requests to an LLM. Clone the repo and follow the setup in gemma-chat/web-server.py. You can use any Google AI Studio key with Gemma, or swap in any OpenAI-compatible endpoint.


How to self-host

The apps are already hosted and ready to use via the Install QR links above. But if you want to run your own copy — to modify the apps, pin a specific version, or just not depend on someone else's hosting — here's how.

1. Host the app

Pick any free static host:

  • Netlify — drag and drop the app folder at netlify.com. Done.
  • GitHub Pages — push to a repo and enable Pages in settings.
  • Any web server — the apps are plain HTML, no build step needed.

Each app is self-contained in its own folder. Host as many or as few as you like.

2. Update the install URL

Open the app's install.html and replace the existing URL with your own hosted URL:

var creationUrl = 'https://your-domain.com/shopping-list/';

3. Generate the install QR

Open install.html in a browser — it generates the QR automatically from the URL above.

4. Scan with your R1

Open the R1 camera, scan the QR, and install. That's it.


Cache busting

The R1 caches the install URL. If you update an app and want users to get the new version, bump the ?v= parameter in install.html:

var creationUrl = 'https://your-domain.com/shopping-list/?v=2';

Regenerate the QR and rescan.


Tips & Tricks

See R1_CREATION_TIPS.md — a running log of everything figured out building these apps. Covers voice input, keyboard handling, accelerometer, shake detection, storage, LLM integration, and more.


Community

Questions or ideas? Find us in the #r1-creations channel on the Rabbit Discord.

About

Custom creations for the Rabbit R1 — voice, accelerometer, keyboard input and more. Bring your own host.

Resources

Stars

9 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages