<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title inertia>RatLap. Join and organize alleycats.</title>
<meta name="description" content="RatLap is the easiest way to join and to organize alleycats or real-world orienteering games. It's free, perfectly anonymous, but dangerously addictive.">
<meta name="robots" content="index, follow">
<link rel="canonical" href="https://ratlap.com">
<link rel="alternate" hreflang="x-default" href="https://ratlap.com">
<link rel="alternate" hreflang="en" href="https://ratlap.com/en">
<link rel="alternate" hreflang="fr" href="https://ratlap.com/fr">
<link rel="alternate" hreflang="es" href="https://ratlap.com/es">
<link rel="alternate" hreflang="it" href="https://ratlap.com/it">
<link rel="alternate" hreflang="de" href="https://ratlap.com/de">
<link rel="alternate" hreflang="nl" href="https://ratlap.com/nl">
<link rel="alternate" hreflang="ja" href="https://ratlap.com/ja">
<link rel="alternate" hreflang="ko" href="https://ratlap.com/ko">
<!-- Open Graph / Social -->
<meta property="og:type" content="website">
<meta property="og:site_name" content="RatLap">
<meta property="og:title" content="RatLap. Join and organize alleycats.">
<meta property="og:description" content="RatLap is the easiest way to join and to organize alleycats or real-world orienteering games. It's free, perfectly anonymous, but dangerously addictive.">
<meta property="og:url" content="https://ratlap.com">
<meta property="og:image" content="https://ratlap.com/icon-512.png">
<meta property="og:image:width" content="512">
<meta property="og:image:height" content="512">
<meta property="og:locale" content="en_US">
<meta property="og:locale:alternate" content="fr_FR">
<meta property="og:locale:alternate" content="es_ES">
<meta property="og:locale:alternate" content="it_IT">
<meta property="og:locale:alternate" content="de_DE">
<meta property="og:locale:alternate" content="nl_NL">
<meta property="og:locale:alternate" content="ja_JP">
<meta property="og:locale:alternate" content="ko_KR">
<!-- Twitter Card -->
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="RatLap. Join and organize alleycats.">
<meta name="twitter:description" content="RatLap is the easiest way to join and to organize alleycats or real-world orienteering games. It's free, perfectly anonymous, but dangerously addictive.">
<meta name="twitter:image" content="https://ratlap.com/icon-512.png">
<!-- Schema.org JSON-LD -->
<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebApplication","name":"RatLap","headline":"RatLap. Join and organize alleycats.","description":"RatLap is the easiest way to join and to organize alleycats or real-world orienteering games. It's free, perfectly anonymous, but dangerously addictive.","image":"https://ratlap.com/icon-512.png","applicationCategory":"GameApplication","operatingSystem":"Web","inLanguage":["en","fr","es","it","de","nl","ja","ko"],"url":"https://ratlap.com","offers":{"@type":"Offer","price":"0","priceCurrency":"EUR"}}</script>
<!-- Favicons, PWA & Theme -->
<link rel="icon" type="image/x-icon" href="/favicon.ico">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="manifest" href="/manifest.json">
<meta name="theme-color" content="#ffffff" media="(prefers-color-scheme: light)">
<meta name="theme-color" content="#000000" media="(prefers-color-scheme: dark)">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="default">
<meta name="apple-mobile-web-app-title" content="RatLap">
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
<!-- Fonts -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="preload" as="style" href="https://fonts.googleapis.com/css2?family=Courier+Prime:wght@400;700&display=swap" onload="this.onload=null;this.rel='stylesheet'">
<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Courier+Prime:wght@400;700&display=swap"></noscript>
<!-- Scripts -->
<link rel="preload" as="style" href="https://ratlap.com/build/assets/app-CRZvEJWo.css" /><link rel="preload" as="style" href="https://ratlap.com/build/assets/Welcome-BkASufKT.css" /><link rel="modulepreload" as="script" href="https://ratlap.com/build/assets/app-rDLD_SKH.js" /><link rel="modulepreload" as="script" href="https://ratlap.com/build/assets/Welcome-DyiXg1yE.js" /><link rel="modulepreload" as="script" href="https://ratlap.com/build/assets/_plugin-vue_export-helper-BDNMzG2s.js" /><link rel="stylesheet" href="https://ratlap.com/build/assets/app-CRZvEJWo.css" /><link rel="stylesheet" href="https://ratlap.com/build/assets/Welcome-BkASufKT.css" /><script type="module" src="https://ratlap.com/build/assets/app-rDLD_SKH.js"></script><script type="module" src="https://ratlap.com/build/assets/Welcome-DyiXg1yE.js"></script>
<script>
window.addEventListener('load', () => window.setTimeout(() => {
const makeLink = (asset) => {
const link = document.createElement('link')
Object.keys(asset).forEach((attribute) => {
link.setAttribute(attribute, asset[attribute])
})
return link
}
const loadNext = (assets, count) => window.setTimeout(() => {
if (count > assets.length) {
count = assets.length
if (count === 0) {
return
}
}
const fragment = new DocumentFragment
while (count > 0) {
const link = makeLink(assets.shift())
fragment.append(link)
count--
if (assets.length) {
link.onload = () => loadNext(assets, 1)
link.onerror = () => loadNext(assets, 1)
}
}
document.head.append(fragment)
})
loadNext(JSON.parse('[{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/ratlap.com\\\/build\\\/assets\\\/CreateLap-Cfc0lx_-.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022style\u0022,\u0022href\u0022:\u0022https:\\\/\\\/ratlap.com\\\/build\\\/assets\\\/CreateLap-BY-m79GS.css\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/ratlap.com\\\/build\\\/assets\\\/EditLap-BJnD6Sw_.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022style\u0022,\u0022href\u0022:\u0022https:\\\/\\\/ratlap.com\\\/build\\\/assets\\\/EditLap-QTsBxcKe.css\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/ratlap.com\\\/build\\\/assets\\\/Manual-ClkBIdcK.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022style\u0022,\u0022href\u0022:\u0022https:\\\/\\\/ratlap.com\\\/build\\\/assets\\\/Manual-C5exCZBv.css\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/ratlap.com\\\/build\\\/assets\\\/Manage-QEKncd_D.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022style\u0022,\u0022href\u0022:\u0022https:\\\/\\\/ratlap.com\\\/build\\\/assets\\\/Manage-TnBgQsW4.css\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/ratlap.com\\\/build\\\/assets\\\/Show-BamP7uAS.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022style\u0022,\u0022href\u0022:\u0022https:\\\/\\\/ratlap.com\\\/build\\\/assets\\\/Show-4dUCMZDh.css\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/ratlap.com\\\/build\\\/assets\\\/Show-BsYjpTqC.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022style\u0022,\u0022href\u0022:\u0022https:\\\/\\\/ratlap.com\\\/build\\\/assets\\\/Show-D1SCHNV6.css\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022script\u0022,\u0022href\u0022:\u0022https:\\\/\\\/ratlap.com\\\/build\\\/assets\\\/DateTimeSpinners-SdTB54U4.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022style\u0022,\u0022href\u0022:\u0022https:\\\/\\\/ratlap.com\\\/build\\\/assets\\\/DateTimeSpinners-BmhDDpij.css\u0022,\u0022fetchpriority\u0022:\u0022low\u0022}]'), 3)
}))
</script> </head>
<body class="font-sans antialiased">
<main>
<section class="sr-only" aria-hidden="false">
<h1>RatLap. Join and organize alleycats.</h1>
<p>RATLAP is a real-world GPS game built for cycling and orienteering enthusiasts, perfect to organize alleycats and other frivolous human-powered activities.</p>
<p>Explore Laps around you, or craft your own custom checkpoints and challenge your friends.</p>
<p>No email, no hassle. Create your anonymous Rat profile in two seconds. It’s protected by a local cookie and a 4-digit PIN, and your secret seed phrase lets you recover it on any device. Keep it safe: lose it, and your profile is gone.</p>
<p>Ride safe. Stay smart.</p>
<p>Join the Rat's way.</p>
<nav aria-label="Languages">
<a href="https://ratlap.com/start">RatLap. Join and organize alleycats.</a>
<a href="https://ratlap.com/en" hreflang="en">EN</a>
<a href="https://ratlap.com/fr" hreflang="fr">FR</a>
<a href="https://ratlap.com/es" hreflang="es">ES</a>
<a href="https://ratlap.com/it" hreflang="it">IT</a>
<a href="https://ratlap.com/de" hreflang="de">DE</a>
<a href="https://ratlap.com/nl" hreflang="nl">NL</a>
<a href="https://ratlap.com/ja" hreflang="ja">JA</a>
<a href="https://ratlap.com/ko" hreflang="ko">KO</a>
</nav>
</section>
<div id="app" data-page="{"component":"Welcome","props":{"errors":{},"locale":"en","ratlapConfig":{"maxGpsAccuracy":12,"maxValidationDistance":12},"ratUuid":null,"ratPseudo":null,"createdLaps":[],"trophies":[],"closestLaps":[],"closestRats":[],"allRats":[],"onlineRatsCount":1,"totalRatsCount":2,"skipSplash":false,"initialMenu":null},"url":"\/","version":"f06ffae4ef2118e55385894ad8558e6a","clearHistory":false,"encryptHistory":false}"></div> </main>
</body>
</html>