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.
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
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
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
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
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
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.
SiteAs 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.
SiteBuilt 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.
SiteLead 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.
SiteHave 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 RepoI'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 RepoCurrently 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 RepoI 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 RepoI 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 RepoI'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.
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.