Overview

Currently the CTO of a fast moving company, I enjoy tackling infrastructure and data problems at scale. I currently spend my time building Jumper, a live broadcasting app. Some of my interests as a developer include artificial intelligence, distributed infrastructure and manipulating data at scale.

Relevant Experience

Co-Founder / CTO Jumper

Jumper is a request driven live broadcasting app launching in October 2013. We give you the ability to be anywhere in the world through live video streams and "taps" which allow you to request others to broadcast exciting places

As our current CTO I'm in charge of all technical decisions. Some of the tools I've worked with include: Node.js, Python, Google Go, Gearman, MongoDB, Cassandra, Hadoop, Objective-C, Redis, Docker, Vagrant, Chef and any other tool needed to get the job done. I'm in charge of building out or distributed backend architecture and ensuring quality and performance as we scale our user base.

May 2013 - Present

Flashquest - Current Technical Lead

We are a promotional tool for businesses, as we bridge the gap between consumer interaction and advertisement. I’m in charge of building out our business admin portal, backend and making technical decisions for a quickly moving startup.

December 2012 - May 2013

OpenOffer

Worked as a full stack engineer. Responsible for data integrity, scaling, server administration and new feature implementation. Worked primarily in PHP, Javascript and HTML. Implemented a social networking feature which linked popular apis with RSS feeds through the PUSH protocols.

March 2012 - August 2012

USC Institute of Multimedia Literacy

Work as a lab technician and tutor. Assist students with multimedia projects involving graphic / film editing as well as basic web application programming. Assisted faculty with web application programming.

August 2011 - Present

Freelance Software Engineering / Consulting

Currently taking on projects as a freelance web engineer. Have assisted and consulted several new startups launching in the USC community. Help optimize and make minor changes on web sites by contract.

August 2012 - Present

Projects

Jumper Web App

In charge of building and maintaining the web application for Jumper. Using tools such as Angular.js, Coffee-script, Sass, Compass and various component libraries to build a modular codebase. Developing with a test driven approach and working with tools such as Mocha and Phantom.js to ensure a scalable experience across many different platforms. This project is currently in a closed internal beta but will launch by November 1.

Site

Jumper Backend Infrastructure

As our CTO, I'm currently in charge of designing and leading our entire application stack. I've build out the major components of our distributed architecture to serve our mobile first application. Some of the technologies that I'm working with on a daily basis include: Node.js, Python, GoLang, Express.js, Gearman, MongoDB, Redis, Zero-RPC, Google Protocol RPC, Postgresql, Cassandra, Hadoop, Hive, Storm, Pig, Docker and Chef amongst many others. My main responsibility as our CTO is to use the right tools to solve problems and ensure that the choices we make now, will scale with us as a company.

Site

Jumper Proprietary Streaming Architecture

Built a live streaming server cluster to encode HLS live streams at scale. Some of the technologies involved include: Python, Gearman, GoLang, ffmpeg, C, S3, CloudFront, Docker and Chef.

Site

Flashquest

Lead engineer / developer. Responsible for making technological decisions and implementing them. Building our V1 backend using Ruby on Rails, Node.js, Express.js, MongoDB. In charge of building our interactive business portal as well as json RESTful api. Utilizing behavior driven development and technologies such as Cucumber to assist business team and development team communicate effectively.

Site

Extensive Unix Configuration/Scripting/Dotfiles Project

Have created a place to store all of my machine configuration as I explore advanced parts of the Unix operating system. Constantly am contributing to this project as I strive to improve workflow by exploring new technologies and tools.

Dotfiles Repo

Retail Clothing Site

I'm currently building a commercial retail site using what I think is a really exciting technology stack. I'm working with Rails, Mongo, Yeoman, Compass, Angular and a few other libraries. My client wants to integrate with the shopify API so I'm embedded that into our backend for automated product update hooks. Front end wise, I'm using Compass with Susy, Stitch and a few other small libraries. I've decided to hack a bit on the rails framework and am trying to embed yeoman into this project instead of the asset pipeline for quicker development. Link coming soon ...

Clothing Repo

Prospero

Currently launching a full service application / website for a commerical real estate company in Canada. Implemented a complete CMS for non-technical employees to update site. Built using a LAMP backend with the CodeIgniter framework. I implemented a build tool for the project using Node.js as well as a custom search engine using C++.

Working Demo Main Repo Search Repo Build Tool Repo

Advanced File Synchronization

I created a program using Python and MongoDB to dynamically perform advanced synchronizations of local files. I'm currently researching various sync algorithms to help implement this more efficiently in GoLang.

Directory Sync Repo

OpenGL / WebGL HeightField Project

I created an interactive 3-d height field imaging tool using OpenGL and C++. I'm currently exploring a way to take this project onto the web using WebGL. Currently working on this using some tools such as Express.js, Three.js, Backbone.js and Mocha.js.

HeightField Repo

USC Medical School 3D Brain Imaging Application

I'm currently building a 3-d web application that transforms craniofacial MRI data into an interactive user experience. The application allows user to not only learn about facial structure, but also upload their own MRI data to compare and find deformities. The application consists of a C++ program written to extract vector data from DICOM format data as well as a javascript based front end app. I'm using WebGL with Three.js and Coffeescript to implement the interactive experience as well as an express.js app on the backend.

DNS / General Networking

I'm interested in the various networking protocols and am doing some directed research in my spare time. I'm currently hacking on a DNS Server technology called Bind to implement my own local DNS resolver.

Skills

Languages

  • Python
  • Ruby
  • GoLang
  • Javascript / Coffeescript
  • Bash
  • C
  • C++
  • PHP
  • Lisp
  • Some Java
  • Some Assembly
  • Some Haskell
  • Some Objective-C

Technologies

  • HTML/CSS
  • Javascript MVC / Backbone / Angular
  • Node / Express - Javascript
  • Rails / Middleman / Sinatra - Ruby
  • Django / Flask - Python
  • Codeigniter / Laravel - PHP
  • Mac / Unix / Windows
  • MongoDB / mySQL / Redis / Memcached / Cassandra / PostGreSql
  • Hadoop / Hive / Pig
  • ElasticSearch
  • LAMP/Unix Server Deployment / Docker / Chef / Puppet / Vagrant
  • Git / Mercurial / SVN
  • Web application / network security
  • Test / Behavior Driven Development
  • QT / OpenGL / WebGL

Multimedia

  • Photoshop
  • Illustrator
  • Final Cut Pro
  • Sketchup

Education

Pepperdine University 2009-2010

Physics / Chemistry.

University of Southern California

B.S. Computer Engineering Computer Science expected Spring 2015
Previously Aerospace Mechanical Engineering
Overall GPA: 2.5
Major GPA: 3.2
Relevant Courses:
  • CSCI 101 / 102 - Intro to programming / Data Structures
  • ITP 425 - Web Application Security
  • ITP 115 - Introduction to Python
  • CSCI 480 - Graphics Programming (current)
  • CSCI 271 - Discrete Mathematics (current)
  • ITP 499 - Professional C++ (current)