Underground 2 Revived
Play Need for Speed: Underground 2 (2004) in Chrome and Firefox with WebGPU graphics, Web Audio, up to 120 fps widescreen, controller support, free roam and Online races with friends. Fan project, not
Play kid-friendly games, puzzles and a meal picker
Translation pending
AI summary · website content
GamesJavaScript · HTMLGitHub @leyzdooOnlineOwner 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
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗A static site — no build step, no framework. Every page is plain HTML that
pulls its content from apps-data.js at load time via layout.js.
index.html Public welcome page ("Capital, unlocked.")
about.html The thesis + identity narrative + resume placeholder
dashboard.html Grid of all apps ("the keyboard") — nav label "Portfolio"
compas.html
thewardrobe.html
obob.html Nine app pages — thin shells that render
boardzzz.html from apps-data.js via layout.js
jimgym.html
dissolution.html
careerist.html
tlaxcalatrail.html
marathonsandhealth.html
apps-data.js Single source of truth: name, description, launch URL, etc.
layout.js Renders header/footer + fills in dashboard/app content
styles.css The whole design system (colors, type, keycap components)
vercel.json Enables clean URLs: /compas instead of /compas.html
apps-data.jsEvery app currently has placeholder TODO copy and launchUrl: "#".
For each of the 9 apps, replace:
tagline — one line, shown on the dashboard card and app headerdescription — 2–3 sentences for the app's own pagefeatures — 3 short bulletslaunchUrl — the app's live Google Apps Script /exec URLNothing else needs to change — the dashboard grid and all 9 app pages read from this file automatically.
about.htmlTwo spots are marked TODO directly in the HTML:
Heads up on the thing you flagged: the "created by ... using Google Apps Script, not associated with Google" banner is added by Google to every GAS web app served with "Anyone" access — it shows regardless of how you link to it (new tab, iframe, or otherwise), because it's rendered by Google's servers, not by the linking page. Right now the "Open ↗" button just opens the GAS URL directly, which is the cleanest option available while apps stay on GAS. The banner goes away only once an app is migrated off Apps Script and rebuilt to deploy through Vercel — which is already the longer-term plan for this site.
capsunlocked)..). It's static HTML.capsunlocked.com.A record for the root domain and a CNAME for
www). Vercel issues the HTTPS certificate automatically once DNS
resolves.APPS array in apps-data.js.compas.html, rename it to <newslug>.html, and change
data-app="compas" to data-app="<newslug>".