// changelog.md

Changelog

Public log of portfolio iterations — features, content, and fixes shipped to kon2raya.netlify.app. Think of it as a public commit log for the portfolio itself.

+ added   ~ changed/fixed   · docs/content

  1. v6.0 2026-06-11 LATEST

    PLAYER FILE — the portfolio reimagined as a game menu. A completely new UI fronts the site: RPG character screen, quest log, skill tree. Same content, different game. The classic UI lives on at /classic.html.

    • New index: a full-viewport game-menu shell — persistent top HUD (player tag, LV 6, exploration XP bar, live views, clock, ONLINE status) and a pause-menu rail with seven screens: CHARACTER, QUEST LOG, CAREER LOG, SKILL TREE, ABILITIES, TROPHY ROOM, COMMS.
    • Content remapped, not rewritten: about → character sheet with lore, passive traits, active buffs (~/.now.json) and codex; case studies → rarity-coded quests (the two “start here” entries are ★ LEGENDARY); experience → six cleared acts plus a training arc; skills → tiered skill bars with a tools inventory; services → ability cards; projects → gold/silver/bronze trophies; contact → transmission console (same Netlify form).
    • Game UX throughout: skippable PRESS START title screen (auto-skipped on deep links, repeat sessions, and reduced motion), keys 1–7 + arrow keys for navigation, achievement toasts (NEW GAME, 100% MAP EXPLORED, QUEST COMPLETE on form send), chamfered Destiny-style panels, Orbitron/Rajdhani type — deliberately distinct from both the retro arcade skin and the playable NIGHT SHIFT.
    • Old deep links keep working — #fh5co-started and friends route to the matching screen; legacy anchors map to panels.
    • Polish pass, same day: quest briefing modals (skim a case study in-place before deploying to the writeup), item tooltips on the equipped loadout, a CONTINUE save slot on the title screen (restores your last section), staggered card entrances + direction-aware panel slides, scramble-decode on section titles, pointer tilt on quest/trophy cards, and a dispatcher NPC line on the comms deck.
    • An achievements system (7 to find: First Boot, Cartographer, Legendary Hunter, Direct Line, First Contact, Any% Speedrun, God Mode) with a HUD counter and modal list; optional WebAudio UI sound (muted by default, ♪ toggle in the HUD, no audio files); three accent variants — plasma / crimson / gold — switchable from the footer (Konami code force-unlocks gold).
    • Mobile gets a game-console bottom tab bar (7 thumb-reachable slots with glyphs) instead of a scrolling rail; modal focus trap, roving tabindex on the menu rail, and keyboard-openable quest briefings round out the a11y pass. Composite-only animation budget (transform/opacity, no infinite box-shadow loops, no canvas), no-JS fallback stacks all panels as a plain document, and both UIs share the same view counter. The OG share card was regenerated from the new title screen. SW cache → pf-v131.
  2. v5.4 2026-06-11 theme

    Arcade goes default — fresh visitors now land on the game cabinet, and the skin reaches every component: type, glow, texture, chrome.

    • Fresh visitors (no stored palette) land on arcade, in dark mode — a cabinet is inherently dark, so the OS light-mode preference no longer overrides the default skin. Anyone who explicitly picks a palette or mode keeps their choice; cyber is now stored explicitly so choosing it sticks.
    • Two-tier pixel type system: Press Start 2P for every display surface (headings, nav, buttons, HUD, labels, toasts, boot screen) and VT323 — the classic terminal pixel face — for running text, so body copy keeps the game feel without becoming unreadable. Both fonts now ship in the static font links since they're the default face.
    • Pixel hardware everywhere: square corners globally, hard-offset arcade-logo shadows on headings (gold over player-red, the way cabinets bled phosphor), 8px dither texture in the starfield, coin-gold selection + keyboard focus.
    • Component sweep: command palette as pause-menu, chat widget as in-game dialogue box, contact form as password-entry screen, profile photo as character-select portrait, siderail as level-select squares, kbd/terminal/toasts/tour/ctx-menu in dialog-box chrome, 404 as a GAME OVER screen.
    • Case-study layout (also /now, /uses, /changelog) gets the full treatment — pixel headings, VT323 body, quest-log card chrome.
  3. v5.3 2026-06-11 theme

    Sixth theme: arcade — the portfolio as a retro game cabinet. Plus the frame-drop fix that landed the same day.

    • Added the arcade palette — Press Start 2P pixel type (lazy-loaded only when the theme activates, so the other five palettes pay zero font weight), hard pixel drop shadows instead of neon glows, square corners + chunky gold borders, violet attract-mode hero, blinking ▶ PRESS START, segmented XP-style HUD bar, and arcade glyphs (♥★▲●) in the rain.
    • Reachable everywhere themes live: nav theme picker (with its own pixel-cabinet hover preview), HUD dots, Alt+T cycle, command palette, and the dev terminal (theme arcadetheme game works too).
    • Frame-drop sweep — canvas glow now baked into cached sprites (per-draw shadowBlur was ~135 CPU blurs per frame), duplicate card-tilt system removed, magnetic hover rAF-batched, hire-btn ripple moved to compositor-only transform/opacity, and an adaptive .fx-lite governor that sheds ambient work only on devices that can’t hold ~50fps. Worst-case hero frame: 99.9ms → 33.7ms, visuals unchanged.
  4. v5.2 2026-06-11 maintenance

    Integrity + freshness pass — PWA cache sync, clean OG cover regenerated, image payload −65%, ~6 MB of dead template freight purged, and this changelog backfilled from the feed.

    • Service-worker precache now includes the ph-dev-utils case study + its OG card (missed in the v5.1 bump); cache version → pf-v123.
    • Service worker now registers on every page (case studies, /now, /uses, /changelog, 404) — visitors who deep-link from LinkedIn or search get the PWA cache too, not just homepage visitors.
    • Regenerated og-cover.png — the live OG card had the cover.html helper tooltip baked into its top-right corner, visible on every social share. Captured clean via headless Chrome.
    • All large PNGs palette-quantized (visually lossless): images/ payload 4.3 MB → 1.6 MB; og-cover alone 550 KB → 147 KB.
    • Purged ~6 MB of dead template freight: unused glyphicons + icomoon demo package, stale sass/ tree (the CSS is hand-edited), template-era google_map.js, 13 orphaned template images, tracked .DS_Store files.
    • icomoon @font-face pointed at a nonexistent css/fonts/ directory — corrected to ../fonts/icomoon/.
    • · /now refreshed — was four weeks stale and still claimed “two case studies” (there are nine).
    • · Backfilled this changelog: v3.9–v5.1 existed only in feed.xml, and the previous top entry carried v5.0’s content under a v3.5 label — relabeled below.
  5. v5.1 2026-06-03 case-study

    Ninth case study — @ph-dev-utils, the first open-source entry. Plus the interim UX series shipped since v5.0.

    • Added case-studies/ph-dev-utils.html — a 12-package Filipino dev-utils family (JS/TS + PHP): peso formatting + EN/Tagalog number-words, ~10 government-ID validators, the full PSGC address hierarchy down to 42,046 barangays, payroll + BIR tax math, holiday-aware dates, seedable faker, and a React address picker.
    • 11 of the 12 packages publish identical behavior to both npm and Packagist, so a PHP backend and a JS frontend agree on the same rules by construction; the showcase site runs ten of them live in the browser.
    • Hero stat bumped 8 → 9; work-tree, sitemap, and feed wired per the publish ritual.
    • Interim series (May 19 – Jun 3), previously unlogged: portfolio chat widget — zero-API FAQ matcher with chat UX, 95 entries, browse-all view, keyboard nav, did-you-mean rebound.
    • Interim: multi-system 3D overhaul + frame-rate optimization sweep across all five palettes.
    • Interim: perf + a11y sweep — LCP preload, save-data support, focus polish, tiny-phone + print styles; theme-aware page scrollbar; cross-page consistency pass.
  6. v5.0 2026-05-18 major

    Massive audit-driven pass — theme picker + 5 palettes, jQuery removed, mobile nav fixed, comprehensive a11y, no-JS fallback. Single biggest day of shipping since the portfolio's first cut.

    • Added a theme picker popover in the nav (mode: dark/light, palette: 5 options). Replaces the binary light/dark toggle.
    • Added xeno palette — alien-invasion / interstellar skin with void background, drifting starfield, sweeping red scan beam, scope-reticle hero corners, diamond pane glyphs, scope-reticle cursor, angular clip-path buttons. Goes beyond palette swap into a different visual UI.
    • Added crt palette — retro phosphor green-on-black with heavy scanlines, corner vignette, sharp corners, monochrome chromatic-aberration headings, faint screen flicker.
    • Added hover-preview tooltips on each palette dot — tiny live mockup of that theme's chrome before you commit.
    • Added Alt+T shortcut to cycle palettes (cyber → matrix → sunset → xeno → crt).
    • Added theme-aware matrix-canvas alien glyphs in xeno mode (◢◤◇◆▣⌬⌷⎔⏣ + Greek caps).
    • Added hero typewriter> ./init_developer.sh types in char-by-char on load.
    • Added "Book a 15-min call" primary CTA in the hero above the fold; same cal.com CTA on every case-study close-out.
    • Added case-study hover-preview thumbnails — pop the OG card next to the tree row on hover, desktop only.
    • Added cs-outcomes--top BEFORE/AFTER scaffold to every case study (hidden by default via data-status="draft" until reviewed).
    • Added mobile hamburger menu — without it, phones literally couldn't navigate (regression-grade bug).
    • Added <noscript> fallback so JS-disabled visitors don't see a perpetual loader.
    • Added form :user-invalid styling + personalized success email (sessionStorage stash/restore).
    • Added main + contentinfo ARIA landmarks on the index.
    • Added comprehensive :focus-visible across 14 selectors so keyboard users can see what's focused.
    • Added focus-return on dialog close for the command palette, dev terminal, and keyboard-shortcuts overlay.
    • Removed fake testimonials section — self-written project blurbs framed as quotes were credibility-leaky. One real LinkedIn rec beats three synthetic ones.
    • Reordered work-grid — 6 LIVE production cards first (Pamanaland, JBC, UPHDJGT, PH Dev Utils, This Portfolio, JBC Marketing), then PROTOTYPE, then 2 ARCHIVE. Was leading with 2018-era design archive.
    • Reframed Services pane → "What I Build" — capability framing that works for both recruiters and clients.
    • Skill %% bars replaced with PRIMARY / STRONG / WORKING tier chips. No more fake-precise self-rating.
    • Removed jQuery + Stellar + Waypoints + Bootstrap JS + Easing — full vanilla rewrite of main.js with IntersectionObserver, requestAnimationFrame, and matchMedia. Zero jQuery now loaded.
    • Hero h1h3 heading skip fixed to h1h2 (WCAG 1.3.1).
    • CTA-track "Hiring / Client" ARIA: role="tab"role="radio" (no tabpanels meant tabs were misleading).
    • Theme system: split localStorage into portfolio.mode + portfolio.palette with one-time migration from legacy portfolio.theme. Two systems no longer fighting over one key.
    • ~25 widgets converted to color-mix(in srgb, var(--cyan)…) — hero CTA, HUD, siderail, ctx-menu, cmdk, kbdhelp, live-stats, commit-graph, tool-badge, scroll-progress, work-filter, case-filter, viewport-hud, stat--linked, cs-btn, cs-share, etc. Now glow correctly in every palette.
    • Generated missing og-cover.png + repointed index + now.html OG image tags. Share previews on LinkedIn/Twitter were broken (wrong aspect ratio or 404).
    • Resume sync: projects[] URLs for Pamanaland + JBC switched from auth-gated portals to public case-study pages. PDF regenerated.
    • LinkedIn About now leads with cal.com instead of email (matches the live-site CTA).
    • Sitemap refreshed — every touched URL got its real lastmod from git log.
  7. v4.9 2026-05-14 polish

    SEO + UX + dual-audience reframe — making the site scan well for recruiters and engineering managers.

    • Article + BreadcrumbList JSON-LD on every case study; WebSite schema on the index; twitter:creator/site attribution; sitemap + feed dates normalized.
    • Prev/next pager at the foot of every case study for binge-reading; sticky on-page TOC on the three longest writeups (wms-v2, ai-engineer, hris).
    • Hero reframed to surface “8 shipped case studies + AI-assisted delivery”; “1 Vibe Coder” stat tile → “AI-Augmented Dev (Karpathy-style)” deep-linking the ai-engineer study; green outcome chips on every work-tree row; ★ start-here badges.
  8. v4.8 2026-05-14 case-study

    Two more case studies — hero stat 6 → 8.

    • Added LLM-Friendly Wiki — hand-maintained Obsidian vault with YAML frontmatter, per-folder _INDEX.md pattern, Decisions/Runbooks/Examples sub-vaults; Karpathy’s thesis that the best AI-coding artifact is a well-structured wiki of your own code.
    • Added WMS v2 Inventory Rewrite — legacy warehouse system onto Laravel 12 + Vue 3, canonical V3DataTable + BaseCrud pattern, CI-enforced guardrails, online schema migrations, parity-first rollout. ~103 models, ~121 migrations, ~130 pages.
  9. v4.7 2026-05-14 case-study

    Two new case studies — proof shelf 4 → 6.

    • Added Transport Management System — Vue 3 + Laravel 11, ~68 models, ~324 Vue pages, live GPS, full booking → dispatch → costing → invoice lifecycle.
    • Added Autonomous AI Engineer — multi-LLM agent pipeline (Claude, Gemini, OpenAI, OpenRouter, Qwen) inside a production ticketing system; ai:work picks up tickets, an independent ai:verify runs the real PHPUnit suite before merge.
  10. v4.6 2026-05-14 visual

    Anonymized mock screenshots (1600×900) wired into every case study — mirrors of the real production UI with zero client data, each tagged “MOCK” in its caption.

  11. v4.5 2026-05-14 policy

    All client names made confidential — NDA framing with generic titles; tagline, meta, body, and OG images regenerated. Personal GitHub repo links kept as proof of work.

  12. v4.4 2026-05-14 case-study

    Fourth case study — Enterprise HRIS. Laravel 12 + Sanctum + TOTP 2FA API; Vue 3 + Pinia + TypeScript UI. ~54 models, ~95 Vue pages, full HR lifecycle with payroll, OU-scoped RBAC, Storybook + Playwright, dual CI/CD. Hero stat 3 → 4.

  13. v4.3 2026-05-14 case-study

    Real-Estate Developer Portal polished from the real codebase — reservation → sales → equity → amortization → financing → commission → collection lifecycle; ~65 models, ~102 Vue views, AG Grid Enterprise, CASL RBAC, 5-tier seller hierarchy.

  14. v4.2 2026-05-14 case-study

    WMS Mobile App enriched with real project metrics — 13 feature modules, three picking generations, Bluetooth ESC/POS printing on Epson TM-P80II, dual-input scanning, 108 build releases, ~251 models / ~315 migrations on the API.

  15. v4.1 2026-05-14 case-study

    Third case study — Brokerage Commission System. Commission engine with multi-tier shares + approver workflow, multi-OU RBAC; ~22 months of iteration, ~640 commits across api + ui repos. Hero stat 2 → 3.

  16. v4.0 2026-05-14 major

    Round 2: polish, proof, performance.

    • Work-filter chips wired up (data-tags driven, persisted); “Coffee Cups ∞” hero stat → “Case Studies”; “last shipped” footer stamp.
    • Image weight −3.4 MB; light theme contrast audit 163 → 3 outstanding issues.
  17. v3.9 2026-05-14 dev-signal

    Dev-signal files — humans.txt, /.well-known/security.txt, curl-able /api/availability.json, this feed’s feed.xml, and a real git-log footer pulled from GitHub.

  18. v3.5 2026-05-14 major

    Round 1 employer-attention pass.

    • Unlocked + indexed both case studies, per-case OG images, DRAFT banners dropped; “shipped impact” section; 4-step engagement flow + Hiring/Client toggle.
    • Service worker shipped (delivering on the PWA manifest); /now.html added; light-theme toggle with FOUC-prevention bootstrap.
  19. v3.4 2026-05-13 credibility

    Dev-credibility passes — /uses, resume.json, this changelog.

    • Added /uses.html — editor, terminal, hardware, daily software (Wes Bos's uses.tech tradition).
    • Added resume.json — machine-readable resume in JSON Resume format.
    • Added this /changelog page.
  20. v3.3 2026-05-13 case-studies

    Recruiter-safe case-study scaffolds — iterate in public without the embarrassing draft markers.

    • Added case-studies/wms.html and case-studies/pamanaland.html.
    • Shared case-study.css with window-chrome code blocks, metric grid, and CTA cards.
    • Marked draft pages noindex,nofollow — excluded from sitemap until polished.
    • Replaced literal TODO placeholders with neutral “in progress” framing + a DRAFT banner at the top of every draft.
  21. v3.2 2026-05-13 hire-funnel

    Conversion + outbound — turning the portfolio into a hiring funnel I can measure.

    • Added Cal.com booking button in the Hire Me card (15-min intro call).
    • Designed cover.html — 1200×630 OG image you screenshot to PNG.
    • Added interactive dev terminal — press ` to open. Real commands: help, ls, cat resume, skills, sudo hire-me
    • UTM-aware welcome pill — ?utm=linkedin renders “welcome from LinkedIn” and stamps the source in the live stats footer.
    • LinkedIn copy-paste pack: linkedin-summary.md with headline, About, all 5 experience blocks, skills, recommendation script.
  22. v3.1 2026-05-13 prod-ready

    Ship-readiness — SEO, accessibility, performance, fallbacks.

    • JSON-LD Person schema, sitemap.xml, robots.txt, PWA manifest.
    • Netlify Forms contact form with honeypot + success state.
    • Real-time visitor counter (counterapi.dev) with 30s polling + localStorage fallback.
    • Live GitHub events graph & recent-repos panel from api.github.com.
    • Skip-to-content link, focus-visible outlines, auto-injected ARIA labels on icon-only buttons.
    • 404 page in terminal-style.
    • Matrix rain + particles pause when offscreen / tab hidden — meaningful CPU savings.
    • GitHub API responses cached 30 min in localStorage — gracefully degrade to cached or rate-limit notice instead of falling back to fake commit data.
    • Contact form falls back to mailto: on localhost since Netlify Forms only work after deploy.
  23. v3.0 2026-05-13 major redesign

    Full redesign from a generic FH5co template into a dev-by-dev cyber-themed portfolio.

    • Replaced light theme end-to-end — dark cyber gradient + neon grid.
    • Redesigned About: developer.js code card + about-panel pillars + profile.config terminal panel.
    • Redesigned Resume timeline: single-rail card list with file-path tabs, period badges, and tech chips per role.
    • Redesigned Services: numbered cards 01–11 with terminal command headers, deliverable bullets, and stack chips.
    • Redesigned Skills: 4 categorized cards with animated bars; replaced redundant pie+progress duplication.
    • Redesigned Tools & Stack: 6 grouped categories (#ai · assistants, #automation · no-code, etc.).
    • Redesigned Work: thumbnail + status badge + tech chips + file-path tabs, with filter pills.
    • Redesigned Case Studies placeholder as a terminal ls listing.
    • Redesigned Hire Me: full availability card with 4 CTAs, copy-email, meta footer.
  24. v2.5 2026-05-13 resume-aligned

    Aligned every visible field with the actual resume PDF.

    • Rewrote all 5 work-experience entries to match the resume bullets (Ag-Grid, jsPDF, SAP integration, FAREYE API, Xero, Eversign, SilverStripe, SEMrush, Ahrefs, etc.).
    • Fixed Octal title: Software EngineerSoftware Developer.
    • Fixed Uratex: was “Multiflx RNC, 2022–2024” → “Uratex Philippines, Mar–Oct 2022”.
    • Added 1.50 GPA to education.
    • Added current-employment bullets: Flutter WMS mobile app + Vibe Coding with Claude AI.
    • Added libraries-and-integrations stack group (Ag-Grid, jsPDF, SurveyJS, Vuetify, SAP API, XERO, Eversign, ABN Lookup, Google Maps).
    • Added SEO · marketing stack group (SEMrush, Ahrefs, SEO).
    • Email switched site-wide to turayalemmuel@gmail.com (matches the PDF).
  25. v2.0 2026-05-13 hyperframes

    Advanced interactive layer — HUD, palette, hyperframe brackets, tilt.

    • Fixed HUD (top-right): live clock, FPS, scroll %, current section, views, theme switcher, rotating “now:” status.
    • Command palette (Ctrl+K / /) with fuzzy filter, keyboard nav.
    • Side-rail section navigator (right edge) with active-state dot.
    • Right-click context menu replaced with dev-themed actions (copy email, jump to…, konami).
    • Keyboard shortcuts help overlay (?).
    • 3D mouse-tilt on cards.
    • Hyperframe corner brackets on the code card.
    • Theme switcher (cyber / matrix / sunset) with localStorage.
    • Hover tooltips on every tech chip / tool badge.
    • Project filter pills + tech tags per work tile.
  26. v1.0 2026-05-13 foundation

    Foundation pass — futuristic theme, custom fx, dev-by-dev personality.

    • Boot-sequence loader.
    • Top scroll-progress bar.
    • Custom dot+ring cursor + magnetic hover.
    • Matrix code rain in hero + particle network in services.
    • Cycling typewriter terminal-tag.
    • RGB-split glitch on hero name + heading hover-jitter.
    • IDE code-card with syntax-highlighted developer object.
    • Mini contribution heatmap (mocked at the time).
    • Console welcome message + Konami code easter egg.
  27. v0.1 prior origin

    Generic FH5co-derived single-page portfolio — light theme, alternating timeline, basic services grid. Starting point.

Built & iterated in public. Back to portfolio · github.com/kon2raya24