Xavorian is live. Browse verified homes, land and commercial property for sale or rent across Nigeria, with document-verified listings in Lagos, Abuja, Asaba, Owerri, Ogun and beyond. Sign up free tod
CommerceGitHub @xavorian-orgOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
Xavorian is live. Browse verified homes, land and commercial property for sale or rent across Nigeria, with document-verified listings in Lagos, Abuja, Asaba, Owerri, Ogun and beyond. Sign up free today.
Taken from the repository README
Loading the full README.
Read the full README ↗The public, SEO-first face of Xavorian — a Next.js 14 (App Router) site
deployed serverless on Vercel. Every content page is real HTML prerendered at
build time; only the OG/Twitter card images render on demand. CTAs resolve to
/waitlist, never to the main marketplace app.
/opengraph-image + /twitter-image are edge routes
that generate the social card via next/og at request time — never hardcode
an absolute og:image URL again, the file conventions do it automatically)src/app/globals.css
(white canvas · black primary · one purple accent #7C3AED / hsl(262 83% 58%))three + @react-three/fiber + @react-three/drei) for the
TrustGate hero scene — lazily loaded, guarded (WebGL + reduced-motion + small
screens fall back to a static SVG illustration)@supabase/supabase-js, anon insert only)npm install # once
npm run dev # local dev at http://localhost:3000
npm run build # production build → .next/ (Vercel deploys this serverlessly)
| Route | Source |
|---|---|
/ | src/app/page.tsx + src/components/landing/* sections |
/waitlist | src/app/waitlist/page.tsx + src/components/WaitlistForm.tsx |
/blog, /blog/:slug | src/data/blog.ts registry + generateStaticParams |
/guides, /guides/:slug | src/data/guides.ts registry + generateStaticParams |
/how-it-works, /about, /vision, /faq, /agents, /support, /contact | src/app/<route>/page.tsx |
/terms, /privacy, /disclaimer | verbatim ports of the main-site legal docs |
sitemap.xml, robots.txt | src/app/sitemap.ts, src/app/robots.ts (generated at build) |
Adding a page: for content pages, append to src/data/blog.ts or
src/data/guides.ts — route, metadata, JSON-LD and sitemap entry are generated
automatically. For bespoke pages, add a folder under src/app/ with page.tsx
and use pageMetadata() from src/lib/seo.tsx.
Brand facts, city list and the four verification gates live in
src/data/site.ts — edit once, the whole site follows.
supabase/waitlist.sql creates the waitlist table (anon insert-only RLS).
Run it once against Supabase project bxiptffmsxamsgkzqutj. If the table is
unreachable the form stores leads in localStorage (xavorian-waitlist-backup)
so no signup is ever lost.
#7C3AED is an accent: icons, tiny dots, focus rings, the 3D seal.bg-background, text-muted-foreground, border-border) — never raw hex.<h1> per page; JSON-LD where it earns its place.prefers-reduced-motion; keep First-Load JS lean.