Shashike J
Software engineer & YouTuber from Toronto with a passion for building cool stuff and helping people transition into tech. Founder of

A checklist to build your page rank and make sure your site reaches its audience

Image for post
Image for post
Image composition by author (social media icon grid by:

After days and possibly months of planning and development, your web app is finally ready for deployment. Here is a checklist for optimizing your web app for maximum visibility on social media and search engines to ensure your work gets the attention it deserves.

To demonstrate how to implement some of these optimizations, I will use a Rails application as a working example.

First, figure out if your app’s public facing pages are server or client rendered. To check, right click on the web page and select ‘view page source’. If you see a single line like this the one…

A checklist to ensure a smooth transition

Image for post
Image for post
photo by author

I was recently tasked with migrating a large, legacy, self-managed PostgreSQL 9.6 database hosted on AWS EC2 to AWS RDS running PostgreSQL 12.3.

The goal was to complete the migration in under 30 minutes and I needed to perform the following within that time frame:

  1. Put the application in maintenance mode.
  2. Stop services (jobs, cron, etc.).
  3. Run the pg_dumpand pg_restore routines.
  4. Validate that all tables and their contents were transferred.
  5. Bring the application out of maintenance mode and resume services.

Here are some of the lessons I learned along the way and some tips for those of you migrating a…

A practical guide to supercharging your Rails workflow with a deterministic development environment

Image for post
Image for post
Image credit: Author

This guide covers configuring Docker for Rails development on your local machine. My goal is to walk you through setting up an ergonomic and reproducible development environment for building Ruby on Rails applications.

The Docker configuration was created with the following goals in mind:

  1. Run tests in a separate Docker container and tear down the supporting infrastructure after the suite runs
  2. Support Rails hot reloading in development mode using Docker bind mounts (no copying source code to the Docker container)
  3. Gems installed on a separate volume
  4. byebug/pry support
  5. Allow running Rails generators from inside the app volume and writing to…

An incremental approach to adding React components to your Phoenix application

Image for post
Image for post
Image credit: Author

I recently started implementing a highly interactive, web-based productivity tool using Elixir and React. Here’s how I added React components to Phoenix views where needed. You can find the source code here.

The quickest way to build a real-time application

Hotwire, Turbo, and Rails logos
Hotwire, Turbo, and Rails logos
Photo by the author.

Hotwire is a shiny new HTML-over-WebSocket framework developed by Basecamp. Its purpose is to perform real-time DOM-patching using ActionCable and JavaScript. You can compare it to Phoenix LiveView, but unlike LiveView, Hotwire is stateless.

I took Hotwire for a test drive along with ActionText and was able to build a real-time Twitter feed in less than 30 minutes. You can find the complete source code on GitHub.

How I scored 947 in less than three weeks of studying with no prior experience

Certified Developer Associate DVA-C01 badge by Amazon Web Services
Certified Developer Associate DVA-C01 badge by Amazon Web Services
Certified Developer Associate DVA-C01 badge by Amazon Web Services

One of my goals for 2020 was to get better at DevOps-related tasks. I had practically no experience with AWS, except for using Rekognition and S3 to implement a facial recognition feature in an application I had built over two years ago.

When RDS is beyond your budget, run Postgres on EC2

a rack of servers
a rack of servers
Photo by Taylor Vick on Unsplash

The Motivation

The biggest reason to run your database out of EC2 would be cost savings. As of writing this article, the cheapest/smallest RDS deployment costs around $30.88 USD/month. In contrast, we can run a t2.micro EC2 instance with 8GB of storage for around $6 USD/month. This cost can be further reduced if you opt for reserved billing.

Caveats / When You Should Opt for RDS

As a rule of thumb, if budget allows, always opt for RDS. It provides replication via a standby instance in a different availability zone and handles automatic fail-over. This is desirable for two reasons:

  1. Amazon guarantees 99.99999% up-time for regions, not availability zones. So…

an introduction to my latest project that can watch over your passion projects

Image for post
Image for post
image from

Having worked in the software development industry for a few years, I have noticed 2 things: first, app downtime is not cool and it shatters customer trust — and second, monitoring tools are often expensive and difficult to setup.

I wanted a platform where I could simply specify a web address and be notified if problems are detected. I wanted it to be cheap (preferably, free) and easy to setup — and for the life of me I couldn’t find an off-the-shelf solution.

So I went ahead and built one, check it out here.

A guide to building an AI model using TensorFlow, Python, matplotlib, and packaging it for the web using Ruby on Rails

woman reaching out to pat a horse on the nose, with colored rectangles drawn around the woman and the horse
woman reaching out to pat a horse on the nose, with colored rectangles drawn around the woman and the horse
Original photo by Daniel Cano on Unsplash

I was recently tasked with building a web API for fruit classification. I realized that such a product would need to have the ability to detect general objects to weed out images of non-fruits. So I decided that I would start the project by getting my hands dirty by exposing a TensorFlow model to the web.

In this article, I will cover the functionality and architecture of this app from a practical, code-first approach. …

3 tips to maximize your chances of getting your app approved on Google Play and Apple’s App Store Connect

The number 3.
The number 3.
Photo by Tony Hand on Unsplash.

Submitting your first app for review can be an intimidating process. Here are some tips that have helped me get my apps approved by Google and Apple.

Disclaimer: These are tips that worked for me and may not apply to your situation. I am not responsible for any of these backfiring and/or causing you to lose time/revenue.

1. You May Need an Incorporation + DUNS Number if Your App Is a Commercial Service

Having hit this roadblock personally, it delayed my app from being approved for distribution by about a week. In my experience, this change was enforced by Apple — Google Play didn’t seem to care.

You will need to provide Apple with a DUNS…

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