Software Design Patterns

Explore top LinkedIn content from expert professionals.

  • View profile for Rajya Vardhan Mishra

    Engineering Leader @ Google | Mentored 300+ Software Engineers | Building High-Performance Teams | Tech Speaker | Led $1B+ programs | Cornell University | Lifelong Learner | My Views != Employer’s Views

    117,811 followers

    The most basic advice given to software engineers is to keep things simple, yet often we end up doing exactly the opposite. - If you could solve it with 1 service, why build 10. - If you could pass 3 fields, why create a giant context object. - If you could keep the flow in one place, why make people jump across 7 abstractions. - If you could store the truth once, why copy it into 4 layers and pray they stay in sync. This sounds obvious. Still, most codebases drift the other way. More wrappers. More indirection. More hidden state. More “future-proofing” for futures that never come. And then one day, a simple change takes 3 days because nobody knows where the real logic lives. A lot of engineers confuse sophistication with quality. But in practice, good judgment often looks boring: [1] Choosing one clean path over five flexible ones & keeping logic close to where it is used. [2] Not introducing a queue, cache, workflow engine, and agent loop for a problem that needs one function and a cron. [3] Saying no to abstractions until the duplication actually hurts. Optimizing for the next person who has to debug it, not for how smart it makes you look today. And yes, this applies to agent architectures too. If one agent with a clear scope can do the job, do not create five agents that pass context around like a corporate email chain. Each extra agent means: More layers to trace when something breaks. More state spread across prompts, tools, logs, and memory. More confusion for the human trying to debug it at 3 AM. Simple is not shallow. Simple is expensive. It takes taste to remove what is unnecessary. It takes confidence to not overbuild. It takes experience to know when flexibility is worth the cost and when it is just mental debt with better branding. A lot of software problems are not hard because the domain is hard. They are hard because we made them hard to think about. The craft is more than just building systems that work. It is building systems that are still understandable six months later. If you’re early in your career, please weave this into your skillset.

  • View profile for Niroshan Wickramasooriya

    Data Visualization Specialist & Power BI Analyst | Enterprise ERP Consultant (SAP B1 & Acumatica) | 2x Maven Analytics Challenge Winner

    3,709 followers

    🚀 Power BI: Adding Custom Tooltips to KPI Cards! While exploring Power BI capabilities, I discovered a creative workaround to add detailed tooltips to KPI cards - something that's not natively supported! The Challenge 🎯 Standard KPI cards in Power BI lack the ability to show comprehensive tooltip information, limiting user interaction and data exploration. My Solution 💡 I developed a custom HTML-based approach that transforms regular KPI cards into interactive, information-rich components: ✅ HTML-Wrapped DAX Measures: Converted standard measures into HTML format for enhanced styling ✅ Dual Theme Support: Implemented both light and dark modes for better user experience ✅ Dynamic Theming: Created a separate theme table with all color variations ✅ Rich Tooltips: Added detailed breakdowns including Monthly Recurring Revenue, One-time Sales, and Refunds Key Features 🌟 Responsive Design: Adapts to different screen sizes Theme Consistency: Seamless light/dark mode switching Enhanced UX: Detailed information on hover without cluttering the main view Professional Styling: Clean, modern card design with gradients and shadows Implementation Highlights 🔧 // Theme table with comprehensive color schemes Theme = DATATABLE( "ThemeMode", STRING, "ColorType", STRING, "ColorValue", STRING, // Light & Dark theme definitions... ) Important Consideration ⚠️ While this solution works effectively, be mindful of the HTML card container's width as it can overlap with other visuals. Proper positioning and sizing are crucial for optimal user experience. Results 📊 ✨ Enhanced user engagement with interactive KPI cards ✨ Better data storytelling through rich tooltips ✨ Professional, modern dashboard appearance ✨ Improved accessibility with theme options This approach opens up new possibilities for creating more engaging and informative Power BI dashboards. Sometimes the best solutions come from thinking outside the box! Share your experiences in the comments! #PowerBI #DataVisualization #BusinessIntelligence #DAX #HTML #DataAnalytics #Innovation #Dashboard #Microsoft #DataScience

  • View profile for Santhana Lakshmi Ponnurasan

    Power BI World Championship 2025 & 2026 Finalist | Microsoft MVP Data Platform | Microsoft Certified Power BI Data Analyst | Bringing Data to Life, One Visualization at a Time

    25,554 followers

    I saw this feature during the FABCON & SQLCON - The Microsoft Fabric & SQL Community Conferences Power BI roadmap session, and honestly… it made me pause for a moment. It might look like a small update, but this new Tooltip options enhancement feels like one of those changes that can quietly make a big difference in how we design reports. What excites me most is the idea of sentence-based tooltips with templates. Instead of showing raw numbers, we can guide users with context like: “Product A has higher sales in March compared to February.” That’s a big shift- from showing data to telling the story right where the user needs it. Few thoughts: 1. Cleaner visuals, richer context: I often avoid overcrowding visuals and move supporting details into tooltips. With better formatting control, tooltips can now carry meaningful explanation without adding visual noise. 2. Standardized storytelling across visuals: Imagine using consistent tooltip sentences across KPIs- helping users interpret metrics the right way every time. This could be especially powerful for executive dashboards. 3. Smarter use of report page tooltips: Combining this with custom report page tooltips opens up space for mini-explanations, definitions, or even dynamic commentary- something that used to require extra visuals or text boxes. Sometimes it’s not the big flashy features that change how we design… it’s the thoughtful ones that make everyday reporting clearer and more human. I can't wait to try it out, Zoe Douglas.

  • View profile for Ravena O

    AI Researcher and Data Leader | Healthcare Data | GenAI | Driving Business Growth | Data Science Consultant | Data Strategy

    94,423 followers

    A single CLAUDE.md file just crossed 15K ⭐ on GitHub — inspired by coding principles highlighted by Andrej Karpathy. The core idea is simple: LLMs don’t fail randomly — they fail predictably. They: • Make silent assumptions • Over-engineer solutions • Modify things they shouldn’t What’s interesting is how forrestchang turned these patterns into clear behavioral rules inside a single markdown file you can plug into any Claude Code project. Here’s what it actually enforces: 🔹 Think Before Coding Instead of jumping to conclusions, the model is pushed to: • Explicitly state assumptions • Offer multiple interpretations when ambiguity exists • Challenge unnecessary complexity 🔹 Simplicity First No more “AI-generated overengineering” • Avoids speculative features • Blocks unnecessary abstractions • Prioritizes clarity over flexibility If a senior engineer would call it overbuilt → it gets simplified 🔹 Surgical Changes Focused, minimal edits only • No touching unrelated code • No unnecessary refactoring • Respect existing style Fix what’s broken. Flag what’s not. 🔹 Goal-Driven Execution Shifts from vague prompts to measurable outcomes • Define clear goals (e.g., test invalid inputs) • Execute in steps with validation checkpoints • Iterate with verification The impact is immediate: • Smaller diffs • Better clarification before execution • Cleaner, more intentional PRs We’re entering a phase where context engineering is becoming as important as model selection. Because the real unlock isn’t just better models it’s giving them better instructions.

  • View profile for Adam Sikorski

    ⚡ BI Developer • Data Visualization Specialist • Power BI Expert

    6,353 followers

    ✨ 𝗖𝗿𝗲𝗮𝘁𝗶𝗻𝗴 𝗻𝗲𝘅𝘁 𝗹𝗲𝘃𝗲𝗹 𝗮𝗻𝗶𝗺𝗮𝘁𝗲𝗱 𝗧𝗼𝗼𝗹𝘁𝗶𝗽𝘀 𝗶𝗻 𝗣𝗼𝘄𝗲𝗿 𝗕𝗜! One of the most underused features in Power BI is custom tooltips. Sometimes, the default tooltip provides enough info, other times, developers settle for less, not fully exploiting this feature’s potential. In the video attached to this post, I showcase a custom tooltip with animated elements and engaging visual styling. It smoothly presents the selected month, chart points, and differences in a way that feels almost Pinterest-like. 🧠 𝗞𝗲𝘆 𝗖𝗼𝗻𝘀𝗶𝗱𝗲𝗿𝗮𝘁𝗶𝗼𝗻𝘀 𝗳𝗼𝗿 𝗔𝗱𝗱𝗶𝗻𝗴 𝗔𝗻𝗶𝗺𝗮𝘁𝗶𝗼𝗻𝘀 𝘁𝗼 𝗧𝗼𝗼𝗹𝘁𝗶𝗽𝘀 Animations can enhance user engagement and add a “wow” factor to your tooltips. However, here are a few things to keep in mind: ✔️ 𝗞𝗲𝗲𝗽 𝗶𝘁 𝘀𝗵𝗼𝗿𝘁 – Animations should be quick enough to avoid frustrating users who repeatedly hover over the chart. ✔️ 𝗦𝘆𝗻𝗰 𝗺𝘂𝗹𝘁𝗶𝗽𝗹𝗲 𝗲𝗹𝗲𝗺𝗲𝗻𝘁𝘀 – If several visuals have animations, timing them to finish simultaneously creates a polished and synchronized effect, elevating the experience. 💡𝗪𝗵𝗮𝘁 𝗲𝗹𝘀𝗲 𝗰𝗮𝗻 𝗯𝗲 𝗱𝗼𝗻𝗲?  The possibilities are endless! You can add charts, descriptions, or anything that users can explore—details that don’t need to be front and center but are perfect for users to dive into when they need them. 🌐 𝗖𝗵𝗲𝗰𝗸 𝗼𝘂𝘁 𝘁𝗵𝗲 𝗢𝗻𝗹𝗶𝗻𝗲 𝗩𝗲𝗿𝘀𝗶𝗼𝗻: https://lnkd.in/d7phpEvr Got any cool custom tooltip experiences from your work or personal projects? I'd love to hear about them! :) #analytics #data #powerbi #datavisualization #report #dashboard #reporting #visualization #microsoftpowerbi #pbicorevisuals #svg #html #customvisuals #UXDesign

  • View profile for Maia Miller

    Accessibility consultant helping product, design and dev teams build accessible software with confidence

    3,033 followers

    We recently finished working with a client, where tooltips was a component we were auditing for accessibility. I thought this would be a good topic to dive into, both from a design and dev perspective. It's one of those widgets that are common yet often missing some important accessibility considerations. There are a few traditional patterns to tooltips that pose accessibility issues: ➖ Triggers only on hover ➖ Not persistent ➖ Only dismissable by movement ➖ Uses the title attribute, which is not always recognized by assistive tech Instead, we want to make sure they include the following: ➕ Keyboard accessibility ➕ Intentionally triggered open by user ➕ Hoverable ➕ Persistent ➕ Dismissable The article features specific solutions for design, dev and how to test for QAs - have a read here: https://lnkd.in/gDews6Bh And if you think this is interesting, Aleph Accessibility has got a newsletter that rounds up the latest, useful accessibility resources. Sign up here: https://lnkd.in/gyTDUWmJ #webAccessibility #code #design #tip #QA

  • View profile for Theodore L.

    Author of You Don’t Need JavaScript | Sharing CSS and performance insights with 2,000+ devs via my newsletter

    21,953 followers

    Ever had a tooltip clipped by the viewport? CSS can now prevent that. Anchor positioning lets you attach UI elements directly to their trigger. Tooltips. Popovers. Menus. All without JavaScript. The setup is simple. You define an anchor-name on the trigger element. Then the tooltip references it with position-anchor. From there, properties like anchor(top) or anchor(left) handle alignment. No manual offsets. No calculations. The real magic comes with position-try. If there’s not enough space, the browser can flip the tooltip automatically. Top to bottom. Left to right. Whatever fits. The result is a tooltip that stays visible, even when space is tight. Why this matters. No brittle positioning logic. No JavaScript measuring layouts. Just declarative CSS doing the work. Browser support is still experimental at around 73%, so it’s not production-ready yet. But once support improves, anchor positioning will change how we build floating UI. Would you use it for your tooltips? --- To learn more tips about CSS, make sure to join my newsletter https://lnkd.in/eemgxQ7M ❤️

  • View profile for Utsav M.

    Frontend Developer | 🐙 CSS Tips to Make It Less Frustrating For You | Author of Master Flexbox and Grid Book | DM to Collab

    25,439 followers

    Creating a tooltip with CSS 🚀 Following these simple steps: If you’ve never heard of a tooltip, it’s that small bit of text that shows up when you hover over something unclear, like an icon or button. Now that we’ve cleared that up, let’s see how to build one. There are two ways to do it: 1. Using a data attribute and pseudo-elements 🧩 This method uses HTML like: <div class="icon" data-tooltip="GitHub"></div> Then you style it using ::before or ::after in CSS to show the tooltip. It’s quick and clean. But personally, I don’t prefer it. Why? It’s less readable when scanning the HTML You lose access to ::before and ::after for anything else I often use those for other things, so I avoid tying them to tooltips. 2. Using a separate tooltip element (the method I prefer) 💡 This approach gives you more flexibility and is easier to manage visually. Here’s how it works: Step 1: Add a .has-tooltip class to the element you want the tooltip on. .has-tooltip {  position: relative; } This lets you position the tooltip relative to it. Step 2: Add the tooltip inside the element The HTML might look like: <div class="has-tooltip">   <div class="icon"></div>   <div class="tooltip">GitHub</div> </div> Now, style the tooltip: .tooltip {  position: absolute;  top: calc(100% + 1em);  opacity: 0;  scale: 0;  transition: all 0.3s ease-in-out; } position: absolute places it relative to .has-tooltip top: calc(100% + 1em) puts it just below the trigger opacity and scale hide it smoothly by default Step 3: Make it appear on hover 👆 .has-tooltip:hover .tooltip {  opacity: 1;  scale: 1; } This makes the tooltip fade and zoom in when you hover over the parent. Extra touches: 🎨 You can add additional classes like .tooltip-top, .tooltip-right, etc., to change the position of the tooltip. Just tweak the top, left, or transform values accordingly. Want to add a little arrow pointing to the trigger? Use something like: .arrow-up {  width: 0;  height: 0;  border-left: 5px solid transparent;  border-right: 5px solid transparent;  border-bottom: 5px solid black; } You can position this just above the tooltip box. That’s it. A clean, flexible tooltip system, written entirely in CSS. If you're curious about the first method with data-tooltip, I can show that too... Just ask. PS: If you want to create CSS layouts that just work on any screen: I've created an in-depth, visual guide for you, which 100+ devs are already using. Find it here: https://lnkd.in/gUgBQVxn

  • View profile for Bas Dohmen  (How to Power BI Youtube Channel)

    Founder of DataTraining.io | Power BI, Fabric & AI for Data Analytics | 1.2M + followers across social platforms | Power BI Design Transformation | Follow if you are serious about Data Analytics

    103,136 followers

    Power BI tooltips got an upgrade 🚀✌🏻 You now have 3 options for what your data shows on hover: 1. Tooltip fields - pick exactly which fields the tooltip shows in the build panel, even ones that aren't on the visual. (Old) 2. Custom tooltip page - the classic approach: design a hidden report page and use it as the tooltip. Full control, more work. (Old, but most flexibility) 3. Sentence format (New!) - write a template like "In {Month}, a total of {Total Quantity} units were sold, {Diff vs Forecast} vs forecast" and it fills in the values dynamically. No DAX measure needed just to display a sentence. You can even bold the values. Good to know: tooltips are configured per visual, and if no toggle is selected, all tooltips show. The slide below shows all three side by side. #powerbi #design #tooltips #update #data

  • View profile for Salman Saifee

    Senior Data Analyst → Data Engineer | Power BI • SQL • Fabric • Databricks • PySpark | DP-700 & DP-600 Certified | Ex-Accenture | BI, Automation & Data Engineering

    2,710 followers

    🔍 𝗧𝘂𝗿𝗻 𝗬𝗼𝘂𝗿 𝗣𝗼𝘄𝗲𝗿 𝗕𝗜 𝗧𝗼𝗼𝗹𝘁𝗶𝗽𝘀 𝗶𝗻𝘁𝗼 𝗠𝗶𝗻𝗶-𝗗𝗮𝘀𝗵𝗯𝗼𝗮𝗿𝗱𝘀! 🚀 𝘔𝘰𝘴𝘵 𝘗𝘰𝘸𝘦𝘳 𝘉𝘐 𝘳𝘦𝘱𝘰𝘳𝘵𝘴 𝘭𝘦𝘢𝘷𝘦 𝘪𝘯𝘴𝘪𝘨𝘩𝘵𝘴 𝘰𝘯 𝘵𝘩𝘦 𝘴𝘶𝘳𝘧𝘢𝘤𝘦. 𝘉𝘶𝘵 𝘸𝘩𝘢𝘵 𝘪𝘧 𝘺𝘰𝘶𝘳 𝘵𝘰𝘰𝘭𝘵𝘪𝘱 𝘤𝘰𝘶𝘭𝘥 𝘵𝘦𝘭𝘭 𝘢 𝘥𝘦𝘦𝘱𝘦𝘳 𝘴𝘵𝘰𝘳𝘺—𝘸𝘪𝘵𝘩𝘰𝘶𝘵 𝘦𝘷𝘦𝘳 𝘤𝘭𝘪𝘤𝘬𝘪𝘯𝘨 𝘢𝘸𝘢𝘺? 𝗖𝘂𝘀𝘁𝗼𝗺 𝗧𝗼𝗼𝗹𝘁𝗶𝗽𝘀 𝗮𝗿𝗲 𝗼𝗻𝗲 𝗼𝗳 𝘁𝗵𝗲 𝗺𝗼𝘀𝘁 𝘂𝗻𝗱𝗲𝗿𝗿𝗮𝘁𝗲𝗱 𝗳𝗲𝗮𝘁𝘂𝗿𝗲𝘀 𝗶𝗻 𝗣𝗼𝘄𝗲𝗿 𝗕𝗜. Instead of showing basic numbers when you hover, you can: ✅ Display trend charts to highlight performance over time ✅ Add KPIs, YoY metrics, and growth indicators ✅ Create drill-down views for region, product, or customer segments ✅ Show data-driven context like comments or targets 📌 𝗘𝘅𝗮𝗺𝗽𝗹𝗲: Imagine hovering over a sales bar for Q3 revenue: 🔹 See a line chart showing last 12 months of performance 🔹 YoY growth % and sales target progress 🔹 A KPI card with top product contributing to that revenue All in one hover—no clicks, no page changes. This transforms dashboards into self-explanatory, interactive stories your stakeholders will love. 💡 𝗣𝗿𝗼 𝗧𝗶𝗽: Create a separate report page as your tooltip canvas and design it like a micro-dashboard. Keep it minimal but impactful! ✨ 𝗪𝗵𝘆 𝗶𝘁 𝗺𝗮𝘁𝘁𝗲𝗿𝘀: 📈 𝗕𝗲𝘁𝘁𝗲𝗿 𝘀𝘁𝗼𝗿𝘆𝘁𝗲𝗹𝗹𝗶𝗻𝗴 → Users understand insights instantly ⏱️ 𝗟𝗲𝘀𝘀 𝗻𝗮𝘃𝗶𝗴𝗮𝘁𝗶𝗼𝗻 → Stakeholders don’t hunt for answers 🎨 𝗠𝗼𝗿𝗲 𝗲𝗻𝗴𝗮𝗴𝗶𝗻𝗴 𝗱𝗮𝘀𝗵𝗯𝗼𝗮𝗿𝗱𝘀 → Builds trust and adoption 🔥 𝗤𝘂𝗲𝘀𝘁𝗶𝗼𝗻 𝗳𝗼𝗿 𝗬𝗢𝗨: Have you used custom tooltips in your dashboards? What’s the coolest insight you’ve packed into a hover interaction? 👇 Drop your ideas in the comments. Let’s inspire the Power BI community to make dashboards smarter, not just prettier. #PowerBI #PowerQuery #DataAnalytics #DashboardDesign #DataVisualization #AnalyticsEngineering #MicrosoftPowerBI #BusinessIntelligence #DataPreparation #PowerBI2025 👥 𝗧𝗮𝗴𝗴𝗶𝗻𝗴 𝗮 𝗳𝗲𝘄 𝗹𝗲𝗴𝗲𝗻𝗱𝘀 𝘄𝗵𝗼 𝗮𝗹𝘄𝗮𝘆𝘀 𝗶𝗻𝘀𝗽𝗶𝗿𝗲 𝗺𝗲: DataAstraa, Melissa de Korte, Brian Julius, Greg Deckler, Kerry Kolosko, Reza Rad, Bas Dohmen (How to Power BI), Adam Sikorski, Kavita Behera, Mariska van Kan, Gustaw Dudek, Timothy Osborn, Erik Svensen, Rui Romano, Miguel Myers, Nicholas Lea-Trengrouse, Christine Payton, Marthe Moengen, Kurt Buhler, Injae Park, Prathy Kamasani, Armand van Amersfoort, Pragmatic Works, Enterprise DNA, Data Hue, Data Goblins

Explore categories