Quickstart
Create an account, explore teams and events, and start saving notes. New to Pillar? Start here.
Setup (Local Dev)
Set up the project locally: Next.js, Tailwind, Supabase, and optional AI integrations.
- Node 18+, pnpm/npm, and a Supabase project with anon URL and key.
- Copy env vars as described in SETUP_GUIDE.md (Supabase, OpenAI if enabled).
- Run the dev server and visit the app at http://localhost:3000.
Core features
Everything you need to scout: team pages, event data, AI summaries, collaborative notes, and exports.
- Team profiles at
/team/[teamNumber]with matches, rankings, and notes. - Events at /events with event code views.
- Analytics at /analytics for trends and comparisons.
- AI summaries via the Generate Summary tool and team pages when configured.
- Downloads for CSV/JSON of teams and matches.
FTC Events API
Live data is powered by the FIRST FTC Events API. We wrap endpoints under /app/api/ftc/* routes.
- Endpoints implemented under
app/api/ftcproxy the official API. - See
lib/api/ftcEvents.tsandlib/ftc-events.tsfor helpers. - Official docs: ftc-events.firstinspires.org/api-docs
Notes system
Write private or public notes, attach them to teams/events, and collaborate with your drive team.
- Notes live at /notes; modal and UI provided in
components/modals/scouting-report-modal.tsx. - Persistence handled via Supabase; schema in
prisma/schema.sqland notes guide.
Analytics
Compare teams and visualize trends to make data‑driven decisions.
- Charts powered by
recharts. Seecomponents/dashboardfor examples. - Download raw data from Downloads for offline analysis.
Design system
Reusable cards, buttons, and motion patterns with Tailwind and Framer Motion.
- UI primitives:
components/ui/button.tsx,components/ui/card.tsx. - Navigation:
components/navigation/navbar.tsx,components/navigation/sidebar.tsx. - Animations:
components/animations/*andhooks/use-theme.tsfor theming.
Testing & QA
Validate API routes and data integrity; suggested flows for manual verification.
- Verify
app/api/ftc/*endpoints by opening Events/Teams pages and checking network calls. - Manually test notes create/update/delete and visibility toggles.
Account & Security
Authentication is handled by Supabase. You can sign out from the navbar.
- Auth helpers:
@supabase/auth-helpers-nextjswith session awareness in the navbar. - Protect keys and never expose service roles in the client.
Data exports
Export team and match data for offline use or analysis in spreadsheets.
- Find exports under Downloads. Formats: CSV/JSON (where available).