September 29, 2011

Web Development

I have been developed full-stack web applications using back-end languages such as Ruby on Rails, Node.js, and PHP. These projects can and have included database design, API implementation, OAuth integration, user experience considerations, asynchronous job processing, authentication, role-based authorization, back-end administration, search engine optimization (SEO), and deployment strategies. I am familiar with various databases, including MySQL and PostgreSQL, have experience developing with the Facebook Platform and OpenGraph, have created API backends, and have worked on multiple teams. With all projects, I strive to utilize well-supported, well-documented gems that are fully compatible with the version of Rails being used, making it as quick and painless as possible to maintain your finished product.

For examples of past website work, visit my portfolio. I encourage you to contact me if you have have any questions.

Mobile Application Development

Let me help bring your mobile idea to life! My most recent Android development experience is in the production of a native Android dating application named Black Book Singles, which interacts with its website counterpart (through a custom Rails JSON API) using Google’s GSON library.

I also have experience creating a simple multiplayer fantasy trading card game and single-player 2D physics game for Android. Both of these apps are being built with with AndEngine, an open-source gaming library built around OpenGL ES. Much like Black Book Singles, the card game communicates with the the server via GSON, which stores each move a player makes.

I also have experience developing on Android with real-time communication channels using Apache MINA. Although I am not currently focused on this project, I used it as an opportunity to learn Android while becoming acquainted with a library I intend to use for a full-scale multiplayer game. Unlike the turn-based card project, this game’s server is built entirely in Java and runs in the background through a daemon. Building the server in Java allows for code reusability between client and server in terms of simple POJO entities as well as serialization and deserialization of data across the network.