A modern, dark-themed portfolio website with smooth animations and dynamic GitHub integration. Built with performance and user experience in mind.
- Dark Modern Theme - Pure black background with neon green accents
- Brutalist Minimalism - Clean, bold typography with strong grid system
- Space Grotesk Typography - Modern geometric font for headings
- Subtle Grid Background - Professional texture without distraction
- Profile Photo Integration - Auto-fetched from GitHub API
- GSAP ScrollTrigger - Smooth scroll-based animations
- Lenis Smooth Scroll - Buttery smooth scrolling experience
- Magnetic Buttons - Interactive hover effects
- Custom Cursor - Enhanced cursor with follower
- Scroll Progress Bar - Visual feedback for page position
- Shimmer Effects - Subtle animations on skill bars and buttons
- Dynamic Repository Display - Auto-fetch from GitHub API
- Starred Repositories - Show repos you've starred
- Latest Updates - Display last update time (2d ago, 1w ago, etc.)
- Enhanced Filtering - Filter by All/Starred/Latest/Python/Odoo/Web
- Stars & Forks Count - Show repository statistics
- Project Cards - Modern cards with glow effects on hover
- Mobile-First Approach - Optimized for all devices
- Breakpoints - 1024px, 768px, 576px, 375px
- Touch-Friendly - Optimized interactions for mobile
- Adaptive Layout - Content reflows beautifully on all screens
- EmailJS Integration - Serverless email sending
- Form Validation - Client-side validation
- Success Feedback - Beautiful sss message
- Rate Limiting - Prevent spam (1 request per 10 seconds)
├── HTML5 (Semantic markup)
├── CSS3 (Custom properties, Grid, Flexbox)
└── JavaScript (ES6+)
├── GSAP 3.12.5 (Animation engine)
│ └── ScrollTrigger (Scroll-based animations)
├── Lenis 1.3.17 (Smooth scroll)
├── EmailJS (Contact form)
└── Font Awesome 6.5.1 (Icons)
├── GitHub REST API v3
│ ├── /users/{username}/repos (Your repositories)
│ └── /users/{username}/starred (Starred repositories)
└── GitHub Pages (Free, fast, reliable)
git clone https://github.com/tickernelz/tickernelz.github.io.git
cd tickernelz.github.ioEdit index.html:
- Change name, title, description in hero section
- Update about section text
- Modify skills and percentages
- Update social media links
Edit js/main.js:
// Line ~250
const username = 'tickernelz'; // Change to your usernameEdit css/style.css:
:root {
--bg-primary: #0a0a0a; /* Background */
--accent-primary: #00ff88; /* Neon green */
--accent-secondary: #ff0055; /* Hot pink */
/* ... */
}The contact form uses EmailJS. To set it up:
-
Create account at EmailJS
-
Create email service (Gmail recommended)
-
Create email template with these parameters:
from_name- Sender's namefrom_email- Sender's emailsubject- Email subjectmessage- Email messageto_name- Your nameto_email- Your emailreply_to- Sender's email
-
Update credentials in
index.html:
// Line ~460
emailjs.init({
publicKey: "YOUR_PUBLIC_KEY",
// ...
});
// Line ~210
emailjs.send('YOUR_SERVICE_ID', 'YOUR_TEMPLATE_ID', templateParams)git add .
git commit -m "Initial portfolio setup"
git push origin masterThen enable GitHub Pages:
- Go to repository Settings
- Navigate to Pages section
- Select
masterbranch as source - Click Save
Your portfolio will be live at https://yourusername.github.io
// js/main.js - Line ~3
const lenis = new Lenis({
duration: 1.2, // Change to 1.5 for slower scroll
// ...
});/* css/style.css */
.project-card:hover {
transform: translateY(-8px); /* Adjust lift amount */
box-shadow: var(--shadow-glow);
}<!-- index.html -->
<div class="skill-progress" style="width: 90%"></div>
<!-- Change percentage -->The photo is auto-fetched from GitHub:
<img src="https://github.com/tickernelz.png" alt="Your Name">
<!-- Change username to yours -->Or use custom photo:
<img src="path/to/your-photo.jpg" alt="Your Name">- ✅ Lazy Loading - Images and animations load on demand
- ✅ Efficient Animations - GPU-accelerated transforms
- ✅ Debounced Events - Optimized scroll listeners
- ✅ Minimal DOM Manipulation - Efficient rendering
- ✅ CDN Resources - Fast library loading
- ✅ Cached API Responses - Reduced API calls
- ✅ Chrome/Edge (latest)
- ✅ Firefox (latest)
- ✅ Safari (latest)
- ✅ Mobile browsers (iOS Safari, Chrome Mobile)
Note: Custom cursor disabled on mobile for better UX.
- Ensure Lenis CDN is loaded correctly
- Check browser console for errors
- Verify
autoRaf: falseand manual raf loop
- Check username in
js/main.js - Verify internet connection
- Check browser console for CORS errors
- GitHub API has rate limit (60 requests/hour unauthenticated)
- Ensure GSAP and ScrollTrigger are loaded
- Check if elements have correct classes
- Verify ScrollTrigger.update() is called
- Verify EmailJS credentials
- Check browser console for errors
- Ensure all form fields are filled
- Check EmailJS dashboard for quota
tickernelz.github.io/
├── index.html # Main HTML file
├── css/
│ └── style.css # All styles (1400+ lines)
├── js/
│ └── main.js # All JavaScript (400+ lines)
├── README.md # This file
├── robots.txt # SEO configuration
└── sitemap.xml # Site map for search engines
MIT License - feel free to use this template for your own portfolio!
Design & Development: Zhafron Adani Kautsar
Inspiration:
- Obys Agency - Minimal animations
- Basement Studio - Dark theme aesthetics
- Darkroom Engineering - Lenis smooth scroll
Libraries:
- GSAP by GreenSock
- Lenis by Darkroom Engineering
- EmailJS
- Font Awesome
- Live Site: tickernelz.github.io
- GitHub: @tickernelz
- LinkedIn: zhafronk
Made with ❤️ and lots of ☕
Last updated: January 2026