{"site":"https://stealth.pm","sections":[{"id":"web-galleries","title":"Web galleries","page":"look","description":"Shipped sites to study before you open an editor.","tools":[{"name":"Godly","url":"https://godly.website","desc":"Motion-heavy web design, recorded as video so you see the interaction, not a still.","tags":["free"]},{"name":"Minimal Gallery","url":"https://minimal.gallery","desc":"Sites that do more with less: whitespace, type and one idea.","tags":["free"]},{"name":"Minimum","url":"https://mnmm.xyz","desc":"A tight, quiet selection of minimal websites.","tags":["free"],"added":"2026-09-22"},{"name":"SiteInspire","url":"https://www.siteinspire.com","desc":"Long-running, hand-picked showcase of restrained, typographic sites.","tags":["free"]},{"name":"Httpster","url":"https://httpster.net","desc":"Opinionated picks of sites with a point of view.","tags":["free"]},{"name":"loadmo.re","url":"https://loadmo.re","desc":"Archive of unusual mobile websites and mobile-first experiments.","tags":["free"],"added":"2026-09-22"},{"name":"Inspora","url":"https://inspora.design","desc":"Design inspiration refreshed hourly across web, branding, product, motion and print.","tags":["free"],"added":"2026-09-22"},{"name":"Curated Design","url":"https://www.curated.design","desc":"Web design filtered by style and category.","tags":["free"]},{"name":"Land-book","url":"https://land-book.com","desc":"Landing pages sorted by industry, style and colour.","tags":[]},{"name":"Lapa Ninja","url":"https://www.lapa.ninja","desc":"Large landing page archive with a free design book section.","tags":["free"]},{"name":"Saaspo","url":"https://saaspo.com","desc":"Software landing pages, tagged by section and layout.","tags":["free"],"added":"2026-09-22"},{"name":"SaaS Landing Page","url":"https://saaslandingpage.com","desc":"Marketing pages split into hero, pricing and proof sections.","tags":["free"]},{"name":"SEESAW","url":"https://www.seesaw.website","desc":"Inspiration sorted by page section rather than whole site.","tags":["free"],"added":"2026-09-22"},{"name":"Supahero","url":"https://www.supahero.io","desc":"Nothing but hero sections, for when the first screen is the problem.","tags":["free"],"added":"2026-09-22"},{"name":"One Page Love","url":"https://onepagelove.com","desc":"Single-page sites and portfolios, curated since 2008.","tags":["free"]},{"name":"Dark Mode Design","url":"https://www.darkmodedesign.com","desc":"Sites built dark-first, for when dark has to feel intentional.","tags":["free"]},{"name":"Layers","url":"https://layers.to","desc":"Community where designers post work in progress and finished pieces.","tags":["free"],"added":"2026-09-22"},{"name":"Awwwards","url":"https://www.awwwards.com","desc":"Juried awards for experimental web work. Read it for technique.","tags":[]}]},{"id":"app-flows","title":"App & flow libraries","page":"look","description":"Real product screens and end-to-end journeys.","tools":[{"name":"Mobbin","url":"https://mobbin.com","desc":"Full flows from shipping iOS, Android and web apps, searchable by pattern.","tags":[]},{"name":"Refero","url":"https://refero.design","desc":"Product UI reference with deep filtering by component and page type.","tags":[]},{"name":"Page Flows","url":"https://pageflows.com","desc":"Recorded journeys: onboarding, checkout, upgrade prompts, empty states.","tags":[]},{"name":"Screenlane","url":"https://screenlane.com","desc":"Mobile and web screens tagged by pattern, sent weekly.","tags":["free"]}]},{"id":"interaction-refs","title":"Interaction references","page":"look","description":"Motion and micro-detail, studied frame by frame.","tools":[{"name":"60fps","url":"https://60fps.design","desc":"Screen recordings of app interactions that move well.","tags":[],"added":"2026-09-22"},{"name":"Design Spells","url":"https://www.designspells.com","desc":"Small details in software that feel like magic, broken down.","tags":["free"],"added":"2026-09-22"}]},{"id":"game-ui","title":"Game & HUD UI","page":"look","description":"Interfaces built for speed, density and spectacle.","tools":[{"name":"Game UI Database","url":"https://www.gameuidatabase.com","desc":"Thousands of game screens, filterable by screen type and genre.","tags":["free"],"added":"2026-09-22"},{"name":"HUDS+GUIS","url":"https://www.hudsandguis.com","desc":"Fictional and film interfaces: HUDs, FUI and sci-fi screens.","tags":["free"],"added":"2026-09-22"},{"name":"Interface In Game","url":"https://interfaceingame.com","desc":"Game interfaces collected by game and element, with video.","tags":["free"],"added":"2026-09-22"}]},{"id":"brand","title":"Brand & visual systems","page":"look","description":"Identity work and graphic systems.","tools":[{"name":"Rebrand","url":"https://www.rebrand.gallery","desc":"Before-and-after identity refreshes from studios worldwide.","tags":["free"],"added":"2026-09-22"},{"name":"SearchSystem","url":"https://searchsystem.co","desc":"Long-running archive of graphic design and visual systems.","tags":["free"],"added":"2026-09-22"}]},{"id":"boards","title":"Moodboards & visual search","page":"look","description":"Collect, cluster and find things by feel.","tools":[{"name":"Cosmos","url":"https://www.cosmos.so","desc":"Visual bookmarking with clean clustering.","tags":["free"]},{"name":"Same Energy","url":"https://same.energy","desc":"Search images by vibe instead of keywords.","tags":["free"],"added":"2026-09-22"},{"name":"SOOT Spiral","url":"https://spiral.soot.com/spiral","desc":"Endless visual exploration from SOOT, one image leading to the next.","tags":["free","ai"],"added":"2026-09-22"},{"name":"Savee","url":"https://savee.it","desc":"Moodboards with a strong editorial and brand-design community.","tags":[]},{"name":"Pinterest","url":"https://pinterest.com","desc":"The widest net for visual reference, if you filter hard.","tags":["free"],"added":"2026-09-22"},{"name":"Dribbble","url":"https://dribbble.com","desc":"Shots from independent designers. A sketchbook, not a spec.","tags":[]}]},{"id":"essays","title":"Essays & craft","page":"learn","description":"Writing that changes how you build.","tools":[{"name":"Invisible Details of Interaction Design","url":"https://rauno.me/craft/interaction-design","desc":"Why good interactions feel inevitable, with live demos.","tags":["free"]},{"name":"Josh W. Comeau","url":"https://www.joshwcomeau.com","desc":"Interactive CSS and React explainers. The spring and shadow posts are essential.","tags":["free"]},{"name":"Emil Kowalski","url":"https://emilkowal.ski","desc":"Writing on animation and component craft.","tags":["free"]},{"name":"Ahmad Shadeed","url":"https://ishadeed.com","desc":"Deep CSS layout write-ups with interactive figures.","tags":["free"]},{"name":"Codrops","url":"https://tympanus.net/codrops","desc":"Experimental front-end tutorials: WebGL, scroll, transitions.","tags":["free"]},{"name":"web.dev","url":"https://web.dev","desc":"Guides on performance, Core Web Vitals and platform features.","tags":["free"]},{"name":"Smashing Magazine","url":"https://www.smashingmagazine.com","desc":"Long-form articles on front-end, UX and accessibility.","tags":["free"]},{"name":"CSS-Tricks","url":"https://css-tricks.com","desc":"Archive of CSS techniques and almanac entries.","tags":["free"]},{"name":"Nielsen Norman Group","url":"https://www.nngroup.com/articles","desc":"Research-backed usability articles.","tags":["free"]},{"name":"You Don't Need Animations","url":"https://emilkowal.ski/ui/you-dont-need-animations","desc":"The case against animating what people see a hundred times a day.","tags":["free"],"added":"2026-09-22"},{"name":"Developing Taste","url":"https://emilkowal.ski/ui/developing-taste","desc":"Taste as a trained instinct, and how to train it.","tags":["free"],"added":"2026-09-22"},{"name":"Details That Make Interfaces Feel Better","url":"https://jakub.kr/writing/details-that-make-interfaces-feel-better","desc":"Small decisions that separate a good interface from a right one.","tags":["free"],"added":"2026-09-22"},{"name":"Family Values","url":"https://benji.org/family-values","desc":"How Family decided what its app should feel like.","tags":["free"],"added":"2026-09-22"},{"name":"Limit the number of details","url":"https://design.lightspark.com/limit-the-number-of-details","desc":"Every detail spends attention. Cutting some is what funds the rest.","tags":["free"],"added":"2026-09-22"},{"name":"HTML Can Do That","url":"https://chrisburnell.com/html-can-do-that","desc":"Behaviour that used to need JavaScript and now ships in HTML.","tags":["free"],"added":"2026-09-22"},{"name":"Front-of-the-front-end","url":"https://bradfrost.com/blog/post/front-of-the-front-end-and-back-of-the-front-end-web-development","desc":"The split inside front-end work, finally named clearly.","tags":["free"],"added":"2026-09-22"},{"name":"Anatomy of AI Input","url":"https://ibelick.com/anatomy-ai-input","desc":"What an agent input is actually made of, part by part.","tags":["free","ai"],"added":"2026-09-22"}]},{"id":"courses","title":"Courses & books","page":"learn","description":"Longer reads and structured learning.","tools":[{"name":"animations.dev","url":"https://animations.dev","desc":"Course on web animation: easing, timing, springs and restraint.","tags":[]},{"name":"Refactoring UI","url":"https://www.refactoringui.com","desc":"Tactical visual design advice written for developers.","tags":[]},{"name":"Practical Typography","url":"https://practicaltypography.com","desc":"Matthew Butterick's online book on type for screens.","tags":["free"]},{"name":"The Shape of Design","url":"https://shapeofdesignbook.com","desc":"Frank Chimero's short book on why and how we make things.","tags":["free"]},{"name":"Stripe Press","url":"https://press.stripe.com","desc":"Beautifully made books on technology and craft.","tags":[]},{"name":"Design Books","url":"https://designbooks.org","desc":"A reading list sorted by what you want to get better at.","tags":["free"],"added":"2026-09-22"},{"name":"Interactive SVG Animations","url":"https://www.svg.guide","desc":"A short interactive course on animating SVG properly.","tags":[],"added":"2026-09-22"},{"name":"A Five-Minute Guide to Better Typography","url":"https://www.pierrickcalvez.com/journal/a-five-minute-guide-to-better-typography","desc":"The short version of what most type mistakes have in common.","tags":["free"],"added":"2026-09-22"}]},{"id":"guidelines","title":"Patterns & guidelines","page":"learn","description":"How the parts of an interface are supposed to behave.","tools":[{"name":"Vercel Web Interface Guidelines","url":"https://vercel.com/design/guidelines","desc":"Concrete rules for interaction, forms, motion and layout.","tags":["free"]},{"name":"The Component Gallery","url":"https://component.gallery","desc":"Components compared across public design systems.","tags":["free"]},{"name":"Laws of UX","url":"https://lawsofux.com","desc":"Psychology behind interface decisions, each with an example.","tags":["free"]},{"name":"Apple Human Interface Guidelines","url":"https://developer.apple.com/design/human-interface-guidelines","desc":"Platform conventions for touch, motion and type.","tags":["free"]},{"name":"Material Design 3","url":"https://m3.material.io","desc":"Google's system, with detailed motion and state specs.","tags":["free"]},{"name":"Inclusive Components","url":"https://inclusive-components.design","desc":"Accessible patterns, one component at a time.","tags":["free"]},{"name":"Every Layout","url":"https://every-layout.dev","desc":"Intrinsic CSS layout primitives that respond without breakpoints.","tags":[]},{"name":"UI Patterns","url":"https://ui-patterns.com","desc":"Classic interaction patterns and the problems they solve.","tags":["free"]},{"name":"Checklist Design","url":"https://www.checklist.design","desc":"What each page or component needs before it ships.","tags":["free"]},{"name":"Linear Method","url":"https://linear.app/method","desc":"Short principles on building product with focus.","tags":["free"]},{"name":"Adele","url":"https://adele.uxpin.com","desc":"Comparison table of public design systems.","tags":["free"]},{"name":"Interface Cheat Sheet","url":"https://interfaces.dev/cheat-sheet","desc":"Quick fixes that lift an interface, in one scannable list.","tags":["free"],"added":"2026-09-22"},{"name":"Devouring Details","url":"https://devouringdetails.com","desc":"Interactive manual on the details inside interactions.","tags":["free"],"added":"2026-09-22"},{"name":"Design Principles","url":"https://principles.design","desc":"Decision frameworks teams actually published, collected.","tags":["free"],"added":"2026-09-22"},{"name":"Design Systems Surf","url":"https://designsystems.surf","desc":"Public design systems with components and foundations indexed.","tags":["free"],"added":"2026-09-22"},{"name":"Design System Checklist","url":"https://www.designsystemchecklist.com","desc":"What a design system needs before you can call it one.","tags":["free","oss"],"added":"2026-09-22"},{"name":"UI Playbook","url":"https://uiplaybook.dev","desc":"Each common component documented with its states and edge cases.","tags":["free"],"added":"2026-09-22"},{"name":"userinterface.wiki","url":"https://userinterface.wiki","desc":"A living manual on interface principles, motion and type.","tags":["free"],"added":"2026-09-22"}]},{"id":"canvases","title":"Interface canvases","page":"design","description":"Where the interface gets shaped.","tools":[{"name":"Figma","url":"https://www.figma.com","desc":"The default for interface design, prototyping and handoff.","tags":[]},{"name":"Framer","url":"https://www.framer.com","desc":"Design and publish sites with real components and motion.","tags":[]},{"name":"Paper","url":"https://paper.design","desc":"Design canvas that works in real HTML and CSS.","tags":[]},{"name":"Stitch","url":"https://stitch.withgoogle.com","desc":"Google Labs tool that turns prompts and sketches into UI and code.","tags":["free","ai"],"added":"2026-09-22"},{"name":"pen.dev","url":"https://pen.dev","desc":"Agentic design canvas: import any app, design with models on it, export HTML back to code.","tags":["ai","mac"],"added":"2026-09-22"},{"name":"Penpot","url":"https://penpot.app","desc":"Open-source design tool built on web standards.","tags":["free","oss"]},{"name":"Origami Studio","url":"https://origami.design","desc":"Meta's tool for high-fidelity interaction prototypes.","tags":["free","mac"]},{"name":"Webflow","url":"https://webflow.com","desc":"Visual development with a real CMS and interactions.","tags":[]}]},{"id":"motion-design","title":"Motion design","page":"design","description":"Timelines and state machines, designed visually.","tools":[{"name":"Rive","url":"https://rive.app","desc":"Interactive, state-machine vector animation with tiny runtimes.","tags":[]},{"name":"Jitter","url":"https://jitter.video","desc":"Motion design for UI, exported as video or Lottie.","tags":[]},{"name":"Cavalry","url":"https://cavalry.scenegroup.co","desc":"Procedural 2D animation for data, type and generative motion.","tags":[],"added":"2026-09-22"},{"name":"Lottie Creator","url":"https://lottiefiles.com/lottie-creator","desc":"Browser-based editor for making and tweaking Lottie files.","tags":[],"added":"2026-09-22"},{"name":"Lottielab","url":"https://www.lottielab.com","desc":"Animate in the browser and export Lottie for product UI.","tags":[],"added":"2026-09-22"},{"name":"Theatre.js","url":"https://www.theatrejs.com","desc":"Visual timeline editor for code-driven animation.","tags":["free","oss"]}]},{"id":"spatial","title":"3D & spatial","page":"design","description":"Modelling, scenes and simulation.","tools":[{"name":"Spline","url":"https://spline.design","desc":"Collaborative 3D design in the browser with web export.","tags":[]},{"name":"Blender","url":"https://www.blender.org","desc":"Open-source 3D suite for modelling, rendering and animation.","tags":["free","oss"]},{"name":"Houdini","url":"https://www.sidefx.com","desc":"Procedural 3D and VFX. Steep, and unmatched for simulation.","tags":[],"added":"2026-09-22"},{"name":"Womp","url":"https://womp.com","desc":"Friendly browser 3D modelling built on soft, blobby shapes.","tags":[],"added":"2026-09-22"},{"name":"Bezi","url":"https://www.bezi.com","desc":"AI assistant inside the Unity Editor for code, shaders and debugging.","tags":["ai"],"added":"2026-09-22"}]},{"id":"scanning","title":"Scanning & splats","page":"design","description":"Capture the real world as meshes and Gaussian splats.","tools":[{"name":"Luma AI","url":"https://lumalabs.ai/interactive-scenes","desc":"Turn phone video into interactive 3D scenes.","tags":["ai"],"added":"2026-09-22"},{"name":"Polycam","url":"https://poly.cam","desc":"Photogrammetry, LiDAR and splat capture on phone or web.","tags":[],"added":"2026-09-22"},{"name":"KIRI Engine","url":"https://www.kiriengine.app","desc":"3D scanning app with photogrammetry and Gaussian splatting.","tags":[],"added":"2026-09-22"},{"name":"RealityScan","url":"https://www.unrealengine.com/en-US/realityscan","desc":"Epic's free app for turning photos into 3D models.","tags":["free"],"added":"2026-09-22"},{"name":"SuperSplat","url":"https://superspl.at/editor","desc":"Open-source browser editor for cleaning and publishing splats.","tags":["free","oss"],"added":"2026-09-22"},{"name":"Depthkit","url":"https://www.depthkit.tv","desc":"Volumetric video capture for people and performances.","tags":[],"added":"2026-09-22"}]},{"id":"nodes","title":"Node & generative","page":"design","description":"Visual programming for real-time graphics.","tools":[{"name":"TouchDesigner","url":"https://derivative.ca","desc":"Node-based real-time visuals for installations and live shows.","tags":[],"added":"2026-09-22"},{"name":"cables.gl","url":"https://cables.gl","desc":"Browser-based node editor for WebGL, exportable to the web.","tags":["free","oss"],"added":"2026-09-22"},{"name":"NodeToy","url":"https://nodetoy.co","desc":"Node-based shader editor that exports to Three.js.","tags":[],"added":"2026-09-22"},{"name":"Nodes","url":"https://nodes.io","desc":"Visual programming that composes reusable code blocks into programs.","tags":[],"added":"2026-09-22"},{"name":"Bitspace","url":"https://bitspace.sh","desc":"Node-based creative canvas for generative experiments.","tags":[],"added":"2026-09-22"}]},{"id":"fashion","title":"Digital fashion","page":"design","description":"Garments simulated in 3D.","tools":[{"name":"CLO","url":"https://www.clo3d.com","desc":"Industry-standard 3D garment design and fitting.","tags":[],"added":"2026-09-22"},{"name":"Marvelous Designer","url":"https://www.marvelousdesigner.com","desc":"Cloth simulation for characters, games and film.","tags":[],"added":"2026-09-22"},{"name":"Style3D","url":"https://www.linctex.com","desc":"3D fashion design and digital sampling platform.","tags":[],"added":"2026-09-22"}]},{"id":"whiteboards","title":"Whiteboards","page":"design","description":"Infinite canvases for flows and systems.","tools":[{"name":"tldraw","url":"https://www.tldraw.com","desc":"Infinite canvas, and an SDK for building your own.","tags":["free","oss"]},{"name":"Excalidraw","url":"https://excalidraw.com","desc":"Hand-drawn diagrams with encrypted sharing.","tags":["free","oss"]},{"name":"FigJam","url":"https://www.figma.com/figjam","desc":"Figma's whiteboard for workshops and flows.","tags":[]},{"name":"Muse","url":"https://museapp.com","desc":"Spatial canvas for thinking with notes, PDFs and images.","tags":[],"added":"2026-09-22"},{"name":"Whimsical","url":"https://whimsical.com","desc":"Fast flowcharts, wireframes and mind maps.","tags":[]},{"name":"Eraser","url":"https://www.eraser.io","desc":"Diagrams as code for architecture docs.","tags":["ai"]},{"name":"Miro","url":"https://miro.com","desc":"Large collaborative canvas with templates.","tags":[]}]},{"id":"frameworks","title":"Frameworks & runtimes","page":"build","description":"Where the code lives.","tools":[{"name":"React","url":"https://react.dev","desc":"The component model most of this list assumes.","tags":["free","oss"]},{"name":"Next.js","url":"https://nextjs.org","desc":"React framework with server rendering, routing and metadata.","tags":["free","oss"]},{"name":"Astro","url":"https://astro.build","desc":"Content-first framework that ships zero JS by default.","tags":["free","oss"]},{"name":"Vite","url":"https://vite.dev","desc":"Fast dev server and build tool for any front end.","tags":["free","oss"]},{"name":"Svelte","url":"https://svelte.dev","desc":"Compiler-first framework with built-in transitions.","tags":["free","oss"]},{"name":"Tailwind CSS","url":"https://tailwindcss.com","desc":"Utility-first CSS with a token-driven theme.","tags":["free","oss"]},{"name":"Bun","url":"https://bun.sh","desc":"JavaScript runtime, bundler and package manager in one.","tags":["free","oss"]},{"name":"Storybook","url":"https://storybook.js.org","desc":"Build and test components in isolation.","tags":["free","oss"]},{"name":"Biome","url":"https://biomejs.dev","desc":"One fast tool for formatting and linting.","tags":["free","oss"]},{"name":"Turborepo","url":"https://turborepo.com","desc":"Monorepo builds with remote caching.","tags":["free","oss"]}]},{"id":"editors","title":"Editors & terminals","page":"build","description":"Where you spend the day.","tools":[{"name":"Zed","url":"https://zed.dev","desc":"Fast, multiplayer editor with agent editing built in.","tags":["free","oss","ai"]},{"name":"VS Code","url":"https://code.visualstudio.com","desc":"The editor most extensions and agents target first.","tags":["free","oss"]},{"name":"Ghostty","url":"https://ghostty.org","desc":"Native, GPU-accelerated terminal.","tags":["free","oss"]},{"name":"Warp","url":"https://www.warp.dev","desc":"Terminal with blocks, search and built-in agents.","tags":["ai"]}]},{"id":"agents","title":"Coding agents","page":"build","description":"Agents that write the interface with you.","tools":[{"name":"Claude Code","url":"https://www.claude.com/product/claude-code","desc":"Agentic coding from the terminal, IDE or browser.","tags":["ai"]},{"name":"Cursor","url":"https://cursor.com","desc":"AI editor with codebase-aware completions and agents.","tags":["ai"]},{"name":"OpenAI Codex","url":"https://openai.com/codex","desc":"OpenAI's coding agent for the terminal, IDE and cloud.","tags":["ai"],"added":"2026-09-22"},{"name":"Cline","url":"https://cline.bot","desc":"Open-source coding agent that runs in your editor.","tags":["oss","ai"],"added":"2026-09-22"},{"name":"Windsurf","url":"https://windsurf.com","desc":"AI editor with a collaborative agent mode.","tags":["ai"]},{"name":"v0","url":"https://v0.app","desc":"Generate React and Tailwind UI from prompts and screenshots.","tags":["ai"]},{"name":"Lovable","url":"https://lovable.dev","desc":"Describe an app and get a working full-stack build.","tags":["ai"]},{"name":"Bolt","url":"https://bolt.new","desc":"Prompt, run and deploy full-stack apps in the browser.","tags":["ai"]},{"name":"Replit","url":"https://replit.com","desc":"Browser IDE with an agent that builds and hosts apps.","tags":["ai"]}]},{"id":"mcp","title":"MCP & agent context","page":"build","description":"What your agents know and can reach.","tools":[{"name":"Model Context Protocol","url":"https://modelcontextprotocol.io","desc":"The open spec for connecting agents to tools and data.","tags":["free","oss","ai"]},{"name":"skills.sh","url":"https://skills.sh","desc":"Directory and leaderboard of reusable agent skills.","tags":["free","ai"],"added":"2026-09-22"},{"name":"Smithery","url":"https://smithery.ai","desc":"Registry for finding and installing MCP servers.","tags":["ai"]},{"name":"Context7","url":"https://context7.com","desc":"Up-to-date library docs served to coding agents.","tags":["free","ai"]},{"name":"Playwright MCP","url":"https://github.com/microsoft/playwright-mcp","desc":"Lets an agent drive a real browser through accessibility snapshots.","tags":["free","oss","ai"]},{"name":"AGENTS.md","url":"https://agents.md","desc":"A README convention that tells coding agents how a repo works.","tags":["free","ai"]},{"name":"Impeccable","url":"https://impeccable.style","desc":"One skill and twenty commands that hold an agent to a design floor.","tags":["free","ai"],"added":"2026-09-22"},{"name":"Taste Skill","url":"https://www.tasteskill.dev","desc":"Skill files that stop coding agents shipping generic frontends.","tags":["free","oss","ai"],"added":"2026-09-22"},{"name":"UI Skills","url":"https://www.ui-skills.com","desc":"Skills for polishing an interface an agent built.","tags":["free","ai"],"added":"2026-09-22"},{"name":"emilkowalski/skills","url":"https://github.com/emilkowalski/skills","desc":"Emil Kowalski's design-engineering skills for agents.","tags":["free","oss","ai"],"added":"2026-09-22"},{"name":"jakubkrehel/skills","url":"https://github.com/jakubkrehel/skills","desc":"Agent skills for animation, typography, layout and colour.","tags":["free","oss","ai"],"added":"2026-09-22"}]},{"id":"engines","title":"Animation engines","page":"build","description":"Timelines, springs and scroll, in code.","tools":[{"name":"GSAP","url":"https://gsap.com","desc":"Timelines with ScrollTrigger, SplitText and Flip. All plugins free.","tags":["free"]},{"name":"Motion","url":"https://motion.dev","desc":"Springs, layout animation and presence for React and vanilla JS.","tags":["free","oss"]},{"name":"Lenis","url":"https://lenis.darkroom.engineering","desc":"Smooth scroll that keeps native behaviour and syncs with GSAP.","tags":["free","oss"]},{"name":"React Spring","url":"https://www.react-spring.dev","desc":"Physics-based animation hooks.","tags":["free","oss"]},{"name":"Anime.js","url":"https://animejs.com","desc":"Lightweight animation engine with a timeline API.","tags":["free","oss"]},{"name":"AutoAnimate","url":"https://auto-animate.formkit.com","desc":"One line to animate list additions, removals and moves.","tags":["free","oss"]},{"name":"Lottie","url":"https://airbnb.io/lottie","desc":"Play After Effects and Lottie animations natively.","tags":["free","oss"]}]},{"id":"webgl","title":"WebGL & shaders","page":"build","description":"Pixels computed, not placed.","tools":[{"name":"Three.js","url":"https://threejs.org","desc":"The standard 3D library for the web.","tags":["free","oss"]},{"name":"React Three Fiber","url":"https://r3f.docs.pmnd.rs","desc":"React renderer for Three.js from Poimandres.","tags":["free","oss"]},{"name":"OGL","url":"https://github.com/oframe/ogl","desc":"Minimal WebGL library for shader planes and light scenes.","tags":["free","oss"]},{"name":"Paper Shaders","url":"https://shaders.paper.design","desc":"Zero-dependency shaders: mesh gradients, grain, dithering.","tags":["free","oss"]},{"name":"ShaderGradient","url":"https://www.shadergradient.co","desc":"Animated 3D gradients as a React component.","tags":["free","oss"]},{"name":"Unicorn Studio","url":"https://www.unicorn.studio","desc":"No-code WebGL effects exported as embeds.","tags":[]},{"name":"Shadertoy","url":"https://www.shadertoy.com","desc":"Community fragment shaders to read and fork.","tags":["free"]},{"name":"The Book of Shaders","url":"https://thebookofshaders.com","desc":"Step-by-step guide to fragment shaders.","tags":["free"]},{"name":"gltfjsx","url":"https://github.com/pmndrs/gltfjsx","desc":"Turns glTF models into reusable React Three Fiber components.","tags":["free","oss"],"added":"2026-09-22"},{"name":"gltfpack","url":"https://github.com/zeux/meshoptimizer/blob/master/gltf/README.md","desc":"Compresses and optimises glTF files for fast web delivery.","tags":["free","oss"],"added":"2026-09-22"},{"name":"Needle Viewer","url":"https://viewer.needle.tools","desc":"Drop in a glTF to inspect it and check what it will cost.","tags":["free"],"added":"2026-09-22"}]},{"id":"deploy","title":"Deploy","page":"build","description":"Hosting, edge and data.","tools":[{"name":"Vercel","url":"https://vercel.com","desc":"Framework-aware hosting with a preview URL per branch.","tags":[]},{"name":"Netlify","url":"https://www.netlify.com","desc":"Git deploys with forms, functions and edge handlers.","tags":[]},{"name":"Cloudflare Pages","url":"https://pages.cloudflare.com","desc":"Static and full-stack deploys on Cloudflare's network.","tags":[]},{"name":"Railway","url":"https://railway.com","desc":"Deploy services, databases and cron from a canvas.","tags":[]},{"name":"Fly.io","url":"https://fly.io","desc":"Run containers close to users in many regions.","tags":[]},{"name":"Render","url":"https://render.com","desc":"Managed web services, workers and Postgres.","tags":[]},{"name":"Supabase","url":"https://supabase.com","desc":"Postgres with auth, storage and realtime.","tags":["oss"]}]},{"id":"primitives","title":"Headless primitives","page":"components","description":"Behaviour and accessibility, no opinion on looks.","tools":[{"name":"Radix Primitives","url":"https://www.radix-ui.com/primitives","desc":"Unstyled, accessible React parts under much of the ecosystem.","tags":["free","oss"]},{"name":"Base UI","url":"https://base-ui.com","desc":"Unstyled components from the Radix, Floating UI and MUI teams.","tags":["free","oss"]},{"name":"React Aria","url":"https://react-spectrum.adobe.com/react-aria","desc":"Adobe's hooks with the deepest a11y and i18n coverage.","tags":["free","oss"]},{"name":"Ark UI","url":"https://ark-ui.com","desc":"Headless components driven by state machines.","tags":["free","oss"]},{"name":"Headless UI","url":"https://headlessui.com","desc":"Small set of unstyled components built for Tailwind.","tags":["free","oss"]},{"name":"Floating UI","url":"https://floating-ui.com","desc":"Positioning engine for tooltips, popovers and menus.","tags":["free","oss"]},{"name":"cmdk","url":"https://cmdk.paco.me","desc":"Fast, composable command menu for React.","tags":["free","oss"]},{"name":"Vaul","url":"https://vaul.emilkowal.ski","desc":"Drawer with native-feeling drag and snap points.","tags":["free","oss"]},{"name":"Sonner","url":"https://sonner.emilkowal.ski","desc":"Opinionated toasts with stacking and swipe to dismiss.","tags":["free","oss"]}]},{"id":"libraries","title":"Component libraries","page":"components","description":"Installable or copy-paste sets with a finished look.","tools":[{"name":"shadcn/ui","url":"https://ui.shadcn.com","desc":"Components you copy into your repo and own.","tags":["free","oss"]},{"name":"21st.dev","url":"https://21st.dev","desc":"Community registry of shadcn-style components, installable by command.","tags":["free"],"added":"2026-09-22"},{"name":"Origin UI","url":"https://originui.com","desc":"Hundreds of shadcn-compatible variants for inputs and tables.","tags":["free","oss"]},{"name":"HeroUI","url":"https://www.heroui.com","desc":"Themeable React library with polished defaults.","tags":["free","oss"]},{"name":"Mantine","url":"https://mantine.dev","desc":"Full-featured library with hooks, forms and dates.","tags":["free","oss"]},{"name":"Park UI","url":"https://park-ui.com","desc":"Styled layer on top of Ark UI.","tags":["free","oss"]},{"name":"Chakra UI","url":"https://chakra-ui.com","desc":"Accessible, prop-driven components with theming.","tags":["free","oss"]},{"name":"Tailwind Plus","url":"https://tailwindcss.com/plus","desc":"Official Tailwind components, templates and blocks.","tags":[]},{"name":"Tremor","url":"https://www.tremor.so","desc":"Dashboard components and charts on Tailwind.","tags":["free","oss"]},{"name":"Bencho","url":"https://bencho.dev","desc":"Interactive UI blocks you can tweak in place before taking the code.","tags":["free"],"added":"2026-09-22"},{"name":"devl.dev","url":"https://devl.dev","desc":"Two years of UI experiments, 159 components on the shadcn registry.","tags":["free","oss"],"added":"2026-09-22"},{"name":"Shoogle","url":"https://shoogle.dev","desc":"Search components and blocks across every shadcn registry at once.","tags":["free"],"added":"2026-09-22"},{"name":"crd-ui","url":"https://crd-ui.juanda.co","desc":"Payment card field with live brand detection and a 3D flip.","tags":["free","oss"],"added":"2026-09-22"}]},{"id":"micro","title":"Micro-interactions","page":"components","description":"Timing, springs and the moment after the click.","tools":[{"name":"interior.dev","url":"https://www.interior.dev","desc":"React micro-interactions tuned frame by frame.","tags":["free","oss"]},{"name":"React Bits","url":"https://www.reactbits.dev","desc":"Animated text, backgrounds and components with prop playgrounds.","tags":["free","oss"]},{"name":"React Bits Pro","url":"https://pro.reactbits.dev","desc":"Paid React Bits tier: marketing and app blocks, templates, and an agent kit that installs them.","tags":["ai"],"added":"2026-09-22"},{"name":"Motion Primitives","url":"https://motion-primitives.com","desc":"Copy-paste Motion components: text effects, morphing dialogs.","tags":["free","oss"]},{"name":"Fancy Components","url":"https://www.fancycomponents.dev","desc":"Playful, experimental React components with motion.","tags":["free","oss"],"added":"2026-09-22"},{"name":"Cult UI","url":"https://www.cult-ui.com","desc":"Distinctive shadcn-compatible components with texture.","tags":["free","oss"]},{"name":"Magic UI","url":"https://magicui.design","desc":"Animated components for landing pages.","tags":["free","oss"]},{"name":"Aceternity UI","url":"https://ui.aceternity.com","desc":"Showy Tailwind and Motion effects for heroes.","tags":["free"]},{"name":"Cursify","url":"https://cursify.vercel.app","desc":"Custom cursor effects as drop-in React components.","tags":["free","oss"],"added":"2026-09-22"},{"name":"NumberFlow","url":"https://number-flow.barvian.me","desc":"Animated number transitions with correct digit rolling.","tags":["free","oss"]},{"name":"Animata","url":"https://animata.design","desc":"Hand-crafted interaction and animation snippets.","tags":["free","oss"]},{"name":"Kokonut UI","url":"https://kokonutui.com","desc":"Modern components with subtle motion.","tags":["free","oss"]},{"name":"Framer University Resources","url":"https://framer.university/resources","desc":"Free Framer components, effects and templates.","tags":["free"],"added":"2026-09-22"},{"name":"Rare UI","url":"https://www.rareui.com","desc":"Animated React components, one file each, installed with the shadcn CLI.","tags":["free","oss"],"added":"2026-09-22"},{"name":"Transitions.dev","url":"https://transitions.dev","desc":"The handful of transitions web apps actually need, ready to paste in.","tags":["free"],"added":"2026-09-22"},{"name":"morphicons","url":"https://www.morphicons.com","desc":"Morph any SVG icon into another with spring physics.","tags":["free","oss"],"added":"2026-09-22"},{"name":"Calligraph","url":"https://calligraph.raphaelsalaja.com","desc":"Fluid text transitions built on Motion.","tags":["free","oss"],"added":"2026-09-22"},{"name":"Torph","url":"https://torph.lochie.me","desc":"Animated text component with no dependencies.","tags":["free","oss"],"added":"2026-09-22"}]},{"id":"agent-ui","title":"Agent interfaces","page":"components","description":"Composers, streams, tool calls and approvals.","tools":[{"name":"Beautiful UI","url":"https://www.beautifului.dev","desc":"Primitives for agent products: traces, tool chips, approvals.","tags":["free","oss","ai"]},{"name":"AI Elements","url":"https://ai-sdk.dev/elements","desc":"Vercel's components for chat, reasoning and sources.","tags":["free","oss","ai"]},{"name":"assistant-ui","url":"https://www.assistant-ui.com","desc":"Composable React primitives for chat interfaces.","tags":["free","oss","ai"]},{"name":"prompt-kit","url":"https://www.prompt-kit.com","desc":"Prompt inputs, message lists and markdown blocks.","tags":["free","oss","ai"]},{"name":"CopilotKit","url":"https://www.copilotkit.ai","desc":"In-app copilots and generative UI wired to app state.","tags":["oss","ai"]},{"name":"AICSS","url":"https://aicss.dev","desc":"Thinking states, tool calls and citations for agent chat, in React, Vue and Svelte.","tags":["free","oss","ai"],"added":"2026-09-22"},{"name":"Thinking orbs","url":"https://orbs.jakubantalik.com","desc":"Dotted thought-orbs for the wait between prompt and answer.","tags":["free","oss","ai"],"added":"2026-09-22"},{"name":"Dot Matrix","url":"https://dotmatrix.zzzzshawn.cloud","desc":"Dot-matrix loaders you install from the shadcn registry and own.","tags":["free","oss","ai"],"added":"2026-09-22"}]},{"id":"data","title":"Charts, tables & canvases","page":"components","description":"Dense data and node editors.","tools":[{"name":"TanStack Table","url":"https://tanstack.com/table","desc":"Headless table logic: sorting, grouping, virtualisation.","tags":["free","oss"]},{"name":"React Flow","url":"https://reactflow.dev","desc":"Node-based editors and diagrams in React.","tags":["free","oss"]},{"name":"visx","url":"https://airbnb.io/visx","desc":"Low-level visualisation primitives built on D3.","tags":["free","oss"]},{"name":"Recharts","url":"https://recharts.org","desc":"Declarative charts with sensible defaults.","tags":["free","oss"]},{"name":"Embla Carousel","url":"https://www.embla-carousel.com","desc":"Lightweight carousel with precise swiping.","tags":["free","oss"]},{"name":"Sandpack","url":"https://sandpack.codesandbox.io","desc":"Live, editable code playgrounds for docs.","tags":["free","oss"]},{"name":"Liveline","url":"https://github.com/benjitaylor/liveline","desc":"Real-time line chart for React that stays smooth under a live feed.","tags":["free","oss"],"added":"2026-09-22"},{"name":"dither-kit","url":"https://www.tripwire.sh/dither-kit","desc":"Dithered charts with a Recharts-style children-as-config API.","tags":["free","oss"],"added":"2026-09-22"}]},{"id":"type","title":"Typefaces","page":"assets","description":"Where good fonts come from.","tools":[{"name":"Fontshare","url":"https://www.fontshare.com","desc":"Quality free fonts from Indian Type Foundry.","tags":["free"]},{"name":"Free Faces","url":"https://www.freefaces.gallery","desc":"Curated free typefaces with real specimens.","tags":["free"],"added":"2026-09-22"},{"name":"UNCUT","url":"https://uncut.wtf","desc":"Free and open-source display faces with a contemporary edge.","tags":["free"],"added":"2026-09-22"},{"name":"Best Free Fonts","url":"https://bestfreefonts.com","desc":"Hand-sorted list of free fonts worth using.","tags":["free"],"added":"2026-09-22"},{"name":"Google Fonts","url":"https://fonts.google.com","desc":"Open-source variable fonts with a pairing view.","tags":["free","oss"]},{"name":"Fontsource","url":"https://fontsource.org","desc":"Self-host open-source fonts as npm packages.","tags":["free","oss"]},{"name":"Pangram Pangram","url":"https://pangrampangram.com","desc":"Contemporary foundry with free trials.","tags":[]},{"name":"Klim Type Foundry","url":"https://klim.co.nz","desc":"Carefully made typefaces with essays on each.","tags":[]},{"name":"Typewolf","url":"https://www.typewolf.com","desc":"Which fonts real sites use, and what pairs with them.","tags":["free"]},{"name":"Fonts In Use","url":"https://fontsinuse.com","desc":"Typography in the wild, indexed by typeface.","tags":["free"]},{"name":"Inter alternatives","url":"https://yeptype.com/article/inter-alternatives","desc":"Two real criteria for picking a UI font, plus ten that are not Inter.","tags":["free"],"added":"2026-09-22"}]},{"id":"icons","title":"Icons & emoji","page":"assets","description":"Consistent sets with React packages.","tools":[{"name":"Lucide","url":"https://lucide.dev","desc":"Clean, consistent open-source icons with React bindings.","tags":["free","oss"]},{"name":"Phosphor","url":"https://phosphoricons.com","desc":"Flexible family in six weights, thin to duotone.","tags":["free","oss"]},{"name":"Heroicons","url":"https://heroicons.com","desc":"Hand-drawn SVG icons from the Tailwind team.","tags":["free","oss"]},{"name":"Tabler Icons","url":"https://tabler.io/icons","desc":"Thousands of 24px stroke icons, MIT licensed.","tags":["free","oss"]},{"name":"Radix Icons","url":"https://www.radix-ui.com/icons","desc":"Crisp 15px icons for dense UI.","tags":["free","oss"]},{"name":"Iconoir","url":"https://iconoir.com","desc":"Clean, geometric open-source icons.","tags":["free","oss"]},{"name":"Remix Icon","url":"https://remixicon.com","desc":"Neutral line and fill pairs for every glyph.","tags":["free","oss"]},{"name":"Hugeicons","url":"https://hugeicons.com","desc":"Very large set in multiple styles.","tags":[]},{"name":"Iconify","url":"https://icon-sets.iconify.design","desc":"Search across 200k icons from every major set.","tags":["free","oss"]},{"name":"Streamline","url":"https://www.streamlinehq.com","desc":"Huge icon and illustration library with a Figma plugin.","tags":[]},{"name":"SVGL","url":"https://svgl.app","desc":"Brand logos as clean SVGs.","tags":["free","oss"]},{"name":"MakeEmoji","url":"https://makeemoji.com","desc":"Generate custom emoji from a prompt, sized for Slack and Discord.","tags":["ai"],"added":"2026-09-22"}]},{"id":"illustration","title":"Illustration","page":"assets","description":"Scenes and characters.","tools":[{"name":"unDraw","url":"https://undraw.co","desc":"Open-source illustrations with a recolour control.","tags":["free"]},{"name":"Blush","url":"https://blush.design","desc":"Mix-and-match illustration systems from many artists.","tags":[]},{"name":"Open Peeps","url":"https://www.openpeeps.com","desc":"Hand-drawn character library you can recombine.","tags":["free"]},{"name":"Humaaans","url":"https://www.humaaans.com","desc":"Modular people illustrations.","tags":["free"]},{"name":"Hashvatar","url":"https://www.hashvatar.com","desc":"Deterministic avatars from any string, in gradient or dither.","tags":["free","oss"],"added":"2026-09-22"}]},{"id":"colour-systems","title":"Colour systems","page":"assets","description":"Palettes and scales that hold up in UI.","tools":[{"name":"Radix Colors","url":"https://www.radix-ui.com/colors","desc":"12-step scales designed for UI states, with dark mode.","tags":["free","oss"]},{"name":"Realtime Colors","url":"https://www.realtimecolors.com","desc":"Preview a palette and type pairing on a real page.","tags":["free"]},{"name":"Leonardo","url":"https://leonardocolor.io","desc":"Contrast-based colour scale generator from Adobe.","tags":["free","oss"]},{"name":"Huetone","url":"https://huetone.ardov.me","desc":"Accessible palettes with perceptual lightness.","tags":["free","oss"]},{"name":"Coolors","url":"https://coolors.co","desc":"Generate and lock palettes with the spacebar.","tags":["free"]}]},{"id":"textures","title":"Textures, models & photo","page":"assets","description":"Noise, gradients, HDRIs and imagery.","tools":[{"name":"fffuel","url":"https://www.fffuel.co","desc":"SVG generators for noise, blobs, gradients and patterns.","tags":["free"]},{"name":"Haikei","url":"https://haikei.app","desc":"Generative SVG shapes and backgrounds.","tags":["free"]},{"name":"Poly Haven","url":"https://polyhaven.com","desc":"HDRIs, textures and models, all CC0.","tags":["free"]},{"name":"Sketchfab","url":"https://sketchfab.com","desc":"3D model marketplace with an embeddable viewer.","tags":[]},{"name":"Unsplash","url":"https://unsplash.com","desc":"Free high-resolution photography.","tags":["free"]},{"name":"Images in motion","url":"https://iim.smartsquad.io","desc":"Continuous animated image columns running in opposite directions.","tags":["free","oss"],"added":"2026-09-22"}]},{"id":"audio","title":"Audio","page":"assets","description":"Sound for interfaces, video and games.","tools":[{"name":"ElevenLabs","url":"https://elevenlabs.io","desc":"AI voices, sound effects and music generation.","tags":["ai"],"added":"2026-09-22"},{"name":"Splice","url":"https://splice.com/features/sounds","desc":"Royalty-free sample library for sound design.","tags":[],"added":"2026-09-22"},{"name":"FMOD","url":"https://www.fmod.com","desc":"Adaptive audio middleware for games and interactive work.","tags":[],"added":"2026-09-22"},{"name":"soundcn","url":"https://soundcn.xyz","desc":"700+ UI sound effects curated for web apps.","tags":["free"],"added":"2026-09-22"},{"name":"Cuelume","url":"https://cuelume.dev","desc":"Interaction sounds synthesised live with Web Audio, no files to ship.","tags":["free","oss"],"added":"2026-09-22"},{"name":"@web-kits/audio","url":"https://audio.raphaelsalaja.com","desc":"Declarative audio synthesis for the web.","tags":["free","oss"],"added":"2026-09-22"}]},{"id":"easing","title":"Motion & easing","page":"tools","description":"Curves, shadows and clip paths.","tools":[{"name":"Easing Wizard","url":"https://easingwizard.com","desc":"Design cubic-bezier, spring and bounce curves visually.","tags":["free"]},{"name":"Anime.js Easing Editor","url":"https://animejs.com/easing-editor","desc":"Tune easing curves and springs with a live preview.","tags":["free"],"added":"2026-09-22"},{"name":"Easing Gradients","url":"https://larsenwork.com/easing-gradients","desc":"Gradients with eased stops, so fades lose their hard edge.","tags":["free"],"added":"2026-09-22"},{"name":"cubic-bezier.com","url":"https://cubic-bezier.com","desc":"Compare two curves side by side.","tags":["free"]},{"name":"Easings.net","url":"https://easings.net","desc":"Reference of standard easing functions.","tags":["free"]},{"name":"Smooth Shadows","url":"https://shadows.brumm.af","desc":"Layered box-shadows that look like real light.","tags":["free"]},{"name":"Clippy","url":"https://bennettfeely.com/clippy","desc":"Visual clip-path builder.","tags":["free"]},{"name":"Easing Graphs","url":"https://www.easing.dev","desc":"Curated easing curves, graphed side by side.","tags":["free"],"added":"2026-09-22"},{"name":"shadowLab","url":"https://shadowlab.mocarski.design","desc":"Build box shadows for web and React Native in one place.","tags":["free"],"added":"2026-09-22"}]},{"id":"contrast","title":"Colour & contrast","page":"tools","description":"Check it before someone else does.","tools":[{"name":"OKLCH Picker","url":"https://oklch.com","desc":"Pick and convert colours in OKLCH.","tags":["free","oss"]},{"name":"Color.review","url":"https://color.review","desc":"Contrast checker that previews your pair as real text.","tags":["free"],"added":"2026-09-22"},{"name":"WebAIM Contrast Checker","url":"https://webaim.org/resources/contrastchecker","desc":"Quick WCAG contrast check for any pair.","tags":["free"]},{"name":"OKLCH.fyi","url":"https://oklch.fyi","desc":"Generate and explore uniform OKLCH palettes.","tags":["free"],"added":"2026-09-22"}]},{"id":"css","title":"CSS & type","page":"tools","description":"Scales, features and support tables.","tools":[{"name":"Utopia","url":"https://utopia.fyi","desc":"Fluid type and space scales with clamp() output.","tags":["free"]},{"name":"Type Scale","url":"https://typescale.com","desc":"Preview modular type scales.","tags":["free"]},{"name":"Wakamai Fondue","url":"https://wakamaifondue.com","desc":"See a font's OpenType features and axes.","tags":["free"]},{"name":"Open Props","url":"https://open-props.style","desc":"CSS custom properties for type, space and easing.","tags":["free","oss"]},{"name":"Modern CSS Solutions","url":"https://moderncss.dev","desc":"Modern fixes for old CSS problems.","tags":["free"]},{"name":"Can I use","url":"https://caniuse.com","desc":"Browser support tables for every web feature.","tags":["free"]},{"name":"Corner Radii","url":"https://corner-radii.xyz","desc":"Work out the inner radius so nested corners stay concentric.","tags":["free"],"added":"2026-09-22"},{"name":"Design Tokens Generator","url":"https://design.dev/ai/design-tokens-generator","desc":"Brand colours in, semantic CSS variables and a Tailwind theme out.","tags":["free","ai"],"added":"2026-09-22"},{"name":"Gradient Border Plugin","url":"https://gradient-border.floriankiem.com","desc":"Tailwind plugin for gradient borders via mask-composite.","tags":["free","oss"],"added":"2026-09-22"},{"name":"kugiri","url":"https://edoardolunardi.github.io/kugiri","desc":"Splits text into lines, words and characters where the browser already broke it.","tags":["free","oss"],"added":"2026-09-22"}]},{"id":"svg","title":"SVG & images","page":"tools","description":"Clean it, compress it, ship it.","tools":[{"name":"SVGOMG","url":"https://jakearchibald.github.io/svgomg","desc":"Optimise SVGs with a live preview.","tags":["free","oss"]},{"name":"SVG Path Editor","url":"https://yqnn.github.io/svg-path-editor","desc":"Edit path commands point by point.","tags":["free","oss"]},{"name":"Squoosh","url":"https://squoosh.app","desc":"Compare image codecs and compress in the browser.","tags":["free","oss"]},{"name":"RealFaviconGenerator","url":"https://realfavicongenerator.net","desc":"Every favicon and touch icon from one source.","tags":["free"]},{"name":"Transform","url":"https://transform.tools","desc":"Convert SVG to JSX, JSON to TypeScript and more.","tags":["free","oss"]},{"name":"OG Playground","url":"https://og-playground.vercel.app","desc":"Prototype OG images with Satori.","tags":["free","oss"]}]},{"id":"showcase","title":"Code & product shots","page":"tools","description":"Make the work look as good as it is.","tools":[{"name":"ray.so","url":"https://ray.so","desc":"Beautiful images of code snippets.","tags":["free"],"added":"2026-09-22"},{"name":"ui.camera","url":"https://ui.camera","desc":"Product photography and video of interfaces, made in the browser.","tags":[],"added":"2026-09-22"},{"name":"RegExr","url":"https://regexr.com","desc":"Build and test regular expressions with live highlighting.","tags":["free","oss"],"added":"2026-09-22"}]},{"id":"quality","title":"Performance & accessibility","page":"tools","description":"Measure before you ship.","tools":[{"name":"PageSpeed Insights","url":"https://pagespeed.web.dev","desc":"Lab and field Core Web Vitals for any URL.","tags":["free"]},{"name":"axe DevTools","url":"https://www.deque.com/axe","desc":"Automated accessibility testing in the browser.","tags":[]},{"name":"WAVE","url":"https://wave.webaim.org","desc":"Visual accessibility report on the page.","tags":["free"]},{"name":"Bundlephobia","url":"https://bundlephobia.com","desc":"Cost of an npm package before you install it.","tags":["free"]},{"name":"Polypane","url":"https://polypane.app","desc":"Browser for building responsive, accessible sites.","tags":[]},{"name":"Responsively","url":"https://responsively.app","desc":"Open-source multi-viewport dev browser.","tags":["free","oss"]},{"name":"rams","url":"https://www.rams.ai","desc":"Automated design review for generated code: accessibility and visual bugs.","tags":["ai"],"added":"2026-09-22"},{"name":"Agentation","url":"https://www.agentation.com","desc":"Gives an agent visual feedback on what it just built.","tags":["ai"],"added":"2026-09-22"},{"name":"Remediate","url":"https://www.remediate.ski","desc":"In-app feedback with screenshots and annotations, routed to your tracker.","tags":["free","oss"],"added":"2026-09-22"}]},{"id":"productivity","title":"Launchers & productivity","page":"desk","description":"Native apps that stay open all day.","tools":[{"name":"Raycast","url":"https://www.raycast.com","desc":"Launcher with extensions, snippets, window management and AI.","tags":["ai","mac"]},{"name":"Claude Cowork","url":"https://claude.com/product/cowork","desc":"Claude working across your files and apps from the desktop.","tags":["ai"],"added":"2026-09-22"},{"name":"Granola","url":"https://www.granola.ai","desc":"AI meeting notes that build on what you jot down.","tags":["ai"],"added":"2026-09-22"},{"name":"Wispr Flow","url":"https://wisprflow.ai","desc":"Voice dictation that writes cleanly in any app.","tags":["ai"],"added":"2026-09-22"},{"name":"LocalSend","url":"https://localsend.org","desc":"Send files between nearby devices, no cloud needed.","tags":["free","oss"],"added":"2026-09-22"},{"name":"Deskflow","url":"https://deskflow.org","desc":"Share one keyboard and mouse across computers.","tags":["free","oss"],"added":"2026-09-22"},{"name":"xScope","url":"https://xscopeapp.com","desc":"Rulers, loupes and guides for measuring the screen.","tags":["mac"]},{"name":"Sip","url":"https://sipapp.io","desc":"Menu bar colour picker that keeps palettes.","tags":["mac"]},{"name":"Rectangle","url":"https://rectangleapp.com","desc":"Keyboard window snapping for macOS.","tags":["free","oss","mac"]},{"name":"Maccy","url":"https://maccy.app","desc":"Lightweight clipboard history for macOS.","tags":["free","oss","mac"]}]},{"id":"recording","title":"Recording & video","page":"desk","description":"Capture, edit and stream.","tools":[{"name":"Screen Studio","url":"https://screen.studio","desc":"Screen recordings with automatic zoom and smooth cursor.","tags":["mac"]},{"name":"Recordly","url":"https://recordly.dev","desc":"Open-source recorder with auto-zoom, animated cursor and webcam.","tags":["free","oss"],"added":"2026-09-22"},{"name":"CleanShot X","url":"https://cleanshot.com","desc":"Screenshots, scrolling capture and recording.","tags":["mac"]},{"name":"Cap","url":"https://cap.so","desc":"Open-source recorder with shareable links.","tags":["free","oss"]},{"name":"OBS Studio","url":"https://obsproject.com","desc":"Free, open-source recording and live streaming.","tags":["free","oss"],"added":"2026-09-22"},{"name":"ShareX","url":"https://getsharex.com","desc":"Open-source capture and upload tool for Windows.","tags":["free","oss"],"added":"2026-09-22"},{"name":"Shottr","url":"https://shottr.cc","desc":"Fast screenshots with pixel measurement and OCR.","tags":["mac"]},{"name":"Kap","url":"https://getkap.co","desc":"Open-source recorder that exports GIF and MP4.","tags":["free","oss","mac"]},{"name":"Rotato","url":"https://rotato.app","desc":"Animated 3D device mockups from recordings.","tags":["mac"]},{"name":"Loom","url":"https://www.loom.com","desc":"Async video messages with transcripts.","tags":[]},{"name":"LosslessCut","url":"https://mifi.no/losslesscut","desc":"Trim and cut video instantly without re-encoding.","tags":["free","oss"],"added":"2026-09-22"},{"name":"OpenCut","url":"https://opencut.app","desc":"Open-source video editor that runs anywhere.","tags":["free","oss"],"added":"2026-09-22"},{"name":"DaVinci Resolve","url":"https://www.blackmagicdesign.com/products/davinciresolve","desc":"Pro editing, colour and audio, with a generous free tier.","tags":["free"],"added":"2026-09-22"},{"name":"NVIDIA ShadowPlay","url":"https://www.nvidia.com/en-us/software/nvidia-app/#shadowplay","desc":"Low-overhead capture and instant replay on NVIDIA GPUs.","tags":["free"],"added":"2026-09-22"},{"name":"Parsec","url":"https://parsec.app","desc":"Low-latency remote desktop, good enough for design and games.","tags":[],"added":"2026-09-22"}]},{"id":"organisation","title":"Notes & organisation","page":"desk","description":"Where references and plans live.","tools":[{"name":"Are.na","url":"https://www.are.na","desc":"Slow, connected research boards.","tags":["free"]},{"name":"Obsidian","url":"https://obsidian.md","desc":"Local-first markdown notes with links and plugins.","tags":["free"]},{"name":"Eagle","url":"https://en.eagle.cool","desc":"Local library for images, fonts and design references.","tags":[],"added":"2026-09-22"},{"name":"AFFiNE","url":"https://affine.pro","desc":"Open-source docs, whiteboards and databases in one workspace.","tags":["free","oss"],"added":"2026-09-22"},{"name":"Linear","url":"https://linear.app","desc":"Fast issue tracking for product teams.","tags":[],"added":"2026-09-22"},{"name":"Trello","url":"https://trello.com","desc":"Simple boards for lightweight planning.","tags":["free"],"added":"2026-09-22"}]},{"id":"assistants","title":"AI assistants","page":"desk","description":"Research, drafting and thinking out loud.","tools":[{"name":"ChatGPT","url":"https://chatgpt.com","desc":"OpenAI's general assistant for research and drafting.","tags":["ai"],"added":"2026-09-22"},{"name":"Gemini","url":"https://gemini.google.com","desc":"Google's assistant, tied into Workspace and search.","tags":["ai"],"added":"2026-09-22"},{"name":"NotebookLM","url":"https://notebooklm.google","desc":"Ground an assistant in your own sources, with audio overviews.","tags":["free","ai"],"added":"2026-09-22"}]},{"id":"browsers","title":"Browsers","page":"desk","description":"Where everything above runs.","tools":[{"name":"Arc","url":"https://arc.net","desc":"Browser with spaces, split view and a command bar.","tags":[]},{"name":"Zen","url":"https://zen-browser.app","desc":"Open-source Firefox-based browser with vertical tabs.","tags":["free","oss"],"added":"2026-09-22"},{"name":"Firefox","url":"https://www.mozilla.org/firefox/new","desc":"Independent engine and excellent CSS devtools.","tags":["free","oss"],"added":"2026-09-22"},{"name":"Brave","url":"https://brave.com","desc":"Chromium browser with built-in blocking.","tags":["free","oss"],"added":"2026-09-22"}]}],"designers":[{"name":"Emil Kowalski","url":"https://emilkowal.ski","focus":"Animation, Sonner, Vaul","group":"interaction"},{"name":"Jakub Krehel","url":"https://jakub.kr","focus":"Interface details, agent skills","group":"interaction"},{"name":"Raphael Salaja","url":"https://www.raphaelsalaja.com","focus":"Motion, audio and taste","group":"interaction"},{"name":"Rauno Freiberg","url":"https://rauno.me","focus":"Interaction craft essays","group":"interaction"},{"name":"Paco Coursey","url":"https://paco.me","focus":"cmdk, next-themes","group":"interaction"},{"name":"Jhey Tompkins","url":"https://jhey.dev","focus":"CSS experiments and demos","group":"interaction"},{"name":"Cassie Evans","url":"https://www.cassie.codes","focus":"SVG animation, GSAP","group":"interaction"},{"name":"Dennis Snellenberg","url":"https://dennissnellenberg.com","focus":"Motion-led web design","group":"interaction"},{"name":"Brian Lovin","url":"https://brianlovin.com","focus":"Product design, app dissections","group":"interaction"},{"name":"Tobias van Schneider","url":"https://vanschneider.com","focus":"Design, Semplice","group":"interaction"},{"name":"Adam Argyle","url":"https://nerdy.dev","focus":"CSS, Open Props","group":"css"},{"name":"Ahmad Shadeed","url":"https://ishadeed.com","focus":"CSS layout deep dives","group":"css"},{"name":"Una Kravets","url":"https://una.im","focus":"Platform CSS features","group":"css"},{"name":"Jen Simmons","url":"https://jensimmons.com","focus":"CSS layout, WebKit","group":"css"},{"name":"Rachel Andrew","url":"https://rachelandrew.co.uk","focus":"CSS Grid, specs","group":"css"},{"name":"Lynn Fisher","url":"https://lynnandtonic.com","focus":"Playful responsive design","group":"css"},{"name":"Sara Soueidan","url":"https://www.sarasoueidan.com","focus":"Accessibility and SVG","group":"css"},{"name":"Bruno Simon","url":"https://bruno-simon.com","focus":"Three.js, creative dev","group":"creative"},{"name":"Maxime Heckel","url":"https://blog.maximeheckel.com","focus":"Shaders and WebGL writing","group":"creative"},{"name":"Henry Heffernan","url":"https://henryheffernan.com","focus":"Interactive 3D portfolio","group":"creative"},{"name":"Hamish Williams","url":"https://hamishw.com","focus":"3D portfolio craft","group":"creative"},{"name":"Amelia Wattenberger","url":"https://wattenberger.com","focus":"Data viz, AI interfaces","group":"creative"},{"name":"Guillermo Rauch","url":"https://rauchg.com","focus":"Next.js, Vercel","group":"systems"},{"name":"Shu Ding","url":"https://shud.in","focus":"SWR, Satori, Nextra","group":"systems"},{"name":"Anthony Fu","url":"https://antfu.me","focus":"Vite, Vitest, Slidev","group":"systems"},{"name":"Adam Wathan","url":"https://adamwathan.me","focus":"Tailwind CSS","group":"systems"},{"name":"Rasmus Andersson","url":"https://rsms.me","focus":"Inter typeface, tools","group":"systems"},{"name":"Addy Osmani","url":"https://addyosmani.com","focus":"Performance engineering","group":"systems"},{"name":"Dan Abramov","url":"https://overreacted.io","focus":"React internals","group":"systems"},{"name":"Josh W. Comeau","url":"https://www.joshwcomeau.com","focus":"Interactive CSS teaching","group":"teaching"},{"name":"Lee Robinson","url":"https://leerob.com","focus":"Developer education","group":"teaching"},{"name":"Delba de Oliveira","url":"https://delba.dev","focus":"Visual explainers for React","group":"teaching"},{"name":"Kent C. Dodds","url":"https://kentcdodds.com","focus":"Testing, React teaching","group":"teaching"},{"name":"Chris Coyier","url":"https://chriscoyier.net","focus":"CSS-Tricks, CodePen","group":"teaching"},{"name":"Wes Bos","url":"https://wesbos.com","focus":"Courses, Syntax podcast","group":"teaching"},{"name":"Kevin Powell","url":"https://www.kevinpowell.co","focus":"CSS video teaching","group":"teaching"}]}