Loading SpectrumAdmin…
Admin access only.
πŸ”’

Awaiting Approval

Your account () is pending approval. Contact the team lead to request access.

Awaiting Approval
Loading…
Approved Members
Loading…
Register My App

You do not need to create a Firebase project. Once Allen approves your app, you'll get the Firebase config to copy directly from this page.

App Name
App Key
Lowercase letters and numbers only. This becomes your APP_KEY in config.js.
GitHub Repo Name
App URL
Description (optional)
Student Developer Guide

You're going to use Claude Code β€” an AI assistant that reads, writes, and runs code for you β€” to build a real web app the team will actually use. You don't need to already know how to code. This guide assumes zero experience with AI coding tools and walks you through everything, in order.

1 Welcome

Everything this app needs to talk to the rest of Spectrum's systems β€” sign-in, a shared database, hosting β€” is already built and waiting for you. You won't set any of that up from scratch. Your job is to describe what you want to build, review what Claude proposes, and test it.

New to this? Perfect. Nothing here assumes you've ever used an AI coding tool, or even written much code at all.

2 Sign in β€” get your accounts ready

Claude Code needs you to be signed in before it will do anything, so grab these two logins from a mentor before you go any further:

AccountUsed for
Spectrum3847@gmail.comSigning into GitHub β€” where your code lives
Spectrum3847@radiantrobotics.orgSigning into Claude Code itself

Get both passwords from a mentor now β€” you'll need the Claude account in the very next section, and the GitHub account a little further along.

3 Install your tools

There's really only one thing you install by hand: the Claude Desktop app. Once that's running, you can ask it to install everything else for you β€” and it will ask your permission at every step, so nothing happens without you clicking Accept. Windows and Mac only below.

Step 1

Install Claude Desktop

Go to claude.com/download, download the version for Windows or Mac, and install it like any other application β€” no terminal involved.

Open it and sign in with the Claude account from Section 2 (Spectrum3847@radiantrobotics.org).

Note: this requires Team 3847's Claude plan to include Claude Code access. If sign-in asks you to upgrade, that's a mentor problem, not a you problem β€” ask Allen.
Step 1b β€” Windows only

Install Git for Windows

On Windows, Git needs to already be on your computer before the Code tab's "Local" mode will work. (Most Macs already have this β€” Mac users can skip straight to Step 2.)

Download it from git-scm.com/downloads/win and install it β€” the default options are all fine, just keep clicking Next.

Step 2

Open the Code tab and let Claude do the rest

  1. In the Claude Desktop app, click the Code tab along the top.
  2. Choose Local, then click Select folder.
  3. Create a new, empty folder for your app (for example, a folder on your Desktop named after your app idea) and select it.
  4. In the message box at the bottom, paste this:
Please check whether I have GitHub CLI (gh), Node.js, and the Firebase CLI installed on this computer. Install whichever ones are missing yourself β€” on Windows use winget, on Mac use Homebrew (install Homebrew first if I don't have it). Ask me before running anything, and tell me in plain English what each command does before you run it.

Claude will check each tool, and if something's missing, it'll show you the exact command it wants to run and wait for you to click Accept before doing anything. No terminal window, no typing commands yourself.

For reference, here's what Claude is checking for you:

git --version
gh --version
node --version
firebase --version

4 Meet Claude Code

Before you start building, here's what a session in the Code tab looks like:

  • You type what you want in plain English, in the message box at the bottom.
  • Claude reads and writes files in your project folder, and can run commands β€” like installing something, or starting a test server.
  • Every file change and every command shows up as a card you can Accept or Reject before it happens. This is called Manual mode, and it's the default β€” nothing changes on your computer until you say yes.
  • Your project has a file called CLAUDE.md sitting in the folder. Claude automatically reads it at the start of every session β€” it's a cheat sheet that tells Claude exactly how Spectrum apps are built, so you don't have to explain any of that yourself.
You're always in control. If Claude does something you don't like or don't understand, reject the change or just ask it to try something different.

Choosing a mode

Next to the message box there's a mode selector. It controls how much Claude does on its own before checking in with you:

ModeWhat it means
ManualThe default. Claude asks before every file change and every command. Best for your first few sessions, while you're still learning what Claude actually does.
PlanClaude explores your project and proposes a plan, but doesn't change anything yet. Great for a big ask β€” like "add a whole new feature" β€” before you let it start editing.
Accept editsClaude applies file changes automatically so you're not clicking Accept constantly, but still checks before running commands. Good once you trust the workflow.
AutoClaude decides for itself what's safe to just do versus what to ask about. Skip this one for now β€” Manual or Accept edits give you a much better feel for what's actually happening in your project.
Don't use Bypass permissions. It's an option buried in settings that turns off Claude asking you anything at all before it acts. No student project needs it, and it removes the entire safety net this guide is built around.

A good rhythm for a new feature: start in Plan so Claude explains its approach first, then switch to Manual or Accept edits to actually build it.

5 Pick your model, and know your usage limits

Which model to use

The model dropdown next to the message box lets you pick which version of Claude does the work. For building your app, use the latest Claude Sonnet model β€” it's what Team 3847's account is set up for, and it's plenty capable for everything in this guide.

Don't select Fable. Fable runs on separate pay-as-you-go API credits that Team 3847 doesn't have set up. Picking it will likely make your session fail to send β€” or worse, rack up charges nobody budgeted for. If you ever see "Fable" in the model list, leave it alone and pick Sonnet instead.

If a mentor suggests trying Opus for something especially tricky, that's fine β€” but Sonnet should be your default for basically everything you build here.

Usage limits β€” what to expect

Claude accounts refill on a rolling basis β€” a short window that resets every few hours, plus a bigger weekly allowance. Since everyone on the team signs into the same shared account (Spectrum3847@radiantrobotics.org), that allowance is shared across every student building at the same time, not just you.

  • If you see a message about hitting a session or weekly limit, that's normal β€” not something you broke. It tells you when it resets, so just come back then.
  • Busy times (like everyone building right before a meeting) burn through the shared limit faster than working solo. Spread out big building sessions when you can.
  • Long, rambling sessions use more of the allowance than focused ones. Starting a fresh session for each new feature β€” instead of one giant session for your whole project β€” helps a lot.
  • Being specific about what you ask for ("add a search box that filters the parts list by material") uses less than a vague ask ("make this better"), because Claude has to do less guessing and re-work.

Still stuck on a limit and it's blocking real work? Ask a mentor β€” there may be a way to add usage headroom for the team.

6 Plan your app

Before you open Claude Code and start building, spend a few minutes deciding what you're actually building. The best student projects start small: one clear problem, one main type of thing you're tracking, for one group of people. You can always add more later.

Answer these three questions β€” even just to yourself:

  1. What problem does this solve for the team?
  2. Who's going to use it, and what's the one thing they need to do with it?
  3. What's the one "main data type" β€” the noun the whole app revolves around? (an alumnus, a part, a meeting, a sponsor…)

πŸ’Œ Alumni Tracker

Keeps a running roster of Spectrum members who've graduated. Every six months, it reminds an admin to email the alumni list a quick check-in form, and collects whatever they fill out.

  • Main data type: an alumnus (name, grad year, contact info, last check-in date)
  • Needs a scheduled task for the 6-month reminder β€” see the Firebase CLI note above

πŸ”© Robot Parts Tracker

Replaces the team's Robot Sheet spreadsheet. One record per part, describing exactly how it gets made.

  • Main data type: a part β€” mechanism it belongs to, how it'll be made, material, tools needed, finish (powder coat, anodize, raw, etc.)
  • No scheduled tasks needed β€” just a clean list and a form

Still brainstorming? A few more ideas that follow the same one-clear-problem shape:

  • Meeting Notes Archive β€” a searchable log of team meeting notes by date
  • Competition Day Checklist β€” a shared checklist the drive team runs through at every event
  • Sponsor Contact Tracker β€” who to contact at each sponsor, when you last reached out, what they've given
  • Event RSVP Form β€” lets members sign up for an event and see who else is going
  • Scouting Notes Viewer β€” a simple read-only page that displays match scouting data
Whatever you pick, tell Claude Code your answers to the three questions above in your very first message β€” the more specific you are, the better your first version will be.

7 Build it with Claude Code

This is where two tabs work together: Register My App (right next to this one) and the Code tab you already opened in Section 3.

Step 1

Register your app

Switch to the Register My App tab and fill in an app name, an APP_KEY, a GitHub repo name, and a short description of what you're building, then submit it. This puts your app in front of Allen for approval β€” Slack notifies the admin channel automatically.

Step 2

Wait for approval

You'll see a green "Your App is Approved!" message appear on the Register My App tab once Allen approves it. There's nothing to do here except check back.

Step 3

Download your CLAUDE.md

Once approved, click Download CLAUDE.md right there on the Register My App tab. This file is already customized with your app's name, key, and Firebase connection details β€” you don't fill in anything yourself.

Step 4

Drop it in your project folder and tell Claude what you want

Save the CLAUDE.md file into the same empty folder you opened in the Code tab back in Section 3. Claude automatically reads any CLAUDE.md file in your project folder, so as soon as it's there, describe your app idea in the message box β€” using your answers from Section 6 β€” and Claude will take it from there: creating your GitHub repo, wiring up sign-in, setting up your database, and building your first screens.

Everything Claude proposes still shows up as an Accept/Reject card, same as before. If something looks confusing, ask Claude to explain it before you accept.

You'll see Claude create files, run commands, and eventually push your first version to GitHub β€” all as cards you approve one at a time.

8 Go live and keep improving it

Once Claude pushes your first commit, your app is live at https://spectrum3847.github.io/YourRepoName β€” usually within about a minute. Open that link and actually sign in with your Google account to make sure the whole flow works end to end (sign in β†’ get approved by Allen β†’ see your app).

From here, building is just a conversation:

  • Show it to a mentor or another student and get feedback
  • Come back to the Code tab any time and ask Claude for the next feature, a bug fix, or a design tweak
  • Small, frequent changes are easier to review than one giant one β€” accept changes as you go rather than saving up a huge pile of edits

9 Getting unstuck

What you're seeingWhat's happening
"Awaiting Approval" screenNormal β€” it means your account or your app hasn't been approved by Allen yet. Wait, or ask in Slack.
Sign-in works once, then breaks after a refreshTell Claude β€” this almost always means a one-line auth fix, not a you problem.
GitHub Pages shows a 404Pages might not be turned on yet, or it just needs a minute after your first push. Ask Claude to check.
Not sure if a tool installed correctlyAsk Claude Code to run the version-check commands again and tell you what's missing.
Claude wants to run something and you're not sureAsk it to explain what the command does in one sentence before you decide whether to accept.

Still stuck? Ask a mentor, or post in the team Slack. Nobody expects you to have all the answers on your first app.

Registered Apps
Loading…
Form Responses
Loading…
Firestore Quota
Slack
Slack Bot Token
Bot token from api.slack.com/apps β€” needs chat:write and chat:write.public scopes.
Admin Channel
Access requests and admin notifications post here.
Coaches Channel
Monthly birthday digest posts here. Use the channel ID (right-click channel β†’ View channel details), not the name.
API Keys β€” FRC
The Blue Alliance β€” Read Key
From thebluealliance.com/account β€” read-only key.
API Keys β€” Onshape
Onshape Access Key
From dev-portal.onshape.com/keys β€” create a read-only API key.
Onshape Secret Key
Never shared with client apps β€” only used server-side in Cloud Functions.
API Keys β€” GitHub
GitHub Personal Access Token
Fine-grained PAT β€” needs Contents (read/write), Pages (read/write), Pull requests, Issues, Metadata. Org must approve fine-grained PATs under Settings β†’ Third-party access.
GitHub Organization
Default org used when apps call GitHub without a full path.
Cloudflare
API Token
From dash.cloudflare.com/profile/api-tokens β€” use the "Edit zone DNS" template, scope to both domains.
Zone ID β€” spectrum3847.org
Zone ID β€” 3847.io
Google Workspace
Shared Drive ID
Open your Shared Drive in Google Drive β€” the ID is the last segment of the URL: drive.google.com/drive/folders/DRIVE_ID.
Default Permission Role
Role granted to approved users on the Shared Drive.
Service Account JSON
Paste the full JSON key file for a Google Cloud service account that has been added as a Manager on the Shared Drive. The Drive API must be enabled in your Google Cloud project.
Spectrum Apps β€” Shared Firebase Project
Service Account JSON (spectrum-apps-3847)
One-time setup. Paste the full service account key JSON for spectrum-apps-3847 (Firebase Console β†’ Project Settings β†’ Service Accounts β†’ Generate new private key). Used by getCustomToken to mint tokens for all shared-project apps.
Developer Resources
New App Starter
Drop this file into any new project repo. It gives Claude everything it needs to scaffold a Spectrum app β€” auth, Slack, GitHub, Onshape, TBA β€” without any explanation from you.