When building modern SharePoint Framework (SPFx) solutions, reusable UI components play a crucial role in keeping your code clean, scalable, and maintainable. In particular, interactive components help improve the user experience without cluttering the interface. Among these components, the Accordion is a commonly used UI element. It allows users to expand and collapse sections, making […]
Innovation + Product Development
An Example Brainstorming Session
In my last blog post I addressed how to prepare your team for a unique experience and have them primed and ready for brainstorming. Now I want to cover what actually happens INSIDE the brainstorming session itself. What activities should be included? How do you keep the energy up throughout the session? Here’s a detailed […]
Upgrading from Gulp to Heft in SPFx | Sharepoint
With the release of SPFx v1.22, Microsoft introduced Heft as the new build engine, replacing Gulp. This change brings better performance, modern tooling, and a more standardized approach to building SPFx solutions. In this blog, we’ll explore what this means for developers and how to upgrade. What is Gulp in SPFx? In SharePoint Framework (SPFx), […]
From Legacy to Modern: Migrating WCF to Web API with the Help of AI
Introduction The modernization of legacy applications has always been a costly process: understanding old code, uncovering hidden dependencies, translating communication models (for example, from SOAP to REST), and ensuring that nothing breaks in production. This is where artificial intelligence changes the game. AI does not replace the architect or the developer, but it speeds up […]
Building a Reliable Client-Side Token Management System in Flutter
In one of my recent Flutter projects, I had to implement a session token mechanism that behaved very differently from standard JWT-based authentication systems. The backend issued a 15-minute session token, but with strict constraints: No expiry timestamp was provided The server extended the session only when the app made an API call Long-running user […]
Model Context Protocol (MCP) – Simplified
What is MCP? Model Context Protocol (MCP) is an open-source standard for integrating AI applications to external systems. With AI use cases getting traction more and more, it becomes evident that AI applications tend to connect to multiple data sources to provide intelligent and relevant responses. Earlier AI systems interacted with users through Large language […]
Rendering HTML Content in Optimizely Spire: Correct Handling for CMS and Custom Properties
When using Optimizely Commerce Spire with React 18 or later, developers frequently encounter hydration issues—pages render blank or React shows hydration warnings. This typically occurs when the HTML rendered on the server does not match what React expects on the client. This blog covers: Why hydration issues occur after upgrades The difference between CMS content […]
Creating Rounded Corner Buttons for Email Templates Without Distortion
Creating email templates that render consistently across major email clients (Outlook, Gmail, Yahoo, Apple Mail) is challenging for developers due to differences in rendering engines. Common issues include distorted corners, misaligned text, and inconsistent heights—especially in Outlook, which uses Microsoft Word’s engine. In this article, I’ll show you how to create rounded-corner buttons that work in […]
Bruno : The Developer-Friendly Alternative to Postman
If you’re knee-deep in building apps, you already know APIs are the backbone of everything. Testing them? That’s where the real magic happens. For years, we’ve relied on tools like Postman and Insomnia to send requests, debug issues, and keep things running smoothly. But lately, there’s a buzz about something new: Bruno. It’s popping up […]
Microservices: The Emerging Complexity Driven by Trends and Alternatives to Over‑Design
The adoption of microservice‑based architectures has grown exponentially over the past decade, often driven more by industry trends than by a careful evaluation of system requirements. This phenomenon has generated unnecessarily complex implementations—like using a bazooka to kill an ant. Distributed architectures without solid foundations in domain capabilities, workloads, operational independence, or real scalability needs […]
Prime Your Team for Breakthrough Brainstorming
Brainstorming sessions have a love-hate situation. Half the team is excited, the other half dreads it. The truth is, anyone can be creative, but it doesn’t happen by accident – it takes intentionality. The key is preparation. If people show up cold, they’ll default to routine thinking or recycle old ideas. To break free, our […]
Beyond the Version Bump: Lessons from Upgrading React Native 0.72.7 → 0.82
Introduction When I started investigating the React Native upgrade from 0.72.7 to 0.82, my initial goal was simple: Check breaking changes and library compatibility. But very quickly, I realized this upgrade was not just a version bump. It was deeply tied to React Native’s New Architecture, especially Fabric UI Engine and TurboModules. This blog shares what I discovered, […]