NBA Feed
Your teams' news and games, with scores hidden until you reveal them.
Predict the Formula 1 season results and compete with friends
Sports & fitnessTypeScript · PLpgSQLGitHub @fedesanchezvidarteOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
A fun, friendly Formula 1 prediction game built for competing with friends — not a gambling or betting platform.
Predict race podiums, sprint results, and season-long championships, earn points based on accuracy, and climb the leaderboard. The goal is simple: bragging rights among friends who love F1.Read the full README ↗A fun, friendly Formula 1 prediction game built for competing with friends — not a gambling or betting platform.
Predict race podiums, sprint results, and season-long championships, earn points based on accuracy, and climb the leaderboard. The goal is simple: bragging rights among friends who love F1.
Live app: f1-prediction.vercel.app
F1 Prediction is a hobby project that turns every Grand Prix weekend into a friendly competition. Players forecast race outcomes, sprint results, and championship winners; the app scores predictions against the official results and tracks who's the sharpest tipster across the season. It exists to make watching F1 with friends more engaging — no money, no stakes, just bragging rights.
| Layer | Technology |
|---|---|
| Framework | Next.js (App Router, React Server Components) |
| Language | TypeScript |
| Styling | Tailwind CSS |
| Auth & Database | Supabase (Postgres with RLS) |
| Race Results | Entered manually by an admin (the meeting_key and source columns are retained as a hook for a future results provider) |
| Hosting | Vercel |
| Icons | Lucide React |
The codebase is an npm-workspaces monorepo: the Next.js app lives in apps/web, and all framework-agnostic business logic (scoring, achievements, types, translations) lives in packages/shared so it can be reused by the upcoming React Native mobile app. It follows a strict layered architecture: pages and API routes delegate to shared pure functions (scoring, utilities) and service functions (Supabase I/O), with all UI text routed through a bilingual i18n system.
git clone https://github.com/fedesanchezvidarte/f1-prediction.git
cd f1-prediction
npm install
Create apps/web/.env.local (copy from apps/web/.env.example) with your Supabase project's publishable values:
NEXT_PUBLIC_SUPABASE_URL=https://<your-project-ref>.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=<your-anon-key>
Both values are in your Supabase dashboard under Settings → API. They are publishable (safe for the browser); data access is protected by Row Level Security.
Then run from the repo root:
npm run dev # dev server at http://localhost:3000
npm test # Jest test suite
npm run lint # ESLint
npm run typecheck # TypeScript
For an in-depth look at the architecture, data model, and features, see the DeepWiki documentation.
This application is a hobby project made purely for fun among friends. It is not intended for gambling, betting, or any form of monetary exchange. No real money is involved — just friendly competition and love for the sport.