Skip to content

v1.0.0 - Phoenix portfolio

Latest

Choose a tag to compare

@blackphoenix42 blackphoenix42 released this 27 Jun 18:49

First public release of my personal portfolio — a multilingual, server-first
Next.js site with deep-tech case studies, interactive demos, and a discoverable
easter-egg layer.

Highlights

  • Engineer Mode — an audience toggle (header pill, n shortcut, command
    menu) that mirrors Recruiter Mode and is mutually exclusive with it. Reveals
    architecture diagrams, algorithms & data structures, performance engineering,
    and technical write-ups on case-study pages. (ADR-0009)
  • /now page — a Derek-Sivers-style snapshot of what I'm focused on,
    learning, building, reading, and sharpening.
  • /system-design whiteboards — interactive walkthroughs of classic
    problems (URL shortener, rate limiter, job scheduler) plus sketched
    "coming soon" boards. (ADR-0011)
  • "Ask my portfolio" assistant — a fully client-side chatbot answering from
    real site content via a dependency-free TF-IDF index. No model download, no
    network calls, no tracking. (ADR-0010)
  • Quirky project filters on /work — favourites, late-night ideas, hardest
    bugs, most fun, open source, research, AI, and systems.

Personality & easter eggs

  • 22 hidden eggs across 5 tiers — including Phoenix Run, a Chrome-dino-
    style endless runner on the 404 page, a retro phoenix-shell terminal with
    history + tab-completion + 10 commands, a matrix-rain overlay, hidden
    /phoenix, /credits, and /secret routes, the Konami code, typed-word
    triggers, and a completionist reward. All progress lives in one localStorage
    key — no new cookies, no analytics. See docs/EGGS.md. (ADR-0008)
  • Boot sequence, header brand glitch effect, commit-rain overlay, a
    Web-Audio sound-effects engine with a global mute, and a voice-intro scaffold.

Internationalization & SEO

  • Six locales (en, hi, ja, sa, zh, ru) with localePrefix: "never" — every
    page renders at the same canonical URL; switching language updates content +
    <html lang> without changing the URL.
  • BreadcrumbList + CreativeWork + Person JSON-LD, per-project OG images, web app
    manifest, content-negotiated humans.txt, sitemap, and robots.

Contact

  • Drag-and-drop attachments (5 files / 10 MB, PDF/images/DOCX/TXT/MD).
  • Company autofill from a work email's domain.
  • Live rate-limit countdown, inline email autocomplete, and fully translated
    Zod validation errors.

Security & performance

  • Strict Content-Security-Policy with an explicit allow-list; the chatbot
    stays pure-JS so no wasm-unsafe-eval is needed.
  • Lazy-loaded project demos (next/dynamic) — only the visited demo ships JS.
  • Cookie-less Vercel Web Analytics + Speed Insights; the only cookie set is
    NEXT_LOCALE.
  • All animations gated on prefers-reduced-motion.

Tech stack

Next.js 16 (App Router) · React 19 · TypeScript 6 (strict + noUncheckedIndexedAccess)
· Tailwind CSS 4 · next-intl 4 · Vitest · Playwright · Zod 4 · Resend · framer-motion

Full details in docs/CHANGELOG.md.