Blogs

These are the blogs that I've written for different publications around the net.

May 23, 2022

Creating Golang CRON Jobs

Scheduled tasks allow you to run specific code at a specified interval of time and are primarily used within a CI/CD system to perform a variety of operations like nightly builds, GitHub repository cleanup, newsletters, and service monitoring, among ...

May 19, 2022

Handling Pagination in Strapi v4 with SvelteKit

If you use any kind of web or mobile application, you may have come across a data table that lets you view data by breaking it up into multiple pages. In the world of software development, this is known as pagination. Pagination is an optimization te...

May 13, 2022

Using Custom Controllers in Strapi to Power a Next.js App

Strapi continues to be the most popular free, open-source, headless CMS, and, recently, it released v4. Built using Node.js with support for TypeScript, Strapi allows developers to perform CRUD operations using either REST or GraphQL APIs. The best p...

April 15, 2022

Build a Chrome Extension in Next.js and Notion API

Chrome extensions are a great way to customize your browsing experience. Most of the time, Chrome extensions need to be reactive and this is where building the extension in vanilla JavaScript can be a painful experience. To overcome this shortcoming,...

April 8, 2022

Building a Realtime Chat App with React, Laravel, and WebSockets

You use real-time communication every day. It is the simultaneous exchange of information between a sender and a receiver with almost zero latency. Internet, landlines, mobile/cell phones, instant messaging (IM), internet relay chat, videoconferencin...

February 7, 2022

Starting my First Full-time role as a Software Engineer

After applying to over 50+ remote jobs and getting rejected in 3 of them, I've finally got my first full-time role as a Software Engineer. 🎉🎉 The funny thing is I was offered a role in a company that I didn't even apply to. I want to share my exper...

January 25, 2022

Implementing Audio in a Podcast App with Strapi

Podcasts have exploded in popularity, and platforms including Google Podcasts and Spotify offer content creators a way to communicate their thoughts with listeners around the world. If you’d like to join them, you can create your own podcast app usin...

January 6, 2022

Handling Previews in a Headless Architecture - Strapi and Next.js

There is an ongoing shift in content management from traditional CMS to headless CMS. A headless CMS allows you to completely separate your content management system from the presentation layer. The content is made available via API and can be consum...

December 21, 2021

Creating an App Information Component in Nuxt

You must have seen multiple apps which show the app’s information like app version and last updated at time in their footers or via a floating action button. In this tutorial, you’ll learn to create a component to show such kind of information in a N...

December 16, 2021

React vs Vue: What is the Best Framework for your Project in 2022?

React and Vue are rising stars in the JavaScript front-end frameworks ecosystem. React is backed by Facebook, and Vue is completely a community-driven project. The choices that React developers and Vue developers make have consequences as the project...

December 8, 2021

Creating a Balance Reminder with Vonage Account API and Google Apps

Being a freelancer, I have helped a couple of local businesses in India implement Vonage products. Recently, one of my clients asked if they can get a reminder email when the Vonage balance is below a specified limit as they don't want to hamper thei...

December 5, 2021

Building a News Aggregator App using Strapi and Nuxtjs

If you are an avid reader, you might have a News Aggregator app installed on your device. Wouldn't it be awesome to create your own News Aggregator app that you can control and customize according to your needs? This tutorial aims to learn about Stra...

November 27, 2021

Converting and Optimizing Images From the Command Line

Images take up to 50% of the total size of an average web page. And if images are not optimized, users end up downloading extra bytes. And if they’re downloading extra bytes, the site not only takes that much more time to load, but users are using mo...

November 20, 2021

Back to Basics: Conditional Logic with Python if else if

Whether you are new to Python programming or returning to it after a break, you may need to learn or re-learn about decision-making and branching statements in Python. In this tutorial, you will learn about different if, else if, else scenarios that ...

November 18, 2021

How to Test Your NGINX Configuration Before Screwing it Up

A little invalid change to your Nginx configuration can bring down your entire server. Before performing changes to the Nginx configuration, it is a safe idea to test the changes and then reload the server. In this tutorial, you'll learn to get start...

November 14, 2021

Using Bash Sort to Sort Files Like a Boss

Are you looking out for a way to organize your files and perform some operations on them? There are many instances in programming where you need to sort some data, such as a list of files. Sorting files with the Bash sort and ls commands will help yo...

October 13, 2021

How to use Linux to Recover Deleted Files

Have you ever accidentally deleted important files from your computer and went through these emotions - 🤦😨😱😤🤒? Well, you’re not the only one. But the good news is there are plenty of ways in Linux to recover deleted files. I wrote this post to e...

October 13, 2021

Service Status Monitoring Using WhatsApp, Notion, and Python

Websites and APIs go down more often than we’d all like. Wouldn’t it be great to get a WhatsApp notification when your favorite or most-used services are experiencing downtime? So, I wrote this tutorial to help you set up automated monitoring for you...

October 10, 2021

Collecting Email Signups With the Notion API

A lot of people these days are setting up their own newsletters. The first hurdle in setting up a newsletter is a mechanism to collect emails. But nothing is handier than setting up your own system which you can control. So, I wrote a tutorial to hel...

September 13, 2021

Saying Hello to Hashnode 👋

For almost two years now, I have been hosting my writings on a self-hosted blog. I crosspost all my writings to Medium but the big problem is that I cannot monetize it since the Medium Partner program is not available in India. Also, the audience on ...

July 29, 2021

Progress Bar in Next.js

Sometimes when you transition from one route to another, it takes a little time to do so due to different factors. Behind the scenes, it may be rendering a complex page component or doing an API call. In such cases, the app looks like it has frozen f...

July 9, 2021

Setup and Customize Bootstrap in Next.js

In this tutorial, you'll learn to set up Bootstrap in a Next.js project. Besides this, you'll also install react-bootstrap to use Bootstrap-based React components. In this tutorial, you'll learn to write bash scripts that create and optimize images i...

June 25, 2021

Script as a Task using VS Code IDE

This blog was originally published on RavSam blog. VS Code comes with a great feature of specifying tasks and running them through Command Palette. There can be a variety of scripts that we need to run while developing our applications. For example, ...

May 27, 2021

Best VS Code extensions for Nuxt/Vue Projects

This blog was originally published on RavSam blog. Using the right set of tools can make us a happy and better developer. Right tools reduce friction and help us develop applications faster. In this blog, we will take a look at some of the best VS Co...

May 11, 2021

Automating Project Maintenance on Github

This blog was originally published on RavSam blog. Manual Maintenance is tough and boring Most of the effort in the software business goes into the maintenance of the code that already exists. Once the software is built, many factors affect its perf...

April 27, 2021

Deploying a Serverless Probot/Github App on Netlify Functions

This blog was originally published on RavSam blog. Automation is love. We all love automating repetitive things. There is one such thing called Probot. Probot is one of the most popular frameworks for developing GitHub Apps using Javascript. It is ea...

April 16, 2021

Deploying Strapi on VPS with Ubuntu, MySQL

This blog was originally published on RavSam blog. So you have built your Strapi project and the next thing you need to do is to deploy it on a production server. In this blog, we will learn about how to set up a Virtual Private Server(VPS) and then ...

April 8, 2021

Setting up Github Actions for a Dart project

This blog was originally published on RavSam blog. When working in a team or even as an individual, we humans often break rules. But sometimes breaking rules can result in a poor quality code which over time grows out to be messy. We can take advanta...

March 20, 2021

Turning a Google Sheet into a REST API

This blog was originally published on RavSam blog. What if we can use our Google Sheets as a CMS? What if we want the data in our Google Sheet to be publicly available. This can be done easily using Google Sheets and Google Apps Script. In this blog,...

February 20, 2021

Adding Unsubscribe link in Emails using Google Apps Script

This blog was originally published on RavSam blog. When setting up our email marketing campaigns or newsletters, one thing that is often forgot is the Unsubscribe link. Not providing an option to unsubscribe from the mailing list can land our emails ...

February 1, 2021

Disabling Submit button if Form fields have not changed in a Nuxt/Vue app

This blog was originally published on RavSam blog. Forms are one of the most important aspects of any application. It is considered a good UX practice to keep the Save/Submit button disabled until the form contents have not changed. In this blog, we ...

January 23, 2021

Offline Toast notification in Nuxt/Vue app

This blog was originally published on RavSam blog. We have often seen apps telling us that “You are offline. Check your network status.”. It is not only convenient to do so but adds to a great UX. In this blog, we will look at how can we display a to...

January 14, 2021

Dynamic Home Route in a Flutter App

This blog was originally published on RavSam blog. In any production app, the user is directed to a route based on some authentication logic whenever the app is opened. In our Flutter App, we have at least two routes, Login and Dashboard. The problem...

December 26, 2020

How to add and customize Bootstrap in Nuxt.js

This blog was originally published on RavSam’s blog. Configuring things in any framework is always tricky especially when we are just starting. We will learn today that how can we add and customize Bootstrap in our Nuxt project. Once we go through th...

December 11, 2020

Two-minute read newsletter to help Google Summer of Code aspirants

This blog was originally published on RavSam blog. On October 26, 2020, Google announced Google Summer of Code 2021. 🎉 Being a GSoCer with GNOME Foundation and now a part of their Web Team, I get a lot of requests related to GSoC preparation, how to...

December 4, 2020

Send an Email notification when Github Actions fails

This blog was originally published on RavSam blog. We recently published a blog on how to send a slack notification when a github action fails. We got a great response from the open-source community. Some of the community members asked us about how t...

November 26, 2020

Deploy a website on Netlify through Github Actions

This blog was originally published on RavSam blog. Although we can connect our Github code branch directly to Netlify and deploy our website to Netlify using a build command, sometimes we want to use Github Actions for building our website and then d...

November 18, 2020

5 Netlify plugins to ensure a great Web Experience

This blog was originally published on RavSam blog. A great web experience is a must for retaining viewers and turn them into potential leads. The key to achieving a great web experience is making sure that your website is optimized and tested thoroug...

November 10, 2020

Great tools for running a Tech startup

This blog was originally published on RavSam blog. To run a successful tech company, you need to use the right tools to bring success to yourself and your customers. We often get asked by our customers and developers around the world about what tools...

November 3, 2020

Why Flutter Developer could be a $1Mn job?

This blog was originally published on RavSam blog. Flutter is becoming a rage these days. Developers around the world are exploring this technology that has the potential to change the world of application development. There are many cross-platform d...

October 26, 2020

Create JSON Feed for a Jekyll blog

This blog was originally published on RavSam blog. The big difference between JSON feed and XML feed is the ability to read and write JSON. Parsing XML is not an easy task whereas when it comes to JSON, we only have to write only a single line of cod...

October 21, 2020

Top Flutter plugins to take your app to next level

This blog was originally published on RavSam’s blog. Flutter is one of the fastest rising frameworks for developing cross-platform applications. At RavSam, we also use Flutter for mobile app development services. One of the biggest advantages of Flut...

October 15, 2020

Use Humans.txt to credit your team for a project

This blog was originally published on RavSam’s blog. We all love to take credit for the work that we are proud of and there is nothing wrong with that. Whenever we work on the project, we put our team/company name in the footer of the website, or in ...

September 26, 2020

Custom Log Monitoring service using Google Apps Script

This blog was originally published on RavSam blog. In this blog, we will talk about how can we set up our custom, serverless logging system using Google Apps Script and Google Docs. We will use Google Apps Script to handle the HTTP requests and other...

September 14, 2020

Send Slack notification when Github Actions fails

This blog was originally published on RavSam blog. We must be sure that if you and your team use Github, then you must using Github Actions as well. When a Github Action fails, Github automatically sends you an email regarding the event. It works onl...

September 1, 2020

How To Track Email Opens with Google Apps Script

This blog was originally published on RavSam blog. In our last blog, we talked about how to set up Email Marketing using Google Apps Script. We promised you that in our next blog we will talk about how can we track whether our emails are opened by th...

August 28, 2020

How to Setup Email Marketing using Google Apps Scripts

This blog was originally published on RavSam blog. Recently, we have been writing a lot of stuff related to Web Design and Development, like collecting form responses, that can be implemented using Google Apps Scripts and Serverless Architecture. In ...

August 17, 2020

Backup Google Apps Scripts using Github Actions

This blog was originally published on RavSam blog. Google Apps Scripts are amazing. Without setting any servers, we can do a lot of things like collecting form responses, email marketing campaigns, etc. But as a developer, we like our code to be on V...

August 2, 2020

Collect form responses using Google Apps Script in Jekyll website

This blog was originally published on RavSam blog. Most of the time we are designing static websites. But almost all of them have some components like forms, comments, where we want to collect the user responses. Setting up a dedicated server for the...

July 24, 2020

How to achieve a redesign of your website

This blog was originally published on RavSam blog. Over the past few months, we have been thinking about redesigning our website. Since the start of 2018, we have been using new tools, frameworks, and updated design guidelines for our customers’ webs...

April 28, 2020

Dropilio - Leveraging Twilio Whatsapp API

What I built Dropilio is a REST API service for sending local files as attachments with Twilio Whatsapp API. This leverages the use of Twilio Whatsapp API for Desktop applications such as those built-in Electron, GTK, etc which intend to send notific...

January 2, 2020

Celebrating GNOME Newcomers’ contributions

A few weeks ago, I sat down to solve some issues related to the GNOME Engagement team. While going through the list, I found this issue created by Umang Jain, which looked forward to celebrating the contributions made by GNOME Newcomers. It was opene...

December 9, 2019

Developing Leaderboard for GNOME Hackers

After completing my Google Summer of Code assignment, I had an idea in my mind for a project where the hard-working people on GNOME, known as GNOME Hackers, could be appreciated based on the amount of work they do for the FLOSS community. In the ques...

October 28, 2019

Fantasy Premier League with AI - First 10 Gameweeks Review

What happens when you combine your love for football and programming? I am a huge fan of the English Premier League and its fantasy league game which allows players to play as managers by creating their team and earn points based on the performance o...

August 26, 2019

Final Report for Google Summer of Code 2019

Project Rework the GTK Website. Description The ultimate goal of my project was to redesign and redevelop the GTK’s official website https://gtk.org by providing it with a design that follows current trends and content updation that really matters to...

July 19, 2019

Adding pages to Jekyll site

This is tutorial can be used to add pages to any Jekyll site. I am assuming that you have setup your Ruby Development Environment. If not, then refer to this document here to get started easily. Below are few easy steps that you can follow to add pag...

June 10, 2019

First Two Weeks at Google Summer of Code 2019

Two weeks ago, I wasn’t sure about the technology that was to be used in this project. I was completely unfamiliar with some of the tools that were to be used in this project. But I backed myself and was able to pull off the things. Things have gone ...

May 6, 2019

Getting Selected for Google Summer of Code 2019

title: Getting Selected for Google Summer of Code 2019 published: true date: 2019-05-06 06:00:00 UTC tags: gsoc, gnome, gtk canonical_url: https://www.ravgeet.dev/blog/getting-selected-for-gsoc/ Today is a very special day for me. In my very first tr...