- π Dynamic Homepage β Animated hero, 3D rotating stack labels, smooth theme rotation, particle canvas
- π€ Profile & About β Bio, avatar, skills, social links, specializations β all editable from admin
- ποΈ GitHub Repos β Public repo showcase with collapsible README previews
- β‘ Live Tools β Deployed tools grid with category filters
- βοΈ n8n Templates β Downloadable automation workflow templates showcase
- π€ Hire Me Form β Contact form with service categories, quick info sidebar, intro text
- π€ AI Chat Assistant β In-page chat powered by Groq (scoped to portfolio context only)
- π‘ Suggestion Box β Floating visitor feedback widget
- π§ Admin Dashboard β Hidden CMS at a secret URL β manage everything without touching code
- π n8n Webhook Notifications β Instant alerts for new contact requests and suggestions
- π³ License System β One-time activation per deployment
- π Page Views Tracking β Built-in analytics visible from admin dashboard
Advay-Portfolio-Website/
βββ index.js # Launcher β fetches and starts the core engine
βββ package.json # Launcher dependencies only
βββ .env.example # Environment variable reference
βββ version.txt # Current release version
βββ .gitignore
The core application is loaded securely at runtime. This keeps the source lean and the deployment simple.
git clone https://github.com/Advay254/Advay-Portfolio-Website.git
cd Advay-Portfolio-Websitenpm installcp .env.example .envEdit .env with your values:
DATABASE_URL=postgresql://postgres:[PASSWORD]@db.[PROJECT-REF].supabase.co:5432/postgres
ADMIN_PATH=your-secret-admin-path
ADMIN_USERNAME=admin
ADMIN_PASSWORD=your-secure-password
JWT_SECRET=your-long-random-secret
GROQ_API_KEY=gsk_xxxxxxxxxxxxxxxxxxxx
GROQ_MODEL=llama-3.3-70b-versatile
SITE_NAME=YourSiteNamenpm startVisit http://localhost:3000 β you're live. π
| Variable | Required | Description |
|---|---|---|
DATABASE_URL |
β Yes | PostgreSQL / Supabase connection string. Get from: Supabase β Project Settings β Database β URI |
ADMIN_PATH |
β Yes | Secret URL path for your admin dashboard. Example: xk9m4a-panel β admin at /xk9m4a-panel |
ADMIN_USERNAME |
β Yes | Admin login username |
ADMIN_PASSWORD |
β Yes | Admin login password β make it strong |
JWT_SECRET |
β Yes | Long random string for session signing. Generate at randomkeygen.com |
GROQ_API_KEY |
β Yes | Powers the AI chat assistant. Get one free at console.groq.com |
GROQ_MODEL |
Recommended | Groq model name. Default: llama-3.3-70b-versatile |
SITE_NAME |
Optional | Display name shown in the browser tab |
PORT |
Auto | Set automatically by Render β do not set manually |
- Create a free project at supabase.com
- Go to Project Settings β Database β Connection string β URI
- Copy the URI and set it as
DATABASE_URLin your environment - Done β all database tables are created automatically on first run. No SQL needed.
- Fork this repo to your GitHub account
- Go to render.com and create a new Web Service
- Connect your forked repo
- Set Build Command:
npm install - Set Start Command:
npm start - Add your environment variables under Environment
- Click Deploy
Render free tier sleeps after 15 minutes of inactivity. Use cron-job.org to ping
/healthevery 10 minutes to keep it awake.
npm install -g @railway/cli
railway login && railway init && railway upAdd your environment variables in the Railway dashboard under Variables.
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
git clone https://github.com/Advay254/Advay-Portfolio-Website.git
cd Advay-Portfolio-Website && npm install
npm install -g pm2
pm2 start index.js --name advay-portfolio
pm2 save && pm2 startupUser deploys Advay Portfolio Website
β
Launcher starts and fetches the core engine securely at runtime
Core engine extracts and installs its own dependencies
β
App starts β all pages and admin dashboard are ready
β
Admin visits /{ADMIN_PATH} and logs in
Sets up profile, tools, repos, settings from the dashboard
β
Visitors browse the portfolio, use the contact form, chat with the AI assistant
β
New contact requests and suggestions fire instant webhook notifications
to your n8n instance β no need to log in to check manually
Check version.txt for the latest release version. Sync your fork and redeploy on Render to get the latest update automatically.
- Fork the repo
- Create your branch:
git checkout -b feature/your-feature - Commit:
git commit -m 'Add your feature' - Push:
git push origin feature/your-feature - Open a Pull Request
This project is provided for personal use and self-hosting. The author is not responsible for misuse or downtime of third-party services.
MIT Β© 2026 Advay β free to use, modify, and distribute.


