🪂 How To Make Your Design System AI-Ready (https://lnkd.in/dtnpy7CM), a practical guide on how to reduce drifts, minimize mistakes, maintain context and improve the quality of AI-generated prototypes — with structured spec files, automated auditing and token layers. Put together by Hardik Pandya from Atlassian. --- 🔹 1. Design Decisions Are Infrastructure AI-generated prototypes often don't deliver consistently decent results because of tiny inconsistencies scattered all across a design system. Often it's decisions made but not documented, hard-coded values never cleaned up, or relying too much on AI making sense of mock-ups or design flows on its own. Unsurprisingly, better AI prototypes come from better data — but also from better human guidance. We shouldn’t assume that AI knows how to choose the right component, and how to design with accessibility in mind. It needs priorities, a clear path on how we make decisions, design principles, examples, do's and don'ts. In fact, we should treat design decisions as infrastructure. That means that every time we make a decision — not just a design decision, but even decision on how actually prioritize our work and how we make decisions around here — it must find a path into the spec file that is then consumed by AI. --- 🔶 2. Three Layers: Spec Files + Token Layer + Audit To ensure quality, we establish design principles, guidelines, rules in a form of “spec files”). It's structured Markdown files that include spacing rules, color choices, component usage guidelines, priorities etc. AI is going to read and reuse that spec file every time it's going to generate a prototype. Because the spec files are text files, it's much more cost-effective, but also much more accurate just because we don't rely on AI recognizing or decoding patterns from mock-ups, but gets specific guidelines instead. In fact, extending code is often a more effective way than generating code from mock-ups. Token layer lists and keeps updated all tokens used throughout the design system. AI always chooses from a closed set of named variables instead of inventing plausible values ad-hoc. An audit script catches what AI gets wrong. It scans the prototype and flags every hard-coded value and flags it if necessary. It can be a regular software doing that, with AI waiting for its feedback to come back. Finally, when a design system ships updates, a sync routine flags which spec files need updating. The goal is to make sure that AI always reads up-to-date, current specs, not the ones written against an outdated version. --- 🔺 3. Examples of AI-Ready Design Systems ⌾ Atlassian: https://lnkd.in/dVsGc3Cp ⌾ Carbon: https://lnkd.in/d4zq4WWb ⌾ CMS Design System: https://lnkd.in/dHHzV3en ⌾ Nordhealth: https://lnkd.in/d8C4j2ZA Yet again, AI can’t magically resolve technical debt or design debt — it needs guidance, decisions, priorities and principles.
Website Design Fundamentals
Explore top LinkedIn content from expert professionals.
-
-
𝟭𝟬 𝗥𝘂𝗹𝗲𝘀 𝗳𝗼𝗿 𝗛𝗶𝗴𝗵-𝗖𝗼𝗻𝘃𝗲𝗿𝘁𝗶𝗻𝗴 𝗪𝗲𝗯𝘀𝗶𝘁𝗲𝘀 🔥 Most product sites don’t convert. Here’s how to fix it: 𝟭/ 𝗨𝗻𝗱𝗲𝗿𝘀𝘁𝗮𝗻𝗱 𝘆𝗼𝘂𝗿 𝗯𝘂𝘆𝗲𝗿 Before designing, talk to real users. Figure out what they want, what stops them, and what triggers action. → Talk to 5 signups: “What made you try it?” → Exit survey: “What’s stopping you?” → Watch session recordings → Skim support chats → Bonus: Buy someone coffee for quick feedback ✅ Example: Users say: “I just want to send invoices and get paid.” → Don’t write: “Smart billing software” → Say: “Send your next invoice in under 60 seconds.” 𝟮/ 𝗡𝗮𝗶𝗹 𝘆𝗼𝘂𝗿 𝗵𝗼𝗺𝗲𝗽𝗮𝗴𝗲 𝘀𝘁𝗿𝘂𝗰𝘁𝘂𝗿𝗲 Your layout needs: → Headline: pain point → Subheadline: curiosity → CTA: single action → Visual: product in action → Body: benefits > features ✅ Example: → “Hiring is broken.” → “Our AI recruiter finds top 3 candidates in 24h.” → “Try it free” → Demo video → “Save 10+ hours/week on screening” 𝟯/ 𝗠𝗮𝗸𝗲 𝘃𝗮𝗹𝘂𝗲 𝗰𝗹𝗲𝗮𝗿 𝗮𝗯𝗼𝘃𝗲 𝘁𝗵𝗲 𝗳𝗼𝗹𝗱 Most people won’t scroll. → What is this? → Who’s it for? → Why does it matter? → What should I do next? ✅ Example: → Don’t say: “AI-powered web builder” → Say: “Launch your landing page in 60 seconds” 𝟰/ 𝗙𝗼𝗰𝘂𝘀 𝗼𝗻 𝗼𝘂𝘁𝗰𝗼𝗺𝗲𝘀, 𝗻𝗼𝘁 𝗳𝗲𝗮𝘁𝘂𝗿𝗲𝘀 People don’t want “real-time sync.” They want fewer meetings, faster work. ✅ Example: → Don't say: “Real-time collaboration” → Say: “No more back-and-forth emails. Edit together live.” 𝟱/ 𝗔𝗱𝗱 𝗽𝗿𝗼𝗼𝗳, 𝗲𝗮𝗿𝗹𝘆 Trust builds conversion. → Logos → Quotes → Counters → Screenshots → Case studies ✅ Example: → “Trusted by 4,000+ teams at Meta, Notion, and Vercel” 𝟲/ 𝗥𝗲𝗺𝗼𝘃𝗲 𝗱𝗶𝘀𝘁𝗿𝗮𝗰𝘁𝗶𝗼𝗻𝘀 Stick to one goal and cut everything else. → No blog links → No footer clutter → No secondary CTAs ✅ Example: If your goal is “Try for free,” everything should lead there. 𝟳/ 𝗨𝘀𝗲 𝗯𝗲𝘁𝘁𝗲𝗿 𝗖𝗧𝗔 𝗹𝗮𝗻𝗴𝘂𝗮𝗴𝗲 Avoid vague buttons. Make CTAs feel easy + specific. ✅ Example: → Don't say: “Start now” → Say: “Try for free” 𝟴/ 𝗗𝗲𝘀𝗶𝗴𝗻 𝗺𝗼𝗯𝗶𝗹𝗲-𝗳𝗶𝗿𝘀𝘁 60%+ of traffic is mobile. If it’s clunky, it’s broken. → Large tap targets → Sticky CTAs → Short scroll → Preview breakpoints ✅ Example: → Desktop: CTA beside video → Mobile: CTA pinned bottom → Preview with Lovable 𝟵/ 𝗧𝗲𝘀𝘁 𝗺𝗼𝗿𝗲 𝘁𝗵𝗮𝗻 𝘆𝗼𝘂 𝘄𝗮𝗻𝘁 𝘁𝗼 One version is only one guess. ✅ Example: → “The fastest invoicing tool for freelancers” vs. → “Send your next invoice in under 60 seconds” → Ship both with Lovable 𝟭𝟬/ 𝗗𝗼𝗻’𝘁 𝘀𝘁𝗼𝗽 𝗮𝘁 𝘁𝗵𝗲 𝗖𝗧𝗔 Conversion isn’t the goal. The activation flow right after is. → Pre-fill content → Show a 60s walkthrough → Highlight one key action ✅ Example: User signs up → edits sample invoice → sends in 1 click LFG
-
Stuck in an endless loop of client changes? Lost track of what revision this constitutes? Yeah. Been there. Done that. The secret? It's not about saying no. It's about saying yes to the right things upfront. Every project that goes sideways starts the same way: Vague agreements. Fuzzy boundaries. Good intentions. Six weeks later you're bleeding money and everyone's frustrated. Here's my framework after 30 years of running two 8-figure businesses: The SOW is your salvation. Not some boilerplate template. A real document that covers: • Exact deliverables (not "design work" but "3 homepage concepts, 2 rounds of revisions") • Hours of operation ("We respond M-F, 9-5 PST. Weekend requests get Monday responses") • Revision rounds spelled out ("Round 1 includes up to 5 changes. Round 2 includes 3.") • Feedback cycles defined ("48-hour turnaround for client feedback or the project may be delayed or additional fees may be incurred") But here's what most people miss— Don't work on client notes immediately. Client sends 37 pieces of feedback at 11pm Friday? Producer sends conflicting notes from the CEO? Marketing wants one thing, sales wants another? Stop. Collect everything first. Resolve the conflicts. Get on the phone and discuss it with your client to get alignment. Separate the "have to haves" from the "nice to haves". Then present unified changes. "Based on all feedback received, here are the 8 changes we'll implement. This constitutes revision round 2 of 3." Watch how fast the random requests stop. No extra work that goes unappreciated. No more feelings of being taken advantage of. Communicate before the crisis, prevents the crisis from happening. "Just so you know, we're entering round 2. You have one more included. After that, it's $X per additional round." No surprises. No awkward money conversations. No resentment. Scope creep isn't a them problem. It's a you problem. And that's good news, because that means you are in control. They're not trying to take advantage. They just don't know where the boundaries are because you never drew them. Draw the lines early. Communicate them clearly. Everyone wins. What's your most painful scope creep story? What boundary would've prevented it? Small Business Builders #projectmanagement #clientmanagement #businessgrowth
-
Fundamental concepts every Frontend Engineer should know: (They don't really change, even with AI) 1️⃣ Beginner → HTML: semantic HTML and the DOM → CSS fundamentals: cascade, specificity, layout (box model, flex, grid) → JavaScript: common data types, timeouts, async/await, promises → Forms: how to build forms w and w/o JavaScript → Responsive design, CSS media queries → Networking: HTTP, caching, CDNs, HTTP/2, latency mitigation, and cache invalidation strategies 2️⃣ Intermediate → Accessibility: keyboard first, ARIA, screen readers, contrast, focus management → State management: App patterns and predictable component architecture → Component design: composition, props/inputs, pure components, separation of concerns → Media optimization: formats, responsive images, decoding, lazy loading → Browser basics: rendering engines, repaint vs reflow, layout thrashing → Rendering strategies: CSR, SSR, SSG, etc → Fonts: loading strategies, fallback stacks, and layout shift considerations → Testing strategies: unit, integration, visual, and end-to-end tests, plus testability practices → Deployment basics: static hosting, edge vs origin, cache lifetimes, invalidation recipes 3️⃣ Advanced → Build systems and module formats: bundlers, tree-shaking, code-splitting → Security basics: XSS, CSRF, CSP, secure headers and safe handling of user input → Privacy and permissions: cookies, storage, same-site rules, and browser permission prompts → Offline first-patterns: service workers, PWAs, and indexedDB basics → Internationalization: i18n / l10n approaches, pluralization, date/number formats → Maintainable CSS: utility vs component styles, BEM, CSS-in-JS tradeoffs, atomic CSS → Performance: Critical rendering path and performance optimization, including paint, layout, and compositing → Design systems: Building and maintaining design systems and UI components for the web 4️⃣ Expert → Local-first systems: Offline-parity, CRDTs, and optimistic replication → Front end tooling: Monorepo orchestration, AST transformations, and custom build pipelines → Server-driven UI: JSON-defined layouts, dynamic orchestration, and cross-platform consistency → Microfrontends: Decoupled deployments, module federation, and runtime integration → WebGL / WebGPU: Shaders, hardware acceleration, and high-performance rasterization → WASM: Polyglot execution, near-native performance, and memory management → Browser internals: V8 optimization, event loop deep-dives, and rendering engine mechanics. What else would you add? ——— ♻ Repost to help others discover 📕 Save the post so you don't miss it 💡 Follow me Yangshun Tay and my company GreatFrontEnd for more
-
How often do we confuse capability with necessity? Sure, you can use Rust, Kafka, GraphQL, Kubernetes, microservices, AI infrastructure, serverless, Terraform, Next.js, Redis, a JIT compiler, lambdas, and whatever else. All of it whispers, you must be smart because you can use this. But… why? To build a newsletter site for a dog shelter? Or a blog with three posts and one like? Just because you can use a nuclear reactor to boil water doesn’t mean it’s the best option. Sometimes a kettle on the stove is brilliant. Sometimes PHP with a JIT is enough. Sometimes you just serve a page, and it works. The best solutions aren’t the ones that stack all the tech from DevRel Twitter. They’re the ones that solve the problem, efficiently and simply. The real skill isn’t knowing everything. It’s knowing what to ignore. Don’t build a spaceship when all you need is a bicycle. Engineers are expensive. Computers are cheap. But that doesn’t mean every project needs to look like Google Cloud in miniature 🚲
-
Today, I witnessed my team lead interviewing a Full-Stack Web Developer with 2 years of experience, and I observed some interesting insights. The interview started with basic technical questions, which the candidate answered well. Then, my team lead gave him a coding task: 👉 "Write a function that removes duplicate values from a nested array while preserving its structure (PHP)." The candidate struggled and couldn’t solve it. So, my lead gave him another task: 👉 "Write a function that groups an array of associative arrays based on a specific key." Again, he couldn’t solve it. At this point, he admitted: "I don’t always have syntax and logic rules memorized, as I usually rely on resources like Stack Overflow and ChatGPT. Could you assign me a real-world task instead?" Here,I decided to step in. Since I was working on WooCommerce project, I gave him this challenge: 💡 "Implement a functionality where a logged-in user gets a 15% discount if they place two orders in a single day." We allowed him to use Google, ChatGPT, or any other resources. To our surprise, within 1.5 hour, he understood WooCommerce functionality, analyzed the existing code, and successfully implemented the feature. ✨ We ended up hiring him! ✨ Key Takeaway Many traditional interview techniques overemphasize logical puzzles and syntax-heavy questions, yet modern developers approach problem-solving differently. Rather than memorizing solutions, they adapt, learn, and implement on the spot using the tools and resources available to them. 💡 Instead of testing how well candidates remember syntax, we should focus on how effectively they apply problem-solving skills to practical challenges. What’s your take on this? Let’s discuss in the comments! 👇 #HiringTechTalent #TechCommunity #WhatDoYouThink
-
I've created 100s of SaaS landing pages that (1) rank in Google and (2) convert traffic into customers. Here's the exact landing page plan I follow: 1. Hero section Company logo: Ensure branding is immediately visible. Headline: Benefit-driven headline that captures attention and clearly states the (compelling) value proposition. Subheadline: Supporting statement that adds further clarity to the headline. Primary CTA: Button that stands out and guides the user to the desired next step. Social proof: Show that people like the reader are also using the product (and how many). Image or video: Add an image, video, or GIF that visually communicates the product in action, making it easy for users to understand how it works. 2. Benefits section Key benefits: Show the main benefits of the product and give a brief description of the features that achieve this. Supporting visuals: Include images to reinforce the benefits and showcase the product in action. 3. More social proof Testimonials: Include quotes from satisfied customers to increase authenticity. Trust signals: Add logos of well-known brands or individual users to further establish credibility. 4. FAQ section Address the most frequently asked questions to overcome any objections. Use Google autosuggest, keyword research tools, and search modifiers to find SEO-focused questions to further optimise for your target keyword(s). 5. Final call to action (CTA) Encourage users to take immediate action. 6. Internal linking Links to related features: Provide links to other feature pages to keep users exploring. Make sure to also link to the new landing page from other pages with optimised anchor text. 7. Mobile optimisation Ensure the landing page is fully optimised for mobile users with quick load times, easy navigation, and mobile-friendly CTAs. 8. Footer section Contact information: Include contact details like email, phone number, and address or a link to support. Legal information: Provide links to important pages such as Privacy Policy and Terms of Service. 9. Repeat for every feature We created 8 of these feature pages for a B2B SaaS company a few months back. They now: - Rank for searches directly looking for their product - Get 20,000+ "warm" SEO traffic per month It works.
-
Scalable? Yes. Boring? Also yes. Let’s be real: We’re so obsessed with scalability, we’ve forgotten how to surprise users. Design systems. Tokens. UI kits. All optimized for consistency—but at what cost? 1.Every product is starting to feel like a remix of the same Figma file. 2.Same rounded corners. Same muted palette. Same safe CTAs. Is every product supposed to look the same? Don’t get me wrong—scalability matters. But sameness isn’t strategy. If your brand blends in with everyone else’s, you’re not scalable. You’re forgettable. Design systems are vital. They’re the scaffolding that holds the experience together across teams, touchpoints, and time. They bring consistency, reduce chaos, and speed up collaboration. But here’s the catch: your design system should never mute your brand.The answer isn’t to abandon structure—it’s to evolve it. A well-crafted design system doesn’t erase your identity—it enhances it. It should include: >>UI pattern libraries tailored to your brand’s personality >>Micro-interactions that feel uniquely “you” >>Visuals, tone, and motion that speak your story >>And most importantly, components built with a deep respect for your product’s “why.” Because good design systems scale consistency. Great ones scale character. So no—every product doesn’t have to look the same. But every great product does need a system that helps it stay true to what makes it meaningful—and memorable. Design systems shouldn’t limit creativity—they should amplify identity.
-
Big SEO News: Google released a resource on optimizing sites for AI agents!!! Agents take screenshots, use accessibility trees + need actionable HTML: Author's Note: To tips like this straight to your inbox, check our the newsletter in my bio. This was a great find in the Core Updates newsletter run by Mark Williams-Cook!! I don't think I've seen this covered by any other sources yet but it's a big sign of the direction Google is headed. On their WebDev resources, they have officially created a page called "Build agent-friendly websites". In the intro, they mention how the sites how have a "new type of visitor" and users are now "delegating goal-oriented journeys to AI agents" Within the article they have a dedicated section on how to optimize for AI agents. There's a ton of information in here that's useful for SEOs. 1. Agents will actually take screenshots of your site and use visual cues to determine where to go. They mention how a a big "DELETE" button will be used with more caution than a small help button. 2. They also mention how the Accessibility Tree is key to how an agent maps it's journey. While used for assistive technology, it's a great map of the key functions of a site that agents can leverage. 3. Agents will also use "combined modalities". They'll combine both the visual cues they get from screenshots with the semantic HTML that you have on the site. 4. On of the biggest things that Google recommends optimizing for is "stable layouts". Since agents utilize screenshots, having moving parts after load can confuse agents if they're seeing buttons shift around on different pages. 5. They also recommend using semantic and actionable HTML. For instance, they call out using <button> and <a> tags over generic <div> and <span> tags. This gives agents a much better idea of what the HTML is doing. 6. They also specifically recommend using cursor: pointer in CSS which they call out as a "strong signal for actionability". Google has talked a lot recently about agentic search. Their CEO called the future of Google as an "agent manager". They've released WebMCP. They're constantly integrating new action features into AI Mode. And now they released this right before Google I/O.
-
I’ve had 4 legal battles since starting my business. Could I have avoided them? Probably. But to be honest, I didn't have the funds to pay a proper lawyer, or the network of founders to ask the right questions to. I don't want that to happen to you. Here are 5 clauses I put in my contracts that might help you protect your work, your business and most importantly.. your sanity ↓ #1 Non-cancellable, non-refundable contracts. This shouldn’t even be an issue if you qualify your clients properly. BUT if someone signs, onboards, and then ghosts? We still get paid. And so should you 🤗 #2 Immediate or short payment terms Most businesses accept 30-to 90-day payment terms. I don’t. You wouldn’t work for 3 months without pay—so why should your business? Cash flow is your business’s lifeline. Protect it. #3 While we’re on payment terms… Your contract should include: → Interest on late invoices. → A clause that stops work if invoices aren’t cleared. → A guarantee that if a client delays the project, you still get paid. Your time isn’t free! #4 Your IP stays YOURS. Anything we bring into the agreement at Klowt stays ours. Anything we create for you is yours. Simple. I once ran a training session, and the client recorded it—then tried to sell it behind a paywall. Now, our contract states a £10,000 fine per breach. (And for that particular case, per breach = per view. 😅) #5 Don't work with d*ckheads. This isn't a legal clause, more legal... advice? 🤣 If someone is giving you red flags in any way at the beginning of your relationship, do not work with them. This could include but not limited to: - Focusing on immediate ROI. - Cost or discounts being a primary concern. - Pushing for work to kick off before contracts or payments. - Reaching out at inappropriate times - or in inappropriate ways. - Delaying initial payments. Legally binding contracts are a good insurance policy, but they're lengthy and expensive to implement if you actually have to go to court. So the best LEGAL advice I can give you as a 2x founder is, don't work with d*ckheads. And learn from my mistakes. It's a lot cheaper than learning from your own... trust me 😂. Was this helpful? 💜 I write a 2x weekly newsletter for founders and freelancers on topics like this. Join us here: https://lnkd.in/ejDbD94R