Imagine building a membership website and choosing to use Stripe as your credit card payment processor. Everything is great until one of your customer’s credit cards expires, causing them to miss a payment for your membership website.

If your website is never notified, you might not ever suspend their account, and they may still be able to access your site without paying. How can your system become aware that they missed a payment?

That’s where Webhooks can come in handy. Let’s take a deeper look and break things down.

What is Webhooks Used For?

In the example above, Stripe needs to “communicate” to your web…


Many tutorials on the internet will extensively cover the useState hook or the useEffect hook, however, many tutorials do not get into the more nuanced React hooks such as useMemo .

Before getting into the technical details of the useMemo hook, it’s important to understand the purpose behind using the useMemo hook.

The main purpose behind useMemo is to help make rendering components efficient. For example, imagine that you are building a form and you know that the text in the labels will never change. …


Generally, when a request for a feature comes in, you would want to start coding to build it. Later on, you would write your unit tests to make sure that your code was correct.

Test-driven development (TDD) believes that you should create your unit tests first and then write out the code that actually performs the work. It’s essentially about writing your unit tests first and then “filling in the blanks” by writing out the code to make things actually work.

At the core, that’s what TDD is all about. However, many programmers find it a waste of time to…


An important part of getting your first entry-level web developer job is your resume. But what exactly is a resume?

Your resume is essentially a track record of the value that you have provided others in the past. This can be anything from past jobs to volunteering experience or even freelancing. Even if you don’t have “professional experience” in the industry, such as past developer jobs or internships, you can still show how you’ve provided value.

Your resume gets the employer interested in how you can help solve the problems that the employer is having. …


Amazon Web Services (AWS) is a technology that allows developers and companies to use IT resources to build applications. This has allowed businesses to not worry about buying and setting up an IT infrastructure.

I like to imagine AWS as a developer’s “Lego kit”. You get many prebuilt “blocks” to play with and you can put them together however you’d like in order to build an application.

Businesses and organizations in the past (the 1990s and early 2000s) had to create their own IT infrastructure, essentially their own Lego kit. This was expensive as computing and infrastructure were not cheap.


When you type in a URL and hit Enter, your browser essentially sends an HTTP request to the server that is associated with the URL. The server then responds with an HTTP response and may send back something like an HTML file.

Once the connection is made and the transaction is done, the connection ceases to exist. No more communication can happen between your browser and the server.

What if we wanted to build a chat application where we know when others have sent a new message? With regular HTTP, you’d have to keep refreshing the page to see the…


You may have seen tutorials online where they tell you that you need to install something using NPM. Generally, you’re given the command to copy and paste, and without really thinking, you do so.

However, what’s really going on whenever you’re using NPM? When you copy and paste commands from a tutorial, do you truly understand what they mean?

What is NPM?

NPM stands for Node Package Manager and is one of the multiple package managers (others include Yarn, Bower, etc.) available for the Javascript programming language. Furthermore, it’s the default package manager for Node.js.

NPM has a command-line client, which is generally…


As a front-end developer, we have many choices at our disposal as to how we want to style our components. However, some choices, such as using CSS files or inline styling are becoming things of the past.

The future of styling components is trending towards CSS-in-JS. What is CSS-in-JS? In simple terms, it’s a way for you to write CSS code in a JavaScript file. Styled Components is the leading CSS-in-JS library on the Internet right now.

Furthermore, companies such as Airbnb, Lyft and Google make use of Styled Components. Why does this matter? It means that Styled Components has…


Imagine that one day you’re building a website that has a user portal. You’ve created the login and register page. You finally finish the website and you’re itching to deploy it and see how it does. But first, you click on a bunch of links and test out the site to make sure if it’s working.

You finally deploy the website. To your amazement, users are starting to use your website. You’re excited. But then you get an email from one of your users that one of the features isn’t working correctly. You’re scrambling to get that feature fixed. You…

Sunny Singh

Full-Stack Web and Mobile App Developer

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