Skip to content
szpolnyPublic

About

Motorsport schedules for F1, MotoGP, WEC, IndyCar, WRC and more, shown in your local time, with Apple Calendar feeds that keep themselves up to date.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Outlap

Outlap shows upcoming motorsport sessions in your local time zone, with series filters, country-specific viewing guides and Apple Calendar subscriptions that stay up to date. Built with SvelteKit and TypeScript.

Development

git submodule update --init --recursive
pnpm install
pnpm dev
pnpm check
pnpm build

Schedule data

The snapshot workflow fetches schedules hourly and publishes schedule.json to the data branch for production. Failed sources retain their last good data. Local development reuses the same GitHub snapshot, fetching providers directly only for newly added series absent from that snapshot. Series listed in the snapshot's source statuses count as present even when their calendar is empty or their latest refresh failed. Dev rechecks the snapshot hourly; if GitHub is unavailable, it keeps the in-memory schedule rather than scraping all providers.

See source adapters for data providers. Session end times are estimated when unpublished. Local times are converted with the venue's time zone (zones.ts); timetables published only as PDFs (TCR World Tour, Euroformula, GT World Challenge America, MXGP) are read with unpdf, which only the scraper loads. Events without a published timetable stay all-day; previous years' times are never used as estimates. Until a source publishes a season, its announced calendar is read from the Wikipedia season article as all-day race days, and replaced by the official timetable once it appears.

Viewing guides

Expand a race to see where to watch it in your country: TV channels, subscriptions and free streams. The country is detected from your connection and can be changed in the panel. Availability and geoblocking depend on country, series and round. Curated options include official guide links and checked dates; uncertain coverage is labelled explicitly. See viewing data and sources.

Credits

Logos, track outlines and photos belong to their respective creators and are used under their applicable terms. See photo credits and track credits.

License

Source code is licensed under the MIT License. Third-party assets remain subject to their respective licenses and terms listed above.

Shared calendar package

Common controls, date and ICS helpers, HTTP utilities, and schedule caching live in calendar-kit, included as a Git submodule at packages/calendar-kit. Sport-specific behavior stays in this app. The pnpm workspace dependency uses the exact commit pinned by this repo.

Clone with --recurse-submodules, or run git submodule update --init --recursive after cloning or pulling. pnpm install and the app's development, check, test, and build scripts build the package automatically. CI checks out submodules. For external build services, initialize submodules before installing dependencies.

For shared changes, follow packages/calendar-kit/README.md: publish the package commit to its Git remote first, then update and review the submodule pin here. No npm publication is needed. Keep the first-paint theme script in src/app.html and the shared theme toggle's configuration in agreement.

About

Motorsport schedules for F1, MotoGP, WEC, IndyCar, WRC and more, shown in your local time, with Apple Calendar feeds that keep themselves up to date.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages