Thursday, May 14, 2026
LatestPresentation 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
ImprovedPresentation mode: nav arrows appear only on hover over the preview area, keeping the experience immersive when you're just watching
ImprovedPresentation mode: thin animated progress bar at the very top shows your position across the full collection at a glance
ImprovedPresentation mode: bottom HUD shows domain, industry, counter, and color palette in one compact row instead of two separate top/bottom bars
ImprovedPresentation mode: info row slides in the direction of navigation — left when going back, right when going forward — giving a physical sense of movement
ImprovedPresentation mode: swipe left/right to navigate on touch devices — works on any phone or tablet without tapping arrows
NewHeader icon buttons increased from 32px to 36px — easier to tap accurately on touch screens
ImprovedMobile category filter pills increased from 28px to 40px height — were consistently too small to tap without mis-tapping adjacent pill
ImprovedSidebar filter rows increased to 36px — matches minimum recommended touch target for dense lists
ImprovedDetail panel action buttons (re-extract, close) increased from 32px to 36px
ImprovedPanel tabs increased from 40px to 44px height — meets Apple HIG minimum touch target recommendation
ImprovedColor copy button expanded to 28px minimum — was previously a 12px hit target from a 4px padding box
ImprovedType specimen action icons (copy, Google Fonts link) increased from 24px to 32px
ImprovedThursday, 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
FixedReplaced transition-all on all buttons and links with transition-colors — eliminates browser compositing cost across all CSS properties on every click target
ImprovedSidebar and mobile filter "All" count now shows the real total (e.g. 177) instead of the current page load (32)
FixedRemoved invalid workflow key from next.config.mjs that was generating startup warnings on every dev server boot
FixedThursday, 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
FixedCreated missing lib/node-utils module — all node components importing getStatusColor() were silently broken at runtime
FixedNode components now use correct @xyflow/react v12 NodeProps generic — NodeProps<FlowNode<DataType>> instead of NodeProps<DataType>
Fixedfetch() timeout option removed — not part of RequestInit; replaced with AbortController signal for proper 8s timeout on URL extraction
Fixedmotion/react Variants type — spring transition type is now a string literal (as const) so it satisfies AnimationGeneratorType
Fixedunknown → ReactNode errors in 6 node files — output conditions now use !! to guarantee boolean before &&
FixedMissing CheckCircle import in excel-parser node
Fixedprompt-node onFocus handler accepts SyntheticEvent instead of MouseEvent
FixedImplicit any on Slider onValueChange callbacks — destructured value now typed as number[]
FixedImplicit any on forEach callbacks in browser-extraction.ts — all font string arrays now typed explicitly
FixedMonday, May 11, 2026
Accessibility, Polish & Code Health
Removed unused DesignBrowser component — eliminates dead code and reduces bundle
ImprovedType specimen sample text and glyphs now render at correct opacity — was using hsl() around an oklch token which browsers silently ignored
FixedDesign cards are now keyboard-navigable — Tab to reach, Enter or Space to open the detail panel
FixedStatus colors (success, error, loading) now use design tokens — consistent across nodes, type specimens, figma tab, and changelog
ImprovedConsolidated to single icon library (@phosphor-icons) — removed lucide-react dependency
ImprovedSearch inputs now have accessible labels for screen readers via aria-label
FixedFilter and sort buttons now announce their active/inactive state to screen readers via aria-pressed
FixedColor swatch copy button now announces its action and value to screen readers
FixedRe-extract button uses aria-label instead of title — now accessible to screen readers and keyboard users
FixedMobile detail sheet upgraded to native <dialog> with showModal() — gains proper focus trapping, Escape to close, and system backdrop
FixedPresentation mode screenshot alt text now describes the site by name, not just domain
FixedExtracted shared NodeStatus component — eliminates duplicated status icon logic across all node components
ImprovedGoogle Fonts stylesheet now only injected once per URL — prevents duplicate network requests when multiple type specimens share a font
FixedTheme toggle button now announces the destination mode ("Switch to dark mode") rather than just "Toggle theme"
FixedPreloader is now hidden from screen readers via aria-hidden — decorative counter is not meaningful content
FixedPreloader setTimeout calls now properly cleaned up on unmount — eliminates potential state updates after component is removed
FixedColor swatches on gallery cards now have role="img" and aria-label with the hex value for screen readers
FixedReplaced 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
ImprovedExtracted DesignCard component and getDomain helper to their own files — reduces page.tsx by ~130 lines
ImprovedAssets tab checkerboard background now uses design tokens — adapts correctly to light and dark mode
ImprovedPreview tab screenshot image now uses loading="lazy" — deferred until the panel is actually viewed
ImprovedRe-extract and close icon buttons in the detail panel increased from 28px to 32px for easier touch activation
ImprovedPackage name corrected from "ai-agent-builder" to "hitmans-library"
ImprovedMonday, 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
NewSort pills in header — New / Old / A–Z / Top (quality)
NewMulti-select industry filters — hold multiple categories at once
NewCard hover reveals a visit ↗ button without opening the detail panel
NewTags shown on gallery cards and in the detail panel header
NewDetail panel hostname is now a direct link to the site
NewAll 177 thumbnails now use captured blob screenshots — eliminates blank cards from rate-limited external screenshot services
ImprovedSidebar category counts now match exactly what the gallery shows
ImprovedFont 404 errors — removed dead @font-face declarations for missing SuisseIntl files
FixedExtraction error UI in Preview tab was never visible due to an impossible condition
FixedRe-extract could crash Colors/Type/Assets tabs by not normalizing null arrays
FixedQuality sort silently fell back to "newest" — now correctly sorts by extracted quality score
FixedSVG assets tab had an XSS vector from inline rendering of raw DB content
FixedMonday, 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
NewFull-page copy — one click captures the entire page as Figma layers, not just a single element
NewClient-side exception on some sites — API error responses now handled gracefully, no more crash on load
FixedSite cards not visible — gallery query was referencing non-existent DB columns, now uses safe correlated subqueries
FixedRetina screenshots — desktop now captured at 2× DPR, mobile at 3×, with lazy-image scroll-through before capture
FixedCard image hover — CSS transition replaces motion.img for better performance and no layout shift
ImprovedSunday, April 5, 2026
Figma Element Picker & Live Preview
Element picker — hover any element to highlight it, click to copy directly to Figma
NewFull-page Figma layers pre-loaded on tab open — copy is instant, no wait
NewHTML proxy — loads any site inside the panel regardless of X-Frame-Options restrictions
NewLive preview — embedded iframe replaces static screenshots entirely
NewFigma tab — dedicated panel tab with auto-capture on first open
NewSearch input in header — search across all sites in real time
NewPanel header redesigned — compact icon row for visit, re-extract, and close
ImprovedPreview simplified — responsive iframe with no desktop/mobile toggle needed
ImprovedFilter effect dep used JSON.stringify on every render — replaced with stable primitives
FixedThursday, April 2, 2026
Copy to Figma, Mobile Views & More
Copy to Figma — paste any captured site as editable layers directly into Figma
NewMobile screenshots alongside desktop — captured at 390×844 during extraction
NewDesktop / Mobile toggle in the preview tab
NewPalette export — copy colors as CSS custom properties or Tailwind config in one click
NewBulk add — paste multiple URLs at once and watch them process in a live queue
NewPreloader — 000→100 counter on first visit
NewHEX and OKLCH values are now separately copyable from the colors tab
ImprovedWednesday, April 1, 2026
UI Redesign & Sound
Full gallery layout redesign — cleaner grid, tighter type, better dark mode
ImprovedSubtle sound effects on copy and successful extraction
NewAdmin CMS — passcode protection and one-click duplicate removal
ImprovedAdmin page was unscrollable due to a global overflow:hidden — resolved
FixedTuesday, March 17, 2026
Performance, Polish & Mobile
Skeleton loading on first page load and category filtering
NewHEX / OKLCH format toggle on the colors tab
NewDark / light theme toggle — instant, no flash of wrong theme
ImprovedCategory labels rewritten to better reflect actual design context
ImprovedMobile sheet — safe-area insets and 44px touch targets throughout
ImprovedPrevented scroll chaining between preview panel and page body on mobile
FixedEdge case: achromatic and scientific-notation OKLCH values now parse correctly
FixedWednesday, March 4, 2026
Real Screenshots
Live website screenshots displayed on every design card
NewSwitched to a reliable headless screenshot pipeline after testing multiple providers
ImprovedTuesday, February 24, 2026
Copy Feedback & Social
Copy feedback on color swatches — animated toast on click
NewOG image and social meta for sharing the library
NewMicrointeractions across the UI following Emil Kowalski's principles
ImprovedMonday, February 23, 2026
Initial Launch
Color palette extraction — brand colors with OKLCH values
NewTypography extraction — font families, roles, and Google Fonts links
NewAsset catalog — logos, icons, images discovered per site
NewIndustry categorization for every captured site
NewBrowse and search across your entire design library
NewExcel import for bulk seeding the library
NewFeb 23, 2026 — first commit