Machine Learning (ML) is no longer limited to research labs — it’s actively driving decisions in real estate, finance, healthcare, and more. But deploying and managing ML models in production is a different ballgame. That’s where MLOps comes in. In this blog, we’ll walk through a practical MLOps learning project — building a House Price […]
Back-End Development
Using GitHub Copilot in VS Code
Let’s be honest – coding isn’t always easy. Some days, you’re laser-focused, knocking out feature after feature. Other days, you stare at your screen, wondering, “What’s the fastest way to write this function?” “Is there a cleaner way to loop through this data?” That’s where GitHub Copilot comes in. If you haven’t tried it yet, […]
C# + GitHub Copilot in Visual Studio 2022
What is GitHub Copilot? GitHub Copilot is an AI-powered programming assistant that assists developers by generating code based on their comments and existing code. Now natively integrated into Visual Studio 2022, it supports multiple languages, including C#. Steps to Set Up GitHub Copilot in Visual Studio 2022 Prerequisites Visual Studio 2022 – Version 17.10 or later .NET […]
Optimize Sitecore Docker Instance: Increase Memory Limits
Running a Sitecore Docker instance is a game-changer for developers. It streamlines deployments, accelerates local setup, and ensures consistency across environments. However, performance can suffer – even on high-end laptops – if Docker resources aren’t properly optimized, especially after a hardware upgrade. I recently faced this exact issue. My Sitecore XP0 instance, running on Docker, became […]
Lessons from the Front: Configurable Workflow Rules for New Items in XM Cloud
Intro 📖 In this post I’d like to share a workflow “attacher” implementation I built on a recent Sitecore XM Cloud project. The solution attaches workflows to new items based on a configurable list of template and path rules. It was fun to build and ended up involving a couple Sitecore development mechanisms I hadn’t […]
Tool‑Augmented RAG Chatbot: GPT‑4, pgVector & Next.js
This is Part 3 of a three-part series (links at the bottom). In Part Two, we moved from concept to execution by building the foundation of a Retrieval‑Augmented Generation (RAG) system. We set up a Postgres database with pgvector, defined a schema, wrote a script to embed and chunk text, and validated vector search with cosine similarity. In […]
Multisite Maximum Item Validation for Content Area or Link Collection in Optimizely CMS-12.
This blog post will discuss MultiSite validation for either ContentArea or LinkItemCollection, which are both capable of storing multiple items. Although we can use the custom MaxItem attribute to validate the ContentArea or LinkItemCollection, the problem arises when the same property is used for multiple sites with different validation limits. In a recent project, we […]
Reclaim Space: Delete Docker Orphan Layers
If you’re using Sitecore Docker containers on Windows, you’ve probably noticed your disk space mysteriously shrinking over time. I recently encountered this issue myself and was surprised to discover the culprit: orphaned Docker layers – leftover chunks of data that no longer belong to any container or image. My Setup This happened while I was […]
Postgres RAG Stack: Embedding, Chunking & Vector Search
This is Part 2 of a three-part series (links at the bottom). The GitHub repo can be checked out here. Postgres RAG Stack brings together Postgres, pgVector, and TypeScript to power fast, semantic search. In Part One, we covered the theory behind semantic search: how embeddings convert meaning into vectors, how vector databases and indexes enable […]
Stream API in Java: Enhancements and Use Cases
Working with collections in Java used to involve a lot of loops and verbose code. That changed significantly with the introduction of the Stream API in Java 8. It introduced a functional approach to data processing, resulting in cleaner, more concise, and easier-to-read code. This blog walks through the basics of the Stream API and […]
Perficient Interviewed for Forrester Report on Developer Experience and Knowledge Management
When we talk about developer experience, we often leap straight to the exciting stuff like cutting-edge platforms, AI tools, and lightning-fast frameworks. But according to Forrester’s June 2025 report, “Knowledge Management and The Developer Experience,” “In software development, effective knowledge management (KM) is crucial for developers.” An organization’s knowledge management practices determine how well teams […]
YAML files in DBT
To make streamline project development and maintenance, in any programming language, we need the support of metadata, configuration, and documentation. Project configurations can be done using configuration files. Configuration files are easy to use and make it user friendly to interact with developer. One such type of configuration files used in DBT are the YAML […]