A personal portfolio website documenting my journey through tech events, certifications, internships, and professional experience. Built with vanilla HTML, CSS, and JavaScript — no frameworks, no build tools.
🌐 Live Site: dharshinic.github.io
This portfolio is more than a resume — it's a record of lived experiences. Every event I've attended, every certification I've earned, and every role I've held is documented here with context and reflection.
I work as a Programmer Analyst at Cognizant, specialising in enterprise integration using TIBCO BW and EMS. Outside of work, I attend tech events, write about what I learn, and share it here.
- 3D Particle Canvas Background — depth-sorted floating particles with mouse parallax
- Dark / Light Mode — persisted across sessions via localStorage
- Event Journal — interactive timeline with image slideshow and fullscreen gallery
- Digital Marketing Portfolio — in-page PDF viewer with page navigation
- Blog Pages — individual event write-ups with scroll animations and image zoom
- Certifications Showcase — featured Google ACE cert + cert grid
- Internship Accordion — expandable experience entries
- Contact Form — powered by EmailJS, no backend required
- Back to Top Button — smooth scroll with fade-in animation
- Custom Cursor — ring cursor on desktop with hover interactions
- Fully Responsive — mobile-first layout with hamburger nav
- PDF Viewer — fullscreen modal with blurred backdrop, works on mobile
| Layer | Technology |
|---|---|
| Structure | HTML5 |
| Styling | CSS3 (custom properties, grid, flexbox) |
| Scripting | Vanilla JavaScript (ES6+) |
| Icons | Lucide Icons (CDN) |
| PDF Rendering | PDF.js (v2.14.305) |
| Contact Form | EmailJS Browser SDK v4 |
| Fonts | Google Fonts — DM Serif Display, Figtree |
| Hosting | GitHub Pages |
portfolio/
│
├── index.html # Main portfolio page
├── style.css # All styles
├── script.js # All JavaScript
│
├── events/ # Individual blog/event pages
│ ├── aws-summit.html
│ ├── data-streaming.html
│ ├── ai-devcon.html
│ ├── ai-memory.html
│ ├── microsoft-ai.html
│ ├── hello-cognizant.html
│ ├── bod.html
│ └── chess.html
│
├── images/ # All event and profile images
│ ├── 0.jpeg
│ ├── 1.jpeg
│ ├── aws2.jpeg ... aws9.jpeg
│ ├── ds2.jpeg ... ds4.jpeg
│ ├── aidevcon2.jpeg ... aidevcon6.jpeg
│ ├── aimem2.jpeg ... aimem11.jpeg
│ ├── microsoft2.jpg ... microsoft9.jpeg
│ ├── hello2.jpg ... hello4.jpg
│ ├── bod2.jpg ... bod7.jpg
│ └── chess2.jpg ... chess11.png
│
└── resources/ # PDFs — certificates, resume, portfolio
├── resume.pdf
├── digital-marketing.pdf
├── google-ace.pdf
├── lss-green.pdf
├── lss-yellow.pdf
├── lss-white.pdf
├── github-copilot.pdf
├── boomi.pdf
├── ernet.pdf
├── sme.pdf
├── iot.pdf
├── nimetler.pdf
├── harnium.pdf
├── ipsr.pdf
└── tricaa.pdf
The site uses PDF.js, which requires a local server — opening index.html directly as a file will not work for the PDF viewer.
Option 1 — Python (recommended, no install needed):
cd path/to/portfolio
python -m http.server 8000Then open http://localhost:8000 in your browser.
Option 2 — VS Code Live Server:
- Install the Live Server extension in VS Code
- Right-click
index.html→ Open with Live Server
Option 3 — Node.js:
npx serve .The contact form uses EmailJS. To configure it for your own account:
- Sign up at emailjs.com
- Create an email service and note your Service ID
- Create an email template and note your Template ID
- Copy your Public Key from Account settings
- In
script.js, update these three values:
emailjs.init('YOUR_PUBLIC_KEY');
emailjs.send('YOUR_SERVICE_ID', 'YOUR_TEMPLATE_ID', { ... })Your email template should use these variables:
{{from_name}}— sender's name{{from_email}}— sender's email{{message}}— message body
| Event | Date | Category |
|---|---|---|
| AWS Summit 2026 Bengaluru | April 2026 | Cloud |
| Data Streaming World Tour | April 2026 | Data |
| AI DevCon India 2026 | March 2026 | AI |
| AI Memory Matters | January 2026 | AI |
| Microsoft AI Tour | December 2025 | AI |
| Hello Cognizant | March 2025 | Career |
| Board of Directors Meeting | February 2025 | Leadership |
| 44th FIDE Chess Olympiad | August 2022 | Culture |
- Google Associate Cloud Engineer — Google Cloud ⭐ Featured
- Lean Six Sigma Green Belt — Quality Management
- Lean Six Sigma Yellow Belt — Quality Management
- Lean Six Sigma White Belt — Quality Management
- GitHub Copilot — GitHub
- Boomi Associate Integration Developer — Dell Boomi
- SEO Analyst — Funnel Truffle
- R&D Intern — ERNET India
- Subject Matter Expert
- IoT Intern — Barola Tech
- SEO Writer — Nimetler
- Digital Content Strategist — Harnium
- Digital Marketing — IPSR
- Content Strategist — Tricaa
Programmer Analyst — Cognizant (Aug 2024 – Present)
Working on enterprise integration systems using TIBCO BusinessWorks and TIBCO EMS. Designing scalable, event-driven solutions and handling real-time messaging with exposure to production-grade architectures and system reliability.
Skills: TIBCO BW · TIBCO EMS · Integration · API & Workflow · REST · SOAP
- Email: dharshinichembian@gmail.com
- LinkedIn: linkedin.com/in/dharshinichembian
- GitHub: github.com/dharshinic
All content on this portfolio — writing, photographs, event narratives, and design — is the original work of Dharshini Chembian. Unauthorised reproduction or redistribution is not permitted.
The code structure may be used for personal reference, but should not be republished as-is without modification.
© 2026 Dharshini Chembian. All rights reserved.