

The front end with the dark/light toggle, hero and reading-progress bar.
Want a stunning personal portfolio — academia, experience, research, blog and contact — without heavy page builders, bloated themes, or writing a single line of code? 🤔
Most portfolio solutions ship megabytes of scripts and lock you into their builder. Your visitors wait, your Core Web Vitals suffer, and your content is trapped. 😩
EPFolio – Explorer Portfolio Kit takes the opposite path: a lightweight, super fast kit built on native WordPress blocks — and your whole portfolio is ready in one click. 😎
No jQuery. No frameworks. No build step. No third-party libraries. Just two small static files (one CSS, one JS) served from your own site — the entire plugin is only ~40 KB zipped. Your portfolio stays fast, and your PageSpeed score stays green.
Press Create starter pages and the kit instantly builds your Academia, Professional, Research, Volunteering and Blog pages — pre-designed, pre-wired into your header menu (Blog last), and ready to edit with your own story. Existing pages are never overwritten, and nothing is created on activation. You decide what stays.
Paste your GA4 Measurement ID (G-XXXXXXXXXX) and analytics is live. No API key, no extra plugin, no configuration maze. The snippet loads only when an ID is set, and logged-in administrators are never tracked, so your own visits don’t pollute your stats.
/, or ⌘/Ctrl-K) indexes every page, post and heading, deep-links to the exact section, and refreshes itself on every updateDark by default, light on tap — the visitor’s choice is remembered and applied before the first paint, so there is never a flash. Pick three accent colours once and the hero gradient, buttons, timeline, links and underlines all follow.
Education, roles, publications and volunteering render as vertical timelines: the rail fills as visitors scroll and the entry being read glows. On selected pages the markers become gently fluttering ladybugs — a small moment of delight that makes your portfolio memorable. 🐞
A search icon appears in your header automatically. One keystroke (/ or ⌘/Ctrl-K) opens a compact overlay that searches every published page and post — including individual headings — and jumps straight to the matching section. The index rebuilds itself whenever content or the plugin is updated.
A spam-guarded contact form (nonce, honeypot, per-IP throttling) emails submissions to any address you choose — and a floating WhatsApp button opens a chat with you in one tap, optionally pre-filling the visitor’s first message. Both optional, both configured in one place.
Meta description, canonical URL, Open Graph and Twitter Card tags, plus JSON-LD structured data (Person on the front page, BlogPosting on posts) — generated from the name and links you set. No separate SEO plugin required for a personal site.
Conservative security headers, optional WordPress-version hiding and XML-RPC switch-off. The plugin itself makes zero external requests — the only exception is Google’s gtag.js, and only if you enable Analytics.
This plugin can connect to two external services. Both are optional and inactive until you configure them in Settings Portfolio.
Google Analytics (Google LLC)
Used to collect visitor statistics for your own site. If — and only if — you enter a GA4 Measurement ID, the plugin loads Google’s gtag.js script from https://www.googletagmanager.com/ on front-end pages, and standard analytics data (the page URL, referrer, and the visitor’s IP address, browser and device information) is sent to Google on every front-end page view under your own Google Analytics account. Logged-in administrators are excluded, and nothing is loaded or sent while no Measurement ID is set.
Google Analytics Terms of Service · Google Privacy Policy
WhatsApp (WhatsApp LLC)
Used by the optional floating “Chat on WhatsApp” button. The button is a plain link to https://wa.me/ with the phone number (and optional pre-filled first message) you configure — the plugin loads no WhatsApp script and sends no data. The visitor’s browser contacts WhatsApp only if the visitor clicks the button, which opens a WhatsApp chat with you.
WhatsApp Terms of Service · WhatsApp Privacy Policy
The plugin itself makes no external requests. If — and only if — you enter a Google Analytics Measurement ID, the Google gtag.js script (https://www.googletagmanager.com/gtag/js) is loaded on the front end and analytics data is sent to Google under your GA account; logged-in administrators are excluded. If you enable this, disclose it in your site’s privacy policy per your local regulations. See “External services” above for full details.