Thursday, May 14, 2026

Latest

Presentation Mode Redesign & Touch Targets

Presentation mode: minimal overlay HUD — controls float at top-right and fade in after a beat so the first thing you see is the site, not chrome

Improved

Presentation mode: nav arrows appear only on hover over the preview area, keeping the experience immersive when you're just watching

Improved

Presentation mode: thin animated progress bar at the very top shows your position across the full collection at a glance

Improved

Presentation mode: bottom HUD shows domain, industry, counter, and color palette in one compact row instead of two separate top/bottom bars

Improved

Presentation mode: info row slides in the direction of navigation — left when going back, right when going forward — giving a physical sense of movement

Improved

Presentation mode: swipe left/right to navigate on touch devices — works on any phone or tablet without tapping arrows

New

Header icon buttons increased from 32px to 36px — easier to tap accurately on touch screens

Improved

Mobile category filter pills increased from 28px to 40px height — were consistently too small to tap without mis-tapping adjacent pill

Improved

Sidebar filter rows increased to 36px — matches minimum recommended touch target for dense lists

Improved

Detail panel action buttons (re-extract, close) increased from 32px to 36px

Improved

Panel tabs increased from 40px to 44px height — meets Apple HIG minimum touch target recommendation

Improved

Color copy button expanded to 28px minimum — was previously a 12px hit target from a 4px padding box

Improved

Type specimen action icons (copy, Google Fonts link) increased from 24px to 32px

Improved

Thursday, May 14, 2026


Performance, Bug Fixes & Figma Tab

Figma tab now appears in the detail panel — it was fully implemented but never wired into the panel tabs

Fixed

Replaced transition-all on all buttons and links with transition-colors — eliminates browser compositing cost across all CSS properties on every click target

Improved

Sidebar and mobile filter "All" count now shows the real total (e.g. 177) instead of the current page load (32)

Fixed

Removed invalid workflow key from next.config.mjs that was generating startup warnings on every dev server boot

Fixed

Thursday, May 14, 2026


TypeScript Bug Fixes

Created missing UI components: Label, Select, Badge, Tabs, ScrollArea, Textarea, Slider — many node and panel components were importing these non-existent files

Fixed

Created missing lib/node-utils module — all node components importing getStatusColor() were silently broken at runtime

Fixed

Node components now use correct @xyflow/react v12 NodeProps generic — NodeProps<FlowNode<DataType>> instead of NodeProps<DataType>

Fixed

fetch() timeout option removed — not part of RequestInit; replaced with AbortController signal for proper 8s timeout on URL extraction

Fixed

motion/react Variants type — spring transition type is now a string literal (as const) so it satisfies AnimationGeneratorType

Fixed

unknown → ReactNode errors in 6 node files — output conditions now use !! to guarantee boolean before &&

Fixed

Missing CheckCircle import in excel-parser node

Fixed

prompt-node onFocus handler accepts SyntheticEvent instead of MouseEvent

Fixed

Implicit any on Slider onValueChange callbacks — destructured value now typed as number[]

Fixed

Implicit any on forEach callbacks in browser-extraction.ts — all font string arrays now typed explicitly

Fixed

Monday, May 11, 2026


Accessibility, Polish & Code Health

Removed unused DesignBrowser component — eliminates dead code and reduces bundle

Improved

Type specimen sample text and glyphs now render at correct opacity — was using hsl() around an oklch token which browsers silently ignored

Fixed

Design cards are now keyboard-navigable — Tab to reach, Enter or Space to open the detail panel

Fixed

Status colors (success, error, loading) now use design tokens — consistent across nodes, type specimens, figma tab, and changelog

Improved

Consolidated to single icon library (@phosphor-icons) — removed lucide-react dependency

Improved

Search inputs now have accessible labels for screen readers via aria-label

Fixed

Filter and sort buttons now announce their active/inactive state to screen readers via aria-pressed

Fixed

Color swatch copy button now announces its action and value to screen readers

Fixed

Re-extract button uses aria-label instead of title — now accessible to screen readers and keyboard users

Fixed

Mobile detail sheet upgraded to native <dialog> with showModal() — gains proper focus trapping, Escape to close, and system backdrop

Fixed

Presentation mode screenshot alt text now describes the site by name, not just domain

Fixed

Extracted shared NodeStatus component — eliminates duplicated status icon logic across all node components

Improved

Google Fonts stylesheet now only injected once per URL — prevents duplicate network requests when multiple type specimens share a font

Fixed

Theme toggle button now announces the destination mode ("Switch to dark mode") rather than just "Toggle theme"

Fixed

Preloader is now hidden from screen readers via aria-hidden — decorative counter is not meaningful content

Fixed

Preloader setTimeout calls now properly cleaned up on unmount — eliminates potential state updates after component is removed

Fixed

Color swatches on gallery cards now have role="img" and aria-label with the hex value for screen readers

Fixed

Replaced all spring/bounce easing (0.34,1.56,0.64,1) with ease-out-expo (0.22,1,0.36,1) — animations feel faster and more intentional

Improved

Extracted DesignCard component and getDomain helper to their own files — reduces page.tsx by ~130 lines

Improved

Assets tab checkerboard background now uses design tokens — adapts correctly to light and dark mode

Improved

Preview tab screenshot image now uses loading="lazy" — deferred until the panel is actually viewed

Improved

Re-extract and close icon buttons in the detail panel increased from 28px to 32px for easier touch activation

Improved

Package name corrected from "ai-agent-builder" to "hitmans-library"

Improved

Monday, May 11, 2026


Figma Native Paste, Thumbnail Fix & UI Polish

Figma tab — copy Desktop or Mobile screenshot as a PNG image, paste directly into Figma with ⌘V — no html.to.design plugin required

New

Sort pills in header — New / Old / A–Z / Top (quality)

New

Multi-select industry filters — hold multiple categories at once

New

Card hover reveals a visit ↗ button without opening the detail panel

New

Tags shown on gallery cards and in the detail panel header

New

Detail panel hostname is now a direct link to the site

New

All 177 thumbnails now use captured blob screenshots — eliminates blank cards from rate-limited external screenshot services

Improved

Sidebar category counts now match exactly what the gallery shows

Improved

Font 404 errors — removed dead @font-face declarations for missing SuisseIntl files

Fixed

Extraction error UI in Preview tab was never visible due to an impossible condition

Fixed

Re-extract could crash Colors/Type/Assets tabs by not normalizing null arrays

Fixed

Quality sort silently fell back to "newest" — now correctly sorts by extracted quality score

Fixed

SVG assets tab had an XSS vector from inline rendering of raw DB content

Fixed

Monday, April 6, 2026


Breakpoints, Full-Page Copy & Bug Fixes

Breakpoint selector in Figma tab — switch between Auto / 390 / 768 / 1440px and see the site respond live

New

Full-page copy — one click captures the entire page as Figma layers, not just a single element

New

Client-side exception on some sites — API error responses now handled gracefully, no more crash on load

Fixed

Site cards not visible — gallery query was referencing non-existent DB columns, now uses safe correlated subqueries

Fixed

Retina screenshots — desktop now captured at 2× DPR, mobile at 3×, with lazy-image scroll-through before capture

Fixed

Card image hover — CSS transition replaces motion.img for better performance and no layout shift

Improved

Sunday, April 5, 2026


Figma Element Picker & Live Preview

Element picker — hover any element to highlight it, click to copy directly to Figma

New

Full-page Figma layers pre-loaded on tab open — copy is instant, no wait

New

HTML proxy — loads any site inside the panel regardless of X-Frame-Options restrictions

New

Live preview — embedded iframe replaces static screenshots entirely

New

Figma tab — dedicated panel tab with auto-capture on first open

New

Search input in header — search across all sites in real time

New

Panel header redesigned — compact icon row for visit, re-extract, and close

Improved

Preview simplified — responsive iframe with no desktop/mobile toggle needed

Improved

Filter effect dep used JSON.stringify on every render — replaced with stable primitives

Fixed

Thursday, April 2, 2026


Copy to Figma, Mobile Views & More

Copy to Figma — paste any captured site as editable layers directly into Figma

New

Mobile screenshots alongside desktop — captured at 390×844 during extraction

New

Desktop / Mobile toggle in the preview tab

New

Palette export — copy colors as CSS custom properties or Tailwind config in one click

New

Bulk add — paste multiple URLs at once and watch them process in a live queue

New

Preloader — 000→100 counter on first visit

New

HEX and OKLCH values are now separately copyable from the colors tab

Improved

Wednesday, April 1, 2026


UI Redesign & Sound

Full gallery layout redesign — cleaner grid, tighter type, better dark mode

Improved

Subtle sound effects on copy and successful extraction

New

Admin CMS — passcode protection and one-click duplicate removal

Improved

Admin page was unscrollable due to a global overflow:hidden — resolved

Fixed

Tuesday, March 17, 2026


Performance, Polish & Mobile

Skeleton loading on first page load and category filtering

New

HEX / OKLCH format toggle on the colors tab

New

Dark / light theme toggle — instant, no flash of wrong theme

Improved

Category labels rewritten to better reflect actual design context

Improved

Mobile sheet — safe-area insets and 44px touch targets throughout

Improved

Prevented scroll chaining between preview panel and page body on mobile

Fixed

Edge case: achromatic and scientific-notation OKLCH values now parse correctly

Fixed

Wednesday, March 4, 2026


Real Screenshots

Live website screenshots displayed on every design card

New

Switched to a reliable headless screenshot pipeline after testing multiple providers

Improved

Tuesday, February 24, 2026


Copy Feedback & Social

Copy feedback on color swatches — animated toast on click

New

OG image and social meta for sharing the library

New

Microinteractions across the UI following Emil Kowalski's principles

Improved

Monday, February 23, 2026


Initial Launch

Color palette extraction — brand colors with OKLCH values

New

Typography extraction — font families, roles, and Google Fonts links

New

Asset catalog — logos, icons, images discovered per site

New

Industry categorization for every captured site

New

Browse and search across your entire design library

New

Excel import for bulk seeding the library

New

Feb 23, 2026 — first commit