Luminary Leaders is a React and TypeScript digital archive of influential people across technology, markets, sports, cricket, and science. The app presents biography pages, curated story sections, comparison tools, bookmarks, dark mode, print/share actions, and offline support through a service worker.
- Home page with animated sections for leaders, traders, athletes, cricketers, scientists, blogs, methodology, stats, and bookmarks.
- Individual profile pages for technology leaders, traders, sports people, cricketers, and scientists.
- Search, filtering, bookmarking, and profile comparison flows.
- Blog listing and article pages.
- PWA manifest and service worker for installable/offline-friendly behavior.
- Dark mode, print styles, share actions, audio narration support, and an offline banner.
- Smooth scrolling and animation using Lenis, GSAP, and a particle canvas background.
- React 19
- TypeScript
- Vite
- React Router
- Tailwind CSS
- Radix UI primitives
- Lucide React icons
- GSAP and Lenis
- Three.js
| Route | Purpose |
|---|---|
/ |
Main archive landing page |
/leader/:id |
Technology and business leader profile |
/trader/:id |
Trader and investor profile |
/athlete/:id |
Sports person profile |
/cricketer/:id |
Cricketer profile |
/scientist/:id |
Scientist profile |
/blog |
Blog index |
/blog/:slug |
Blog article |
/privacy |
Privacy policy |
/terms |
Terms of use |
Install dependencies:
npm installStart the development server:
npm run devBuild for production:
npm run buildPreview the production build locally:
npm run previewRun linting:
npm run lintUse any static hosting provider that supports single page apps.
npm run buildDeploy the generated dist/ folder. Because this app uses BrowserRouter, configure the host to route unknown paths back to index.html.
Why: zero config, just drag a folder.
Steps:
- Run
npm run buildlocally. - Go to
app.netlify.com. - Drag your
dist/folder onto the page. - Get a free
.netlify.appURL instantly.
For auto-deploy from GitHub:
- Connect your GitHub repo.
- Set the build command to
npm run build. - Set the publish directory to
dist.
public/
icons/ PWA icons
images/ Profile and section imagery
manifest.json PWA manifest
sw.js Service worker
src/
components/ Shared UI and feature components
components/ui/ Radix-based UI primitives
data/ Biography, profile, and blog datasets
hooks/ Dark mode and responsive hooks
pages/ Route-level pages
sections/ Home page sections
styles/ Dark mode and print CSS
utils/ Bookmarks, comparison, PWA, and helper utilities
- The app uses
BrowserRouter, so production hosting should serveindex.htmlfor unknown routes. - PWA behavior is registered from
src/main.tsxand backed bypublic/sw.js. - Profile content and category data are stored locally under
src/data.