How we build
Technology and AI Transparency
What Robolyst runs on, who we share your data with, and where AI does and doesn't touch the code.
- Version
- 1.0
- Last verified against production
- 15 August 2026
Contents
How Robolyst is built
Robolyst is one application, run by one small group of volunteers. This half of the page covers what it is made of, where it runs, and which companies your data touches on the way through.
1. The stack
Robolyst is a single SvelteKit application written in TypeScript, using Svelte 5 and Tailwind for the interface. It runs on Node. Most pages are built per request, against your team and your role.
Data sits in PostgreSQL. We use Drizzle for the schema and migrations, so any change to how your data is stored exists as a file in the repo that one person wrote and another approved. We don't alter the database structure by hand or reach into it through a web panel.
The notebook and documentation editors are built on TipTap. Maps are MapLibre. Icons are Lucide. We host our own fonts rather than loading them from Google, so opening a page doesn't send a request to a third party.
2. Where it runs
The application and the database run in Docker containers on a VPS we rent and administer. Cloudflare sits in front for bot detection. Uploads go to Cloudflare R2 object storage.
3. Subprocessor register
Last verified against production on 15 August 2026. Every name below is somewhere your data can go.
Push notifications use the browser's own push standard with our keys, so no company sits between us and your device.
4. Where the competition data comes from
Event, team, match, ranking and award data comes from the FIRST Tech Challenge Events API. We sync it into our own database so pages load faster.
5. How we work
Work is tracked in GitHub issues and reaches the site through pull requests that a maintainer reads before merging. Our repository is write protected, so another person has to approve a change before it can be merged. Some of what we build is published for other teams to use.
We're a 501(c)(3) staffed exclusively by volunteers, so the constraint is time rather than money.
AI transparency
If you're trusting this software with your roster, your season and in some cases your budget, you should know which parts of it a model helped write.
1. What a model touched
AI coding assistants take on a lot of the visual work while people keep the features. All it can modify is the frontend layer.
2. Design and frontend
Screens are designed before they're built. The team management portal was laid out in Figma first, and so is most of what you see inside the toolkit. Someone decides what belongs on a screen, what sits next to what, and what a student should do first.
AI comes in after that, turning an agreed design into components that behave on a phone. Marketing and landing pages use it most, because they're mostly layout and they get rewritten often. Inside the toolkit it does less: we draft components and layouts with minimal styling, then use AI to polish them.
3. Review before it ships
Every change gets the same review whether or not a model helped write it, and nothing deploys straight from a model's output. Code that appears to work isn't sufficient on its own. In the areas marked no in the table above, the review is slower.
4. AI inside the product
There's one AI feature and you have to switch it on yourself. AI Access, under Team Management, gives your team a server URL you can connect to Claude, ChatGPT or Gemini. Once it's connected you can ask an assistant about your own roster, tasks, schedule, documentation and budget.
It signs in as you, so the assistant sees exactly what your role allows and nothing belonging to another team. It is not a way around permissions. Most of what it can do is read only; a short list of actions can write, such as creating a task, logging an expense, requesting an order or drafting an announcement. Every tool is listed on the settings page, marked read or write, before you connect anything. Any owner or admin can disconnect it later.
5. Your data and model training
We don't use your content to train machine learning models, and we don't pass your data to companies that would. This is in our Privacy Policy as well.
Connecting your own assistant is the exception, and it's one you make deliberately. Your questions and any data the assistant retrieves go to whichever provider you chose, under their terms rather than ours. We have no control over what they keep or for how long.
6. What we will not do
We will not publish model output under a real student's or volunteer's name. We will not let a model decide moderation, account access or whether someone is removed from a team. We will not use one team's private data to build or tune a feature for anyone else; all of our testing runs on a development instance with no real data in it.
OPR, ranking trends, luck, leaderboards and the rest are calculated from match results. No model estimates any of these numbers and no model writes scouting opinions. If a figure looks wrong, either the source data is wrong or our formula is. Both are fixable and you can report either one.
Technology and AI Transparency, adopted 15 August 2026.
Questions about this document, reach out through the contact form.
Amendments
- 1.0
- 15 August 2026
- First published.