top of page


Salesforce: A Guide to PDF Merging with Apex and Node.js Integration
Introduction: In today's digital business landscape, effective document management is crucial for maintaining operational efficiency and...
Mar 5, 2024


Efficient Row Group Sorting in AG Grid: A Simple Comparator Function
Hey folks, Ever wanted to customize the sorting behaviour of row groups in AG Grid? Maybe you're using it to display data in your web...
Jan 24, 2024


Salesforce Apex CPU time limit and how to resolve it using Analysis Perspective
Introduction Salesforce is a multitenant environment, which means there are many users all share the servers. Due to this, Salesforce has...
Jul 26, 2023


React Hooks explained
Hey there! Welcome to this blog where we're gonna talk about React Hooks, those cool things that make React even more awesome! Now,...
Jul 26, 2022


Rocket Ship Explorer - my first game
Introduction I’ve finally had my first app released onto the IOS App Store. My first app viq-scores was rejected due to copyright claims...
Feb 28, 2022


Type Coercion and Conversion in JS
Introduction Recently I took a Salesforce JavaScript exam and I thought, I've been working with JavaScript or over 10 years, this should...
Jan 4, 2022


Avoiding Governor Limits with Salesforce Flow Builder
Introduction Salesforce have really been pushing Flow Builder the last few years and for good reason to. It has seen vast improvements in...
Oct 13, 2021


Conditional Formatting in AG Grid
Introduction Microsoft Excel provides some great functionality to conditionally format cells to help visualise the data. AG Grid doesn’t...
Jul 20, 2021


Football Stats Direct - Football Stats meet AG Grid
Introduction For a long time I’ve wanted to build something around stats and now I had the perfect opportunity to also utilize the Best...
Jun 7, 2021


Salesforce Duplicate Matching in Apex
Intro Salesforce provides an excellent way to manage duplicate records for Account, Contact, Lead and Individual objects. Before creating...
Dec 14, 2020


RxJS – A Practical Intro to Operators
"Reactive programming is programming with asynchronous data streams." Intro When I first started learning about Angular, one thing I...
Jan 12, 2019


Deploying a Full Stack app (.NET Core + React + MSSQL) using Docker
Preface The aim of this article is to go through the steps deploying a full stack app; that is: back end and front end, using Docker. I...
Dec 21, 2018


Integrating Jest and Cucumber within Angular 8
Integrating Jest and Cucumber within Angular 8 Today’s post is about how to get your tests up and running using Jest and writing them in...
Nov 12, 2018


Liskov Substitution Principle
Liskov Substitution Principle Part 3 of the SOLID principles; L is for the Liskov Substitution Principle (LSP). The simplest LSP...
Aug 20, 2018


Creating a TypeScript Declaration File
Definitely Typed When using TypeScript, sooner or later you will come across an NPM package that doesn’t have any type definitions. What...
Jul 17, 2018


My First Look at React
Introduction Tired of seeing React constantly popping up on Twitter, blogs and job specs, I decided to take a deep dive myself to see...
Apr 14, 2018


Open/closed principle
Continuing from my previous post about the Single Responsibility Principle as part of SOLID, next on the list is the Open/closed...
Feb 27, 2018


Single-Responsibility-Principle-SRP
The Single Responsibility Principle (or SRP) is one of the principles as part of SOLID - five design principles intended to help write...
Feb 7, 2018


Effective Code Reviewing
An essential part of any software development team is code reviewing and there are many elements that must be considered. Now each...
Jan 3, 2018


Why I hate ORM tools and why I like Dapper
What is an ORM tool? ORM stands for Object-Relational Mapping. Available in languages such as Java and C#, an ORM tool is a technique...
Dec 17, 2017
I'm a lead software developer currently working at AG Grid in London.
Technologies I'm currently focused on include Salesforce, .NET Core, Angular, SQL, React and Azure.
Other than that, in my spare time I watch the Arsenal at the Emirates, work on side projects or watch sports. Oh, and I'm also a part-time body builder.
You can contact me at vh@viqas.co.uk

About Viqas Hussain
bottom of page


