Revision History

Changelog

v1.18.0Motion and Floating Navigation2026-10-05
  • —Added: once you scroll, the navbar lifts into a floating glass bar with a thin reading-progress line driven by the scroll position itself
  • —Added: scroll-linked reveals on headings, roles, skills, projects, career and contact; their progress follows the scroll, so motion tracks your finger instead of firing on a timer
  • —Added: the career timeline fills in gold and each milestone dot lights up as you read through it
  • —Added: on first visit the portrait, intro, actions and figures enter in sequence; the name is not animated so it paints immediately
  • —Changed: page transitions and hover feedback share one spring curve; exits gain a touch of depth, entries settle instead of stopping, shared titles glide longer
  • —Fixed: html and body used overflow-x: hidden, which made body its own scroll container; scroll-driven effects and sticky positioning attached to a box that never moved. Now overflow-x: clip
v1.17.0Page Transitions2026-10-03
  • —Added: animated page changes on the browser View Transition API, through React 19.3's stable <ViewTransition>; no animation library and no animation JavaScript, only opacity and transform on compositor snapshots
  • —Added: direction-aware motion; going deeper slides in from the right, going back slides in from the left, other pages rise in, and switching language cross-fades
  • —Added: shared titles; 'dummVinci' and 'Stadera' glide from the link into the heading of the page they open
  • —Changed: the navbar holds still while the page moves under it; browser back and forward stay instant so they never double up with the phone's own swipe animation
  • —Fixed: a new page used to be captured at the previous scroll position and jump to the top after the animation; it now starts at the top
  • —Removed: per-page fade-in animations, which left the incoming page blank during the transition
  • —Changed: React and React DOM 19.2.4 to 19.3.0
v1.16.2Firmer Type2026-10-03
  • —Changed: every page heading is Inter at weight 800 with tighter tracking; several were 400 to 700
  • —Removed: italic text across the site, including taglines, quotes and captions
  • —Changed: Foto Kita Blur polaroids print their quote and caption in the site's sans instead of italic Georgia
v1.16.1Homepage: Back to Inter, Less Template2026-10-03
  • —Changed: headings are heavy Inter again across the site, as before v1.16.0; Instrument Serif is no longer loaded
  • —Changed: homepage is one left-aligned 760px column again; removed the numbered section captions, bento tiles, the large statistics strip, the numbered project index and scroll-in animations
  • —Changed: the figures are a single small line under the intro; dummVinci and Stadera are two plain links in About; project titles are the links; tags are plain text
  • —Fixed: home sections lost their 24px side gutter on mobile because a padding shorthand overrode it
v1.16.0Homepage Redesign: Codex Folio2026-10-03
  • —Changed: homepage rebuilt as seven Roman-numbered folios (I to VII) with italic marginalia captions, Instrument Serif display type and hairline rules; the Vincinian palette, sketches and ASCII layer stay
  • —Changed: hero sets the name at display size with the portrait inside a Vitruvian square and circle; facts sit in a ruled row instead of cards
  • —Changed: About, Stadera, dummVinci Lab and roles share one bento grid; projects became a numbered editorial index; career uses a pinned heading beside the timeline; contact leads with the address itself
  • —Changed: the technologies marquee is now a static row of tags, so it no longer needs a keyboard pause
  • —Fixed: the display serif never rendered where var(--font-display) was used, because the stylesheet redeclared that variable in terms of itself; monospace text pointed at an undefined --font-geist-mono
  • —Fixed: light-theme gold is now split into a brand tone for large type and a darker text tone (5.05:1) for small text; every control is at least 44px tall
  • —Changed: homepage copy in all six languages no longer uses em dashes
  • —Removed: DummVinciTeaser and BrandMarquee sections, now folded into the bento and the expertise folio
v1.15.1QA — Accessibility, Language Switcher & Cleanup2026-10-03
  • —Changed: the language switcher is now real links to the same page in each language (with hreflang) — present in the served HTML, so crawlers can follow them; each language is listed by its own name
  • —Fixed: the skip link, every screen-reader label (menu, language, theme, back-to-top, social menu, photo, external links), the skill-graph section, the technologies strip, payment-method labels and the footer IP label were English on every locale — now translated in all six
  • —Fixed: profile photo lightbox is a proper dialog — focus moves into it, Escape closes it, focus returns to the photo
  • —Fixed: collapsed floating social links and the hidden back-to-top button were still reachable with Tab; the social toggle now reports aria-expanded and closes on Escape
  • —Fixed: the technologies strip could not be scrolled or paused from the keyboard — it is now focusable and pauses on focus as it does on hover
  • —Fixed: Foto Kita Blur could leave the camera on after navigating away while the hand model was loading; a failed model download no longer claims camera permission was denied
  • —Fixed: secondary text colour (--muted-soft) raised to WCAG AA contrast in both themes
  • —Fixed: Lab Works icons were assigned by list position, so removing a work shifted every icon after it — now keyed by link
  • —Changed: theme-switch animation honours prefers-reduced-motion; deprecated next/image `priority` replaced
  • —Removed: one client site from Lab Works; three unused components (DaVinciBackground, DaVinciTrail, Skeletons)
v1.15.0Six Languages, SEO Overhaul & Stadera2026-08-19
  • —Added: locale routing — every page lives under /en, /id, /zh, /ja, /ko or /th, so the served HTML, <html lang>, title and description are in the visitor's language; reciprocal hreflang (+ x-default) on every page and a 30-URL sitemap
  • —Added: Stadera — jastip tracker at /dummvinci/stadera: trips, customers, orders, multi-currency purchasing with live rates from three free providers, one-way locked transaction rates, exact integer money, fee models, invoices and profit; seller-only, data stays in the browser
  • —Added: generated Open Graph / Twitter cards per route and locale; JSON-LD @graph (WebSite, Person, ProfessionalService) plus BreadcrumbList on sub-pages
  • —Fixed: every sub-page declared the homepage as its canonical URL, telling search engines to drop it; robots.txt blocked /_next/ assets; /api/badge interpolated request headers into SVG unescaped
  • —Fixed: project cards in Chinese, Japanese, Korean and Thai were missing year, tags and link
  • —Changed: / and the pre-locale URLs permanently redirect to their /en equivalents
v1.14.0dummVinci Lab — Works & Foto Kita Blur2026-07-03
  • —Added: Lab Works section on /dummvinci — featured interactive experiment plus latest builds from GitHub (PTTS SmartSensor IoT Dashboard, Prima Transmission, dummVinci Calculator, this site) with live links, type tags, and tech pills
  • —Added: Foto Kita Blur ✌️ — interactive camera experiment at /dummvinci/foto-kita-blur inspired by Sal Priadi's trend; MediaPipe hand tracking detects a held peace sign, progressively blurs the frame, then auto-captures a polaroid with warm vignette — all client-side, nothing uploaded
  • —Added: works_* and foto_page translations across all 6 locales (EN, ID, ZH, JA, KO, TH)
  • —Changed: Permissions-Policy now allows camera=(self) on the Foto Kita Blur route only — remains locked down (camera=()) everywhere else
  • —Added: @mediapipe/tasks-vision (lazy-loaded on demand) and @vercel/functions dependencies; sitemap entry for the new route
  • —Changed: camera frame is now 16:9 widescreen on desktop and edge-to-edge near-fullscreen on mobile (100dvh-aware for iOS Safari) — native camera app feel on iPhone
  • —Fixed: captured blur now looks like natural lens soft-focus instead of an artificial blocky effect — a mip pyramid (downscale to ~1/8, then upscale back through the same steps) approximates a smooth Gaussian, with a subtle highlight bloom for a dreamy photographer feel; still iOS-safe (no ctx.filter)
  • —Changed: hold-to-capture is slower (3s) for a more dramatic blur build-up; each polaroid now carries a random love quote (localized, 6 languages) and a maker's mark — a small QR code to dummjo.dev with 'dummjo.dev · by dummVinci™' microtext — shown on the card and baked into the downloaded JPG
v1.13.0Performance — ASCII Atmosphere & INP Fix2026-04-18
  • —Removed: Animated film-grain overlay (body::after) — eliminated 350ms fullscreen repaint every frame that caused visible glitching on mid-range hardware
  • —Removed: DaVinciBackground canvas (cursor-proximity sketch tiles) — GPU-heavy draw loop replaced entirely
  • —Added: DaVinciAscii — 9 static ASCII art panels (Vitruvian Man, golden spiral, wing, gear, eye, waves, compass, anatomy, marginalia) in JetBrains Mono at ~4–5% opacity; pure CSS breath/drift animations, zero JS handlers
  • —Fixed: CursorGlow INP — layout thrash from querySelectorAll + getBoundingClientRect on every mousemove now throttled to one rAF per frame with batched rect reads; eliminated ~320ms INP block reported by Chrome
  • —Fixed: DaVinciBackground mousemove listener memory leak — cleanup was removing a different closure than the one registered
  • —Added: Hero stat cards — mobile golden-ratio layout (<=560px): [7+] [50+] top row 1fr:1fr, [JKT · Bali] full-width horizontal row; fixes cramped 3-column grid and text overflow on small screens
  • —Changed: ASCII panels hidden on mobile (<640px) via CSS display:none — no paint cost on small devices
v1.12.0Cursor Glow & Ring Ripple2026-04-11
  • —Added: Cursor spotlight effect — radial gradient follows mouse, accent color per theme (gold dark / sepia light), smooth lerp trail
  • —Added: Ring ripple animation on FloatingActions social icon expand — circular border pulse on each icon appear
  • —Changed: FloatingActions expand trigger now uses dedicated open() handler with ringKey to retrigger ring on each open
  • —Fixed: Social icon stagger delay synced with ring animation delay (0.05s per icon)
v1.11.0SEO, Search Console & Performance2026-04-10
  • —Added: Google Search Console ownership verified via HTML meta tag (kJJs2M6-CVtFcJTex6R7sTaERFAuWyOX99DXvf2Vi9M)
  • —Added: sitemap.xml via Next.js native sitemap.ts — 3 URLs (/, /dummvinci, /changelog)
  • —Added: robots.txt via Next.js native robots.ts — disallow /_next/ and /api/
  • —Added: Sitemap submitted to Google Search Console — indexed successfully
  • —Added: Bing Webmaster Tools — registered dummjo.dev, sitemap imported from GSC (3 URLs, Success)
  • —Added: Skill Graph (pure SVG, zero runtime JS) — 21 nodes, 36 edges, concentric rings, hover trace connections
  • —Added: Career Journey timeline section — 5 milestones from 2019→2025, all 6 languages, marketing-style copy
  • —Added: FloatingActions social icons — hidden by default, expand on hover (desktop) / tap (mobile), staggered animation
  • —Added: Back-to-top button — independent of social group, beside FAB toggle
  • —Changed: SEO keywords expanded — jasa website build jakarta, jasa pembuatan website jakarta, jasa web developer jakarta
  • —Changed: JSON-LD serviceType added Web Development, AI Workflow Automation, IoT Remote Monitoring
  • —Changed: Light theme contrast improved — fg: #0d0b08, muted: #454036, border: #b8ad99
  • —Changed: DaVinciBackground — 30fps throttle + settle detection (pause when mouse still)
  • —Changed: next.config — compress, AVIF/WebP images, optimizeCss, poweredByHeader off
  • —Fixed: SkillGraph SSR — getThemeColors guarded with typeof window check
  • —Fixed: scroll-behavior: smooth moved from * to html selector only
v1.10.0Visitor Info Widget & DNS2026-04-05
  • —Added: Visitor info widget in footer — shows live clock, IPv4 address, country flag, city, and ISP
  • —Fixed: Switched IP lookup to api4.my-ip.io (force IPv4, CORS-safe) — ipapi.co was failing with CORS errors
  • —Fixed: Clock now renders client-side only to avoid SSR hydration mismatch
  • —Added: Vercel Speed Insights installed for performance tracking
  • —Fixed: DNS A record at name.com updated to Vercel IP 216.198.79.1, removed old 76.76.21.21 record
v1.9.0Thai Language & Career Milestone2026-04-05
  • —Added: Thai (🇹🇭) as 6th language — full translation across all sections including career, dummVinci, and all services
  • —Added: Casio Thailand internship (2018, Nakhon Ratchasima) as first milestone in Career Journey — all 5 languages
  • —Added: LanguageSelector now shows Thai flag with ไทย label
v1.8.0dummVinci Reorientation2026-04-04
  • —Changed: dummVinci page restructured into 4 categories — Engineering, Web & Digital Presence, Business Support, Wearable & Branding
  • —Added: Tabbed navigation for service categories with animated transitions
  • —Added: "Why dummVinci" perks section (fast response, on/off-site, full documentation, post-delivery support, revision-friendly, technical precision)
  • —Added: Payment Methods section — QRIS, Debit/Credit Card, Crypto with provider badges
  • —Added: Da Vinci sketch illustrations between sections (mirror writing, flying machine, proportional study)
  • —Added: New services — Web Development, Domain & Hosting, Website Retrofit, 2D/3D Design, Social Media, Business Canvasing & Deck
  • —Added: Crane Control System Setup (ABB ACS880 + CCP) as dedicated engineering service
  • —Added: Marketplace "Coming Soon" section — Tokopedia & TikTok Shop (dummVinci Works) with Da Vinci quote
  • —Added: card-hover lift effect on all service, perk, and payment cards
  • —Changed: Removed AI/workflow/n8n services — refocused on core engineering & creative deliverables
  • —Fixed: ARIA hidden attributes on all decorative SVGs and icons across dummVinci & DaVinciElements
v1.7.0International2026-04-03
  • —Added: 5-language support (EN/ID/CN/JP/KR) with flag selector
  • —Added: WhatsApp floating CTA button
  • —Added: Brand/tech marquee (ABB, Siemens, Schneider, etc.)
  • —Added: Smooth page transitions
  • —Changed: SEO expanded for international targeting
v1.6.0Light Mode2026-04-03
  • —Added: Light/dark mode toggle with warm vincinian light palette
  • —Changed: Canvas background adapts accent color per theme
  • —Changed: Light mode canvas opacity increased for older audiences
v1.5.0Floating Actions & Contact2026-04-03
  • —Added: Floating action buttons (back to top + consultation)
  • —Added: GitHub & LinkedIn icons with card-hover in Contact
  • —Fixed: Multiple mailto implementation issues
  • —Fixed: ARIA hidden element accessibility
v1.4.0SEO & Accessibility2026-04-03
  • —Added: Vitruvian Man SVG favicon
  • —Added: JSON-LD structured data for Google rich results
  • —Changed: Title to "dummJo — Engineering & Consulting"
  • —Changed: SEO keywords targeting Jabodetabek
  • —Fixed: Horizontal scrollbar overflow
  • —Fixed: Aria-label on project external links
v1.3.0Interactivity & UX2026-04-03
  • —Added: Da Vinci cursor-reactive background animation
  • —Added: Hover lift effect on all card elements
  • —Changed: Multi-brand positioning (ABB/Siemens/Allen Bradley)
  • —Changed: GitHub links updated to dummJo
  • —Changed: Copy adjustments for PQ sizing/quotation focus
v1.2.0Design Overhaul2026-04-03
  • —Added: Profile photo with click-to-enlarge lightbox (96px → 280px)
  • —Added: Da Vinci renaissance SVG elements (Vitruvian, Golden Spiral, Compass, Divider)
  • —Changed: 4-tier WCAG color system for readability
  • —Changed: Font hierarchy and contrast improvements
  • —Changed: Footer tagline "Built wide. Runs deep."
  • —Fixed: LinkedIn username to 1437yb
v1.1.0dummVinci & Branding2026-04-03
  • —Added: dummVinci dedicated page (/dummvinci)
  • —Added: dummVinci homepage teaser section
  • —Added: Digitalization icons for projects
  • —Changed: Branding updated to dummjo.dev
  • —Changed: adam-retto project archived into main portfolio
v1.0.0Initial Release2026-04-03
  • —Added: Portfolio site with Hero, About, Skills, Projects, Contact
  • —Added: Next.js 16 + Tailwind CSS v4 + framer-motion
  • —Added: Deployed on Vercel
© 2026 dummjo.dev · Adam Muhammad넓게 구축하고, 깊게 구동한다.