A Chrome extension to transfer incoming whatsapp messages to a Google Sheets

Problem:

With wave 2 of Covid, a lot of systems are collapsing in India and people are helping each other out. One of the person’s personal whatsapp got forwarded as the helpline number and people started sending help pleas on it.

Throughput: 50+ Whatsapp Messages / hour at peak times.

Since only 1 whatsapp login is allowed, a single volunteer was understanding and writing all data in Google Sheets from where other people can pick up cases and help these people out. We wanted to save Time & Efforts…


Use Case

We have our website hosted on https://growpad.io and we want to add blog. Both website and blogs are made with Gatsby but with different themes and hence they are different packages to be served.

https://blogs.growpad.io Vs https://growpad.io/blogs

Winner: https://growpad.io/blogs for SEO purposes

So, on our nginx if a request that starts with /blogs come, that needs to be served to blogs gatsby build while the other ones have to be served by website gatsby build.

How Nginx works?

There is location block in nginx which directs what to do when a specific request matches the location. …


First, ssh into the digitalocean box | ssh root@123.123.123.123

1. Add key to Gitlab / Github so that you can clone the project in your repo and pull when you make a change.

ssh-keygen -t ed25519 -C "<comment>"vim /root/.ssh/id_ed25519.pub

Add this key to gitlab

Clone the repo

2. Install Go

curl -O https://dl.google.com/go/go1.15.2.linux-amd64.tar.gztar xvf go1.15.2.linux-amd64.tar.gzchown -R root:root ./gomv go /usr/local
vim ~/.bashrc
(Add the below export commands)
export GOPATH=$HOME/workexport PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
source ~/.bashrcgo version

3. Install Nginx

apt updateapt install nginxsystemctl status nginx
vim /etc/nginx/sites-enabled/default# Add this in the location blockproxy_pass…


How to run rails server (or any server) on a VM?

  1. Make sure nginx is installed. Else follow this simple guide first — https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-18-04
  2. Go to cd /etc/nginx/sites-available
  3. Add below details. Replace your server_name and proxy_pass (Where your server is running) with correct values
server{
server_name api.grambuddy.com;
location / {
proxy_pass http://localhost:3002;
proxy_http_version 1.1;
}
listen 80;
listen [::]:80;
}

4. Create a symlink for it:

sudo ln -s /etc/nginx/sites-available/testapp /etc/nginx/sites-enabled/testapp

5. Restart Nginx:

sudo nginx -s reload

How to run service?

cd /etc/systemd/system/<Create a new file - grambuddy-server.service> and enter the below details in it[Unit]
Description= instance to start grambuddy backend server
After=network.target
[Service]
User=root
Group=www-data
WorkingDirectory=/root/grambuddy
Restart=on-failure
RestartSec=5s
ExecStart=/bin/bash -lc 'bundle exec rails server -e production…


3 Simple steps

  1. Download CSV file from Grambuddy.
  2. Open Google Sheets. Click File and then Import.

3. Click on the Upload tab. Choose the CSV file downloaded from grambuddy in this new window which appeared. And then click Upload it.


If you are doing a task which has a lot of numbers like

Grambuddy Retrying to check if rate limit is removed
  • getting followers for an account which have more than 10K followers,
  • getting detailed analysis of the follower/following (Count more than 800)
  • getting dead followers for account which has a lot of posts & likes
  • Getting likers & commenters in Analyse posts with a large number of posts & likes

Chances are that you would be Rate limited by Instagram, meaning that you cannot hit more requests for some time (~ say 5 minutes).

Grambuddy Automatically handles this and pauses for some time and when this rate limit…


Chrome’s auto update does not work most of the time. So, you got to manually do the update.

  1. Open chrome://extensions
  2. On the top right corner, you would see a button to toggle developer mode on. Turn this toggle on.
Turn the developer mode on -> Top right corner

3. As soon as you toggle, you would see the update button. Press this Button.


If you are getting stuck and cannot log out of instagram, here is the way to do so.

  1. Go to https://www.instagram.com
  2. Open Developer Tools.
    Ctrl + Shift + J (on Windows) or Cmd + Option + J (on Mac).

3. Press the arrow “>>” on the right side of network tab & select Application from Drop Down. Or If you can find Application directly, just click on the Application Tab.


Step 1: Install Screencastify chrome extension. Link: https://chrome.google.com/webstore/detail/screencastify-screen-vide/mmeijimgabbpbgpdklnllpncmdofkcpn?hl=en

Step 2: Connect your google drive to the extension as these videos are heavy and need to be saved somewhere.

Step 3: Press the extension button, choose the Browser Tab option & start the screen recording. To see the tutorial how the extension works, see this 2 minute tutorial — https://www.youtube.com/watch?v=uuJ2lF9RkgE&feature=youtu.be

Step 4: Download the saved video from the Drive. The file extension will be .webm . We need to convert this to GIF now. Visit https://cloudconvert.com/webm-to-gif and upload this file & start the conversion. This step can take about a minute depending on how big the file is.

Step 5: Download & Use your GIF!

By Grambuddy. Do visit Grambuddy on chrome web store & see instagram like never before. Download the extension from here. https://chrome.google.com/webstore/detail/grambuddy-ig-analytics-to/geanmonfjnphmeighphheddlmdlcjkho?hl=en


Intern selection is really important. You hire a wrong intern & it’s equivalent to going down the drain.

Firstly see for what purpose are you choosing the intern? write it down and see the skills required for those. Add those skills in the internship before posting so that it’s easier for you to sort.

If the work isn’t much, you might actually not need an intern as there is a lot of communication & management overhead which comes. So be sure if you really need an intern. Like for me, having a design intern & SEO intern makes sense as…

Abhinav Rai

Product Engineer at Go-Jek | Guitarist | Traveller | Entrepreneur

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