Articles by Kunal Batra


Meet Kunal, Developer Evangelist at-large for SendGrid and home-grown New Jersey hacker. He previously ran General Machines, which developed Deaftel - a phone service for the deaf that converts voice to text and text back into voice over a phone call. Since March 2013, Kunal has been working as a Developer Evangelist at SendGrid, helping enable developers to get the tools and resources they need to make awesome, creative stuff.

Follow Kunal

Fast Food Code Challenge: Taco Bell + SendGrid

Community
sendgrid_taco bell

At SendGrid we love our customers and I personally love Taco Bell. So it makes me proud to say that we power the email receipts of Taco Bell’s new mobile application! I thought I would let my colleagues take a break and I’ll take on the hard task of reviewing Taco Bell’s new app. I know, its a tough job, but somebody has to do it…right? In this post, I’ll go through how it works, my order experience, and some tips on how best to use it. At the end, I’ll also challenge my fellow developers to get creative by creating their own SendGrid/restaurant mashups. App Review One of the most compelling reasons to order from the application, is the


Code Challenge: Incoming Email Analysis with Crunchbase and the Parse Webhook

Product, Technical
201403-CrunchBase

In my final Code Challenge blog post, I’m taking a look at CrunchBase. If you’d like to read more about this Code Challenge, and see a list of other posts, visit my first post: 15 Days of Code Challenge. In my previous blog posts we looked at a Python module and Machine Learning API that let us analyze incoming email by their sentiment and concepts based on the body of the email. In this post, I want to showcase another way to classify and prioritize your incoming email. We’ll look at the CrunchBase API and get information from their database on the sender and their company. Requirements: Create a SendGrid account if you haven’t (http://www.sendgrid.com/free) Get access to the CrunchBase API (https://developer.crunchbase.com/) Getting Started: The


Code Challenge: Fun with Mashape and SendGrid

Technical
Mashape-logo-300x128

In my penultimate post for the Code Challenge series, I’m putting a spotlight on Mashape. You can check out the list of all my posts in my introduction to the Code Challenge. Mashape is an API hub that has tons of APIs that are perfect for SendGrid mash-ups. In this post I wanted to go over some of my favorites and showcase how they work. Email Sherlock As the name suggests, Email Sherlock gives you information on the email address provided. It does this by doing a social media search on the email address. This makes a good mash-up with our webhooks. Our Parse Webhook lets your application receive incoming email. With Email Sherlock you can get more information on the


Code Challenge: The SendGrid Event Webhook + Firebase

Technical
firebase1

Creating a Real-Time Email Event Feed There was a bit of a break in my 15 Days of Code Challenge over the holidays, but I’m back to finish the last three. Today, I’ve created a real-time email event feed by using SendGrid’s own Event Webhook, Firebase, and a couple other tools. Check out the tutorial below. I use a Mac and wanted to showcase an easy way to get the real-time feed of what’s happening with my email. I thought it would be interesting to create a native Mac application that sits in the OSX menu bar right next to the clock. What I want: As soon as I click on the Icon, it drops a real-time feed of updating


Code Challenge: Listen to Incoming Emails with Twilio

Product, Technical
mobile-charger

A lot of cars now provide you with Bluetooth connections to your mobile phone. This gives you the ability to play music from your phone as well as make and answer phone calls. This made me think, what if we could extend this ability to listen and respond to incoming emails? I found it’s actually possible by turning on email forwarding and implementing the SendGrid Parse Webhook and the Twilio API. Ingredients Twilio Account: Twilio is a voice and messaging API service. We use their service to call our phone and dictate the email. SendGrid Account: We use the Parse Webhook to create an email address in which all data of emails gets POSTED to our application. Mobile Phone: The


Code Challenge: Adventures in VIM

Technical
vimg

As developers, we all use different text editors when writing code. This post isn’t meant to say VIM is better than emacs, sublime, etc. VIM is just the editor I switched to a while back, and I wanted to go through some awesome resources that I’ve use to become a better “VIMMER.” For this post, I’m going to walk through some VIM basics that I think the beginner needs. Afterwards, I’ll walk through some great resources. Basics to Get Started The first thing you’re going to notice when you open VIM is that you can’t start writing code. This is because VIM has many different modes and its default mode is set-up for editing rather than writing new text. I


Code Challenge: Add Machine translation to SendGrid for communicating with your International friends.

Product, Technical
transpost

For todays post I wanted to explore a use case for the SendGrid API, that I personally don’t see too often. That use case is mashing up a Machine Translation API with our mail API and webhook. I want to create an email address that lets me communicate with my coworkers and friends that I have been lucky to make in Brazil. How this will work: I’m going to create an application that will translate any email that I send out into portuguese. Any email that gets sent to that address will be translated back into english. The concept is pretty simple and our API makes this type of communication really easy. Requirements SendGrid Account (www.sendgrid.com/free) Translation API (I’m using the Google


Code Challenge – Storing your incoming emails into Orchestrate.io

Product, Technical
Screen Shot 2014-12-10 at 5.45.59 PM

For todays Code Challenge post I wanted to try out Orchestrate.io. Orchestrate has an interesting value proposition that’s very similar to what we do at SendGrid. Orchestrate essentially provides a “Database as a Service.” Data storage, just like email infrastructure, is one of those items that is easy to do poorly and very hard to do well. Orchestrate understands that different types of databases are optimized for different types of storage and retrieval. For example: MongoDB, CouchDb, and Redis: Key/Value Elasticsearch and Apache Solr: Full Text Search Neo4j and OrientDB: Graph MongoDB with 2dsphere indexes:  GeoSpatial According to Orchestrate, there is no individual database that can handle all of the query types that provide a rich user experience. The current


Code Challenge: Using Charles Proxy to Debug Mobile Apps

Technical
Screen Shot 2014-12-08 at 10.36.57 AM

As an evangelist, I get to interact with developers all over the world. A common tool that I see used a lot is Charles Proxy. Its used by almost all types of mobile developers for debugging. I’ve personally heard a lot about it, but never had the chance to play around with it until now. Charles Proxy Basics: Just as the name states, it’s a proxy that you set up on your computer. Your phone will connect to it to access the web and it will display all the network traffic from your phone. By using it, you can: Discover security holes in your app that other devs might use to hack your application. It can let you mimic different


Code Challenge: Building a Hello World Apple iWatch App

Technical
apps_2x-post

While the Apple iWatch hasn’t been released yet, they have released WatchKit, so developers can start creating applications. For this post, I created a video that will walk you through building a watch application that displays the text “Hello World” after a button is pressed. I would also recommend reading the first post in this Code Challenge series that goes over building your first Swift App. Pre-Requsities: xcode 6.2 Beta : You might already have xcode installed on your machine, but to build iWatch apps you require the new 6.2 beta. This will install a new version of xcode on your machine that comes with the capability of building iWatch apps. You can download it here: https://developer.apple.com/xcode/downloads/ Developer Account: Make sure


Code Challenge: Intro to Twitter’s Fabric.io

Technical
Screen Shot 2014-12-03 at 4.50.27 PM

A couple weeks ago I watched a couple of talks on Twitter’s new product Fabric (www.fabric.io). It’s a collection of tools to make mobile developers’ lives easier. According to their documentation, Fabric is more specifically a “set of mobile development tools called ‘Kits’ that help you make your app more stable, add social features like sharing and login, and turn your app into a business with easy monetization.” You can read more about Fabric and the Kits here: https://dev.twitter.com/overview/documentation. This post will focus on one of the functionalities of the Twitter Kit, but let’s just review the other kits before we begin: Crashlytics – Once included in your application, this gives your app analytics, crash reporting, and more. Honestly, this could have


Code Challenge: Intro to tmux

Technical
Screen Shot 2014-12-01 at 5.02.17 PM

Say no to tabs and yes to panes when developing For today’s post in the Code Challenge series, I’m giving an intro on tmux. As a Developer Evangelist, showing code is the best way to get developers interested in how easy it is to integrate the SendGrid API. When you’re up in front of a couple of hundred devs and live coding, switching through multiple tabs is not a good look. I got into tmux because it lets you open multiple programs on the same window to see everything that’s happening. Tmux has since become part of my workflow whenever coding any new python application. I can’t get away from Xcode when developing for iOS just yet. Here is how a typical