Personal portfolio and tooling site for Pratik Padiya, Solutions Engineer & AI Automation Builder.
Live site: https://pratikpadiyaportfolio.netlify.app
| Path | Description |
|---|---|
index.html |
Main portfolio — about, projects, skills, contact |
news-events/ |
Live loyalty & retail news feed (n8n → Supabase) |
loyalty-ui/ |
Interactive loyalty program UI demo |
ai-tools/ |
AI tools showcase |
games/ |
Mini browser games |
PM+Framework/ |
PM framework reference |
netlify/functions/ |
Serverless functions: chatbot, news fetch, embeddings |
- Static HTML / CSS / JS — no framework, no build step
- Theming — follows the OS light/dark preference (
prefers-color-scheme) with a manual sun/moon toggle (localStorage override). Dark palette lives at:rootincss/base.css; light mode is[data-theme="light"]overrides applied by an inline head script before first paint. All sub-pages (news-events, ai-tools, games, loyalty-ui, PM+framework) support both themes; loyalty-ui keeps its own PremiumRewards brand palette vialoyalty-ui/css/tokens.css. - CSS architecture — each page's stylesheet is an import hub over small mobile-first modules, all driven by the shared design tokens (spacing, radius, shadows, motion) in
css/base.css. Sub-page chrome (fixed theme toggle, scroll-reveal) lives incss/subpage.css+js/subpage-ui.js. - Hosted on Netlify with serverless functions
- Supabase — stores news and events data
- n8n — scheduled workflow that fetches and filters industry news daily
- Vectorize + Xenova Transformers — embeddings for the chatbot RAG pipeline
Requires Netlify CLI.
npm install
netlify dev # runs at http://localhost:8888Environment variables (set in Netlify dashboard or a local .env file — not committed):
SUPABASE_URL/SUPABASE_ANON_KEYANTHROPIC_API_KEYVECTORIZE_*keys
Push to main — Netlify auto-deploys.
Scheduled functions run via netlify.toml:
fetch-news— daily at 23:00 UTCcleanup-archive— monthly (28th–31st) at 23:00 UTC