We can spend hours handcrafting those perfect SQL queries and there are a lot of times where that may be preferable. There are times, however when we can rely on the beautiful Rails community to have done a lot of the heavy lifting for us. This is one of those times.

We’ll need two things to integrate an awesome search engine into our Rails app. First is the Searchkick gem. This will allow Elasitcsearch to communicate to ActiveRecord and our models. We need to add this gem to our gemfile and run bundler.

gem 'searchkick'

Second is installing Elasticsearch. There…


If you’re anything like me, at some point you may screw up your local environment config so badly that it may need to be nuked from high orbit. You’ll then find yourself in a situation where everything needs to be reinstalled and it’s very unlikely that any of us remember the steps every single time. I’ll be honest, I’m doing this partly as a record for myself to reference whenever I need to reinstall, but at the same time, I hope that anyone else that finds themselves in the same boat will find this useful.

First things first, I prefer…


I was recently working on an application that was very API heavy and a few of these APIs needed to communicate with my app through webhooks. There are two very popular apps that can help us with this. Localtunnel and ngrok. Today, I’ll provide a quick guide on how to get up an running with ngrok.

First things first. Download the app from here. Once downloaded, create an account and run the following command from your terminal in a directory where the ngrok is located.

./ngrok authtoken YOURAUTHTOKEN

The auth token that’s needed will be listed on the ngrok account…


There are a lot of popular APIs out there and the largest ones have clients written in a variety of languages. Ideally, you just find the right client for yourself, read the docs and you’re off to the races. What about the less popular APIs, the ones that have endpoints, but don’t have a client written? Postman to the rescue once more. I’ve already covered the basics of how to use Postman in a previous blog, which you can find here.

Today, I’ve found myself in a situation just as I described above. I needed to integrate an API into…


I recently started delving into home automation and just general IoT. I wanted to start with being able to control lights with Apple Home. So like many of us, I looked at HomeKit compatible led strips and I thought that the official devices like the Hue start up kit for $80 was too expensive. I’d much rather spend $200 on devices that don’t properly support HomeKit and spend hours trying to make them work instead! Great plan so far.

In any case, thankfully there a lot of likeminded individual online that went down the same path. Enter Homebridge. Homebridge is…


Sometimes we forget our passwords. It happens, we’re all humans or at least androids smart enough to beat capchas. In any case, I’ve covered a fantastic authorization gem Devise in my previous weeks blog, which you can find here. Assuming that all of the initial steps are done, in this weeks blog I’m going to cover how to wire up the ‘Forgot your password?’ function to send out an email to our apps user in order to reset their password.

If you’ve ran the command below.

rails g devise:install

You may have noticed that one of the prompts after the…


Authorization could be hard, but it doesn’t have to be. Part of the beauty of Rails is the ‘magic’ that’s available for us to use as developers. Although it’s absolutely possible to wire up your own authorization logic from scratch and there are most certainly use cases where that would be a better fit, the devise gem has a lot of functionality built in that would take a lot longer than basic auth. …


Here’s an interesting issue I’ve ran into recently. I found a couple of amazing gems that come with all sorts of functionality that was incredibly useful to my current project. These gems were intended to be use as pre-baked templates. Just add the gem and you’re off to the races.

Now, with these gems, this functionality is locked inside the gem and components like views and controllers are not exposed. Meaning if you wanted to change the view to adhere to the rest of your apps styling you wouldn’t be able to, as the view is locked away. …


Are thoughts of Big Data keeping you up at night? In this quick guide, I can show you how to integrate Google Analytics into your website in order to keep track of any and all activity that you’d like.

First things first, you’ll need to create a free account for yourself

https://analytics.google.com/

After your Analytics account has been created, you should end up on a page that’s similar to this. First you’ll want to hit the ‘Admin’ button on the bottom, and after that ‘+ Create Account’. I may seem kind of redundant, because haven’t we just created an account…


TL;DR: Almost always if you’re performing a GET request and almost never if you’re performing a POST/PUT request.

Thanks for reading and don’t forget to like and subscribe!

Oh, you’re still here? I wasn’t ready for this. Well, all right then. I’ve found myself doing a fetch request from my front end and noticed that it was taking an absurdly long time, even timing out some of the time. Upon inspecting the network stats for the fetch, I saw that the response was a whopping 64mb! That means someone trying to use my app on a 56k connection from AOL…

Dmitry Sychev

Software Engineer

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