Portfolio
This website



This portfolio isn't a simple static site - it is a CMS-backed platform designed to eliminate drift between my website, resume, and job applications.
When I first built my portfolio, I maintained a separate LaTeX pipeline for resume generation, which meant duplication of data and manual syncing of professional history across systems. Over time, I progressively centralized the data - first into a shared JSON source, then into MongoDB, and eventually into a purpose-built MySQL-backed CMS.
Today, the public-facing site is read-only, but all data is managed through a single-tenant, admin-only control surface. Every resume, job-specific variant, and portfolio page is derived from the same canonical dataset.
Key capabilities:
- Structured experience editor (positions, education, certifications, etc.).
- Dynamic resume generation (HTML to PDF).
- Automated LinkedIn job scraping.
- Job-specific resume customization.
- Server-side feature flags with instant propagation.
- Google Analytics integration with internal dashboard.
- Admin-scoped user preferences.
Resumes are generated on demand from structured data, treating them as derived artifacts rather than static documents. Public rendering uses Next.js server components, while the admin surface is isolated behind authenticated controls. Feature flags are stored in the database and evaluated server-side, allowing safe experimentation without the risk of users seeing anything that they are not supposed to.