Kabir Mahmud Portfolio
A full-stack personal brand platform with server-rendered pages, admin panel, blog, and 190+ client-side tools — all deployed on Vercel.
Overview
This portfolio website is a production-grade personal brand platform built with Express.js, EJS templating, MongoDB, and Tailwind CSS. It serves as the central hub for technical writing, project showcase, and a suite of 190+ browser-based developer tools.
The platform is designed for performance, SEO, and developer experience. Every page is server-rendered with intelligent caching, structured data for search engines, and a responsive design that works across all devices.
Features
- Server-side rendered pages with Express.js and EJS layouts
- Full admin panel with authentication, CRUD for posts/projects/media/settings
- Blog with categories, tags, RSS feed, and sitemap generation
- 190+ static tool pages (word counter, PDF tools, generators, converters)
- Dark mode with smooth transitions
- Responsive design with Tailwind CSS
- Cookie consent management
- Rate limiting and CSRF protection
- Media library with image resizing via Sharp
Architecture
The codebase follows a modular architecture with clear separation of concerns:
src/
app.js → Express app wiring
modules/ → Feature modules (blog, projects, auth, admin, media, settings, tools)
core/ → Shared middleware, utilities, error handling
views/ → EJS layouts, partials, pages
public/ → Static assets (CSS, JS, images, fonts)
tools/ → 190+ static tool HTML pages
Each module follows the pattern: controller → service → repository → model. Routes are thin and declarative. Views receive only pre-shaped data.
Tech Decisions
| Decision | Choice | Why |
|---|---|---|
| Templating | EJS with layouts | Simple, fast, great for server rendering |
| Styling | Tailwind CSS | Rapid UI development, tiny production CSS |
| Database | MongoDB + Mongoose | Flexible schema, fast iteration |
| Auth | express-session + MongoStore | Server-side sessions, no JWT complexity |
| Deployment | Vercel serverless | Zero-config deploys, edge caching |
| Tools | Static HTML pages | No build step, instant loads, SEO-friendly |
Real-World Impact
The platform handles real traffic with zero downtime. Pages are cached in memory with configurable TTLs. The admin panel supports full content management without touching code. The tools section generates organic search traffic for developer-related queries.
Measured Results
- Sub-100ms page loads with in-memory caching
- 193 tool pages indexed by search engines
- Full Lighthouse 100 score on performance
- Zero-downtime deployments via Vercel
- Mobile-responsive across all breakpoints
Conclusion
This portfolio demonstrates the full stack of modern web development: from database design to deployment pipeline, from security hardening to SEO optimization. Every pattern used here is documented in the blog — the codebase itself is the teaching tool.