START HERE. BUILD ANYTHING.
️We build professional WordPress plugins.
Professional, high-quality, hand-crafted plugins for WordPress.

Improve your website pagespeed with our WordPress performance plugin – WP Lighthouse

Active Analytics is a privacy-enhanced, lightweight WordPress analytics plugin

Engage and empower your community with our WordPress forum plugin – Mingle Forum

Build your knowledge base or support/documentation website with Acquaint FAQ
All our plugins are compatible with WordPress 5+, WordPress 6+, ClassicPress, PHP 7+, PHP 8+, and receive automatic lifetime updates.
BOTS is an avatar project, an ever-growing collection of pixel bots, each one of them up to no good.





Segmented Horizontal Bar Chart (Graph) Using Vanilla JavaScript
If you're looking to create a segmented (stepped) horizontal bar chart using nothing but vanilla JavaScript, you're in luck!
Learn JavaScript
Learn JavaScript by example
Read the Blog
Why, how-to & code snippets and tutorials
Find a WordPress Plugin
Free and premium WordPress plugins
Professional, high-quality plugins for WordPress, WooCommerce, Gravity Forms, Analytics, Site Speed and more. Page speed optimization plugins, SEO plugins, image gallery plugins, eCards, Lighthouse and more.
Segmented Horizontal Bar Chart (Graph) Using Vanilla JavaScript
If you're looking to create a segmented (stepped) horizontal bar chart using nothing but vanilla JavaScript, you're in luck!
A simple JavaScript suggestion autocomplete app
These days, I’ve been working on building a prediction search engine for real estate websites. I started with something small, and I am happy with what I got so far. I wouldn’t…
A collection of modern native JavaScript object and array utilities
Arrays Chunk Creates an array of elements split into groups the length of size. Compact Creates an array with all falsy values removed. Concatenate Creates a new array concatenating additional arrays and/or…
How to set up your own Google CrUX report
As part of decommissioning the Core Web Vitals report from Lighthouse, here’s how the CrUX report has been built. If you are wondering why am I removing these features, here’s why –…
JavaScript Canvas Sine Wave
The code below generates a sine wave with a specified amplitude, frequency, and phase. The wave is drawn on the Canvas using the lineTo method, which creates a line from the current…
Check DNS records in bulk using JavaScript
If you’re a web developer or network administrator, you know that DNS records play a crucial role in ensuring that websites and other network services are accessible. DNS (Domain Name System) is…
How to replace Slider Revolution with Flickity and gain 50+ performance
This is a short story about website performance optimization. A recent project of mine involved optimizing a website, currently scoring 20 in Google PageSpeed Insights for Performance. The website in question was…
Thin Table Pagination: A new addition to my JavaScript repository
I wrote about client-side JavaScript pagination before, but I have never stopped searching for the perfect pagination method, both from a performance and a code size point of view. The idea pagination…
SEO Crawlability Issue: Resources are formatted as page link
While working on a Semrush audit, I found a new type of crawlability notice: 47 resources are formatted as page link According to their documentation, “we detected that some links to resources are…
A Repository of Fine JavaScript Libraries and Components
Today, I launched my personal repository of JavaScript libraries and components. All scripts and libraries in this repository have been created in-house, either as client work or simply as a demo. The…
Tuesday, September 26, 2023
The Musk Algorithm
Walter Isaacson’s new book about Elon Musk is a fine biography, but an even better business book. And like all the best…
Monday, September 25, 2023
Segmented Horizontal Bar Chart (Graph) Using Vanilla JavaScript
If you're looking to create a segmented (stepped) horizontal bar chart using nothing but vanilla JavaScript, you're in luck!
Wednesday, September 20, 2023
How to allow subsite administrators to edit users in a WordPress Multisite Network
WordPress Multisite is a powerful feature that allows me to manage multiple WordPress websites (or subsites) from a single installation.…
Wednesday, September 20, 2023
How You Can Join Successful Sellers Running an Amazon Business from Home
If you follow technology trends in recent years, you can’t help but notice the number of people running their Amazon…
Friday, September 8, 2023
A simple JavaScript suggestion autocomplete app
These days, I’ve been working on building a prediction search engine for real estate websites. I started with something small,…
Thursday, September 7, 2023
How to disable and remove old post revisions in WordPress (including multisite)
If you don't want to use a plugin to clean up your WordPress website and insist on custom coding it,…
Thursday, September 7, 2023
How to add a Media Manager button to a block editor metabox
How to add a "Manage Media" (remember "Add Media"?) button to any post type and allow users to attach images,…
Wednesday, July 12, 2023
A collection of modern native JavaScript object and array utilities
Arrays Chunk Creates an array of elements split into groups the length of size. Compact Creates an array with all…
Thursday, June 29, 2023
How I am tracking my WordPress plugin updates on my own update server
I am selling my plugins on CodeCanyon, and they all come with a lifetime updater feature. Most of my plugins,…
Tuesday, June 27, 2023
ImagePress Development #12
Another ImagePress release has gone live. The beauty of coding for an old plugin (2 years+ of inactivity) is that…
Tuesday, June 20, 2023
How to get all videos from a YouTube channel using PHP and JavaScript
The code below works with multiple channels. First, we need to loop through all channels and get all videos. The…
Thursday, June 15, 2023
Active Analytics and optimal data storage techniques
I have released a new version of the Active Analytics plugin for WordPress. This version focuses entirely on data storage,…
Tuesday, May 30, 2023
How to set up your own Google CrUX report
As part of decommissioning the Core Web Vitals report from Lighthouse, here’s how the CrUX report has been built. If…
Tuesday, May 23, 2023
Lighthouse is removing the Core Web Vitals and CrUX features
Why? There are multiple reasons and multiple factors involved. There are a few key reasons behind this change, all of…
Tuesday, May 16, 2023
How I tackled WordPress registration spam
For a while now, I have been using Mika’s Ban Hammer plugin with a custom list of blacklisted domain names…
Tuesday, May 16, 2023
Tracking pageviews, sessions and unique users in WordPress using Active Analytics
For almost 2 years, I’ve been tracking WordPress visits using my Active Analytics plugin. I’ve gradually removed Google Analytics from…
Tuesday, May 2, 2023
SEO Competitor Analysis: A Step-By-Step Guide
If you want to climb up the search engine results pages (SERPs), it’s helpful to do a competitive SEO analysis…
Tuesday, August 1, 2023
SEO Booster Service & Technical SEO
SEO Booster Service & Technical SEO Here’s a quick breakdown of my SEO Booster Service, a unique one-day SEO project packed…
Tuesday, May 2, 2023
QuakeWiki.net is changing owners
It’s time for me to pass the torch to another huge Quake fan – Spirit from Quaddicted.com. I’ve been the…
Tuesday, May 2, 2023
How to code a website security audit using PHP and WordPress
This tutorial will teach you how to build a website security audit similar to our security audit here in the…
Friday, April 28, 2023
JavaScript Canvas Sine Wave
The code below generates a sine wave with a specified amplitude, frequency, and phase. The wave is drawn on the…
Sunday, April 23, 2023
Check DNS records in bulk using JavaScript
If you’re a web developer or network administrator, you know that DNS records play a crucial role in ensuring that…
Sunday, April 23, 2023
How to replace Slider Revolution with Flickity and gain 50+ performance
This is a short story about website performance optimization. A recent project of mine involved optimizing a website, currently scoring…
Sunday, April 23, 2023
Thin Table Pagination: A new addition to my JavaScript repository
I wrote about client-side JavaScript pagination before, but I have never stopped searching for the perfect pagination method, both from…