Category Archives: Technical

Falcon, Fluentd, and Event Webhook

Posted on (0 Comments)

A couple of weeks ago I came across a new python web framework called Falcon. I was quickly impressed with its ease of use and most importantly this fragment: It doesn’t try to be everything to everyone, focusing instead on a single use case: HTTP APIs. I decided to build a simple server that will consume data from SendGrid’s Event Webhook and use Fluentd to log and store the events. Fluentd provides a sense of dependency injection when it comes to logging and storing to multiple data outputs with a simple configuration file. Building the Environment First, install Fluentd. You can find

READ MORE »

Code Challenge: The SendGrid Event Webhook + Firebase

Posted on (0 Comments)

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

READ MORE »

Code Challenge: Listen to Incoming Emails with Twilio

Posted on (0 Comments)

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

READ MORE »

Code Challenge: Adventures in VIM

Posted on (0 Comments)

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

READ MORE »

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

Posted on (0 Comments)

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

READ MORE »

SendGrid’s Secret Santa & Friends

Posted on (0 Comments)

Many of you have have probably participated in X-Mas Gift Exchanges. If not, we should solve that! Here at SendGrid, we use Elfster and it works great. My friends and I have been doing an alcohol exchange recently. I thought this was a simple problem to hack on and use some of the SendGrid features. So I did! I’ll try to explain all the steps that I took to create our exchange system. First, I created a simple transactional template in SendGird’s Template Engine. Yes, the content is in Spanish Notice that I have #recipient# in the content. That’s because I

READ MORE »

Code Challenge – Storing your incoming emails into Orchestrate.io

Posted on (0 Comments)

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

READ MORE »