Files
Reactive-Resume/vercel.json
T
Amruth Pillai b399e289d6 feat(web): redesign the landing page as one scroll-driven story
"Everything you've done, on one page." A single resume page is assembled,
written, restyled, checked, tailored and shared as the visitor scrolls,
followed by live community numbers, languages, a support receipt, a
closing call to action and the footer. It replaces the previous homepage
and its playgrounds.

Motion: a small scroll engine (features/homepage/scroll.ts) writes each
section's progress as --p on every animation frame, and the scenes derive
their motion from it with CSS calc(). React only re-renders on coarse
steps held in a zustand store. Reduced motion collapses every pinned
scene to one screen at its end state and stops all ambient motion.

Server-rendered copy: the web build now prerenders the homepage once per
locale (Vite app builder, features/homepage/prerender.tsx) into
apps/web/dist-prerender, which the server sends for "/" by `?locale=`,
then the saved locale cookie. main.tsx waits for the route to load before
React replaces the prerendered page, so it never flashes a loading screen.
dist-prerender is added to turbo outputs, the Docker image and the Vercel
function files.

SEO: localized title and description, a canonical per locale, hreflang
alternates for every locale over `/?locale=` addresses (the app now reads
that parameter), and SoftwareApplication JSON-LD. The FAQ structured data
is dropped because the page shows no FAQ.

Also: self-hosted Anybody and Martian Mono (landing only) and Newsreader
italic, graphite doodles as WebP, new Material Symbols in the icon subset,
the pull-cord theme switch on the app's theme cookie, and new catalog
strings extracted for translation.
2026-09-29 22:34:16 +02:00

34 lines
741 B
JSON

{
"$schema": "https://openapi.vercel.sh/vercel.json",
"framework": null,
"buildCommand": "pnpm build && node apps/server/dist/prepare-deployment.mjs",
"outputDirectory": "apps/web/dist",
"functions": {
"api/index.mjs": {
"maxDuration": 300,
"includeFiles": "{apps/web/dist/index.html,apps/web/dist-prerender/**,apps/server/dist/**,node_modules/.pnpm/pdfkit@*/node_modules/pdfkit/js/{standard-fonts,data}/**}"
}
},
"routes": [
{
"src": "/",
"dest": "/api/index"
},
{
"src": "/index.html",
"dest": "/api/index"
},
{
"src": "/(robots\\.txt|sitemap\\.xml|llms\\.txt|schema\\.json)",
"dest": "/api/index"
},
{
"handle": "filesystem"
},
{
"src": "/(.*)",
"dest": "/api/index"
}
]
}