Hi 🙋‍♂️, You are here because you have been looking for a solution to detect a Route Change of your SPA. So how would you detect that the page has been changed? Since there is no navigation as well as no event for the URL change in the spa, we need to come up with our own solution, implement our own Logic.

The first thing we can do is to setInterval, which will check for the prev and current URL changes after a certain interval. A Classic way to do it. …

Lately, I have been working with eCommerce Mobile applications to treat Shopify and woo-commerce as a headless CMS. Display Projects and the ability to add to Cart and to checkout to place a successful order.

After completing the Cart, the only problem I had was making a similar checkout system that both Shopify and WordPress support. After a couple of research hours, I decided to use web view and handle checkout steps directly from the website.

We all know that Shopify supports add to cart directly from the link, So http://<You Store>.myshopify.com/cart/<varaiant Id>:<quantity> this will let you add an item…

So you have created up a great looking Electron-based app. Now you want to create an installer for it, There is a lot of articles that can help you, but in this, I am going to share my story of how I did it, and it is also for the people who are using electron and react together.

Now you need to understand 2 things, there is no way of doing it the easy way, like there is no one-click installer creator in electron that you can use, that cover all the 100% of the cases for you, some will expose your app source, or you will end up have a gigantic size of package app and will end up having your whole project including node module in the app source code, that is not what I want.

So how we do it, 2 steps for each platform, and I am going to share my journey of windows…

Learning Redux is quite complex, and implementing it over a scalable website is, so time becomes a nightmare.

It’s 2020, and for React state management, people usually go with either Redux or Context. Redux is usually being used for large applications, and Context API is mostly used for the smaller applications because of the structuring of the project.

I personally believe that state management is still a huge mess because no matter what you do, as your project Grows no matter what you used, it will become difficult to manage state and the project structure overall. …

A Foreground Service for React Native apps, with multiple headless tasks

The author of this service is looking for job opportunities in Europe and Canada. Kindly connect on rajaosama.me@gmail.com.

Foreground service is a kind of service in Android that has a notification that can not be removed until the foreground service is closed, and because of this, you can run a background task with the help of headless JS.

Why can you need such a kind of service?

A common use case will be when an app is tracking a user’s location. So with the help of the Headless.js …

The project need contributor, those who are willing to contribute and comment below

WOOSHOP was planned as a project for the portfolio, and I started this project almost 2 years ago, after I completed a project for my company called DFM which over react native, I wanted a project that I can show to the world since DFM project was more like an in-house app for the company and their members.

I got the inspiration when I was getting all these cool news about what is graphQL and how great it is. I was into it, I started learning graphQL…

Recently I created a Web browser-based on Javascript framework and library Electron and React.js Respectively and with Webpack. One of browser Requirement was to inject JS inside of the webview. A Javascript that runs inside of Website running inside webview.

Fortunately, this can be done by preload; a Preload is one of the parameters of Webview that let you inject Whole JS file inside of a webview rendered website. The file will then have access to all the internal browser API like window and document.

You can inject a preload file like 👇

👋, Imagine you have a proxy server, and you have been asked to create a VPN Extension, how would you do it? 😎I had to a similar task and I was asked to create a simple VPN server that will be used in our office staff, and after a bit of research I was able to create, what I hate the most is very lack of supporting help guides for the beginners over the internet, this is the reason why I decided to write my own guide on how you can make a simple chromium-based browser’s extension.

Let’s get started…

Have you ever imagine how a browser works and how you can create a browser yourself and make it do almost everything you wanted to? Well, I am going to share my story of writing a browser from scratch with just knowledge of Javascript and electron and all the difficulties I faced in the process.


JavaScript, often abbreviated as JS, is a programming language that conforms to the ECMAScript specification. JavaScript is high-level, often just-in-time compiled, and multi-paradigm. It has curly-bracket syntax, dynamic typing, prototype-based object-orientation, and first-class functions.


Electron is an open-source software framework developed and maintained by GitHub…

Getting started with Electron and React is not easy stuff, that is the reason most people use some Starter or Boilerplate repo, and That is completely fine. But with React + Electron, most of these boilerplates are missing the configuration for setting up multiple windows routing with react.

I will be discussing how you can configure routing for a web pack-based Electron and React boilerplate. I will be using basic-electron-boilerplate.

What is happening inside of this repo is whenever you will open up a new window will open up the same react instance or if you want to call it…

Raja Osama

A Resident of the Javascript Rockstar world. The Rockstar himself is actively exploring JOB Opportunities in Germany and Canada.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store