A fast, single‑page personal developer portfolio highlighting projects, skills, experience, open‑source contributions, and achievements. Built with vanilla HTML, CSS, and JavaScript (no heavy frameworks) and optimized for SEO + performance.
- Responsive design with animated hero & morphing text
- Liquid crystal style navigation + mobile hamburger menu (< 786px)
- Interactive wobble / parallax cards
- Dynamic population of sections (projects, skills, experience, certifications, publications, hackathons)
- Lazy‑loaded images & minified assets (
styles.min.css
,script.min.js
) - SEO ready: meta tags, Open Graph, Twitter Card, JSON‑LD Person schema
- Accessibility: semantic structure, alt text, focusable navigation
- Sitemap + robots.txt
- Preloaded hero background for faster Largest Contentful Paint
- HTML5, CSS3 (custom), Vanilla JavaScript (ES6 IIFE modules style)
- No build tooling required
- Font Awesome (CDN), Google Fonts (DM Sans, Inter)
index.html
styles.css (unminified source)
styles.min.css (production)
script.js (unminified source)
script.min.js (production)
robots.txt
sitemap.xml
assets/
favicon.ico
ss.png (screenshot / social preview)
noise.webp (overlay texture)
images/ (project & decorative images)
<meta name="description">
+ focused keyword set (including: Ansh Gupta Ballia, Ansh Gupta LPU, techbire)- Canonical URL:
https://techbire.github.io/
- Open Graph + Twitter card (summary large image)
- JSON‑LD
Person
schema withalternateName
variants robots.txt
+sitemap.xml
- Preload: hero background image
If deployed under a subpath (not username.github.io), update these in index.html
:
- Canonical,
og:url
,twitter:url
, JSON‑LDurl
&image
paths
- Minified CSS & JS
- Defer script loading
- Lazy loading for non‑critical images
- Reduced DOM layout thrash (single pass dynamic injections)
- Blend modes + small texture (noise.webp) for aesthetic without large images
Category | Target |
---|---|
Performance | 90+ |
Accessibility | 90+ |
Best Practices | 100 |
SEO | 100 |
Minor improvements (optional):
- Add
lang
attribute already present (en) - Serve images in WebP (some already are) & add width/height for CLS prevention
- Add Service Worker for PWA (optional)
Just open index.html
in a browser. (For correct font / icon loading via some browsers’ CORS policies, a lightweight static server is recommended.)
Python quick serve (choose one):
# Python 3
python -m http.server 8080
Then visit: http://localhost:8080
- Create (or use) repo, push all files to
main
. - If you name the repo
techbire.github.io
, site auto‑deploys at root. - Otherwise: Settings → Pages → Deploy from Branch →
main
/ root. - Wait a minute, verify URLs & social cards via Twitter / Open Graph debugger.
- (Optional) Submit sitemap to Google Search Console.
- Add / edit projects: modify the
projects
array inscript.js
(and rebuild minified file if you want to replacescript.min.js
). - Skills / Experience / Certifications / Publications / Hackathons all come from arrays in
script.js
. - About section: edit HTML in
index.html
(#about
).
Personal site – PRs usually closed unless discussed. Feel free to fork and adapt for your own portfolio (please replace content & images).
All original content (text, images branded to Ansh Gupta / techbire) is © Ansh Gupta. Code portions may be reused with attribution. Do not reuse personal images or proprietary logos without permission.
- Portfolio: https://techbire.github.io/
- GitHub: https://github.com/techbire
- LinkedIn: https://www.linkedin.com/in/techbire/
- X (Twitter): https://x.com/techbire
- Email: [email protected]
If you’d like a PWA upgrade / Service Worker or a dark–light theme toggle, open an issue or reach out.