Motista.com

Senior Ruby on Rails Developer

May 2012 - April 2014

After over 5 years as a freelance developer I took a full-time salaried position with Motista where I became owner of a Rails 2.x application rather heavy in technical debt. I worked with a contracted remote team of 1-3 other developers to get the app up to date bring the app back into an agile and maintainable state. As developer, in addition to improving existing functionality and adding features, I completed an initiative to move most front-end presentation and functionality into an Angular.js application interfacing with the Rails app via a simple JSON API opening the door to a necessary re-architecture of the data store without losing functionality nor continuity with the existing tools.

  • Narrowly avoiding the "big rewrite", I dug in deep, refactoring and re-writing in the course of delivering several key new features
  • Upgraded legacy application from Rails 2.3 to Rails 3.2
  • Extensive re-factoring and re-writing towards better use of convention and loose-coupling of layers
  • Developed a highly customized HighCharts implementation to replace the existing AMCharts
  • Moved legacy inline and server generated JS snippets into a cohesive and decoupled Angular.js front-end application
  • Organized and managed workflow for our 3 "off-shore" / remote developers

#rubyonrails #rails3-upgrade #refactor #highcharts #angular.js #coffeescript #svg

CommissionMgr Pro

Best-of-breed commissions accounting application for insurance brokerages.

September 2010 - April 2012

Client wanted to extract their own commission accounting process currently facilitated by a Delphi-based desktop application into a web application which they could market to other brokerages. An insurance brokerage industry leader, they have the clout and resources to market and support a software-as-service application which would automate a manual and often error prone process. The automation of this process brings better accountability from the insurance carriers to the brokerage promising recovery of otherwise missed commission payments.

In arriving at the best implementation a couple of routes were explored beginning with full ExtJS-based single page Javascript app and ending-up with a more conventional Rails 3 application with extensive reliance and customization of the jQuery Datatables plugin and numerous mature Ruby Gems. The resulting implementation is elegant, flexible and ready for market.

  • Exploration and optimization of existing business processes, leveraging the advantages of web technologies to more directly inform and involve the sales agents in the commissions auditing process.
  • Full record change auditing and role-based authorization
  • Employed a variety of very helpful Ruby Gems: authlogic, cancan, acts_as_audited, simple_form, haml, sass, wicked_pdf, simple-navigation, high_voltage, json_builder

#rubyonrails #javascript #jquery #coffeescript #datatables #sqlserver #extjs #agile

ParentHelp123 - WithinReach, WA

Bringing public programs within reach to low-income parents in Washington state.

September 2006 - January 2010

This project began as a Rails 1.1 app which I was hired to bring up to Rails 2.0 standards. From there a much larger project was kicked-off which I was lead developer on for a year and a half. The ParentHelp123 product leads low-income parent clients through an extensive household, income and life situation interview which results in completed PDF forms which are submitted to the state of Washington to apply for various social programs. The resulting forms total over 20 pages in length and the user-friendly interview process facilitated by the application greatly ease the application process to these programs for clients. The program is funded by both the Gates Foundation and Paul Allen and is promoted extensively state-wide affecting a chartable increase in enrollment to otherwise under-utilized state programs.

This project included four separate Rails applications: the interview app, an admin app (now merged with the main application), the ResourceFinder app used locating nearby parent resources and a Radiant CMS based front-end site. The entire project was eventually migrated to a local Seattle-based team on which I was engaged as consultant to help complete the latest production version of the application which is now in Rails 3.

  • Design and implementation of a new business process for managing generated applications for clients, including both business process consultation and the implementation of the associated application to facilitate and support this process
  • Developed product, including extensive re-writing and re-factoring, from existing immature Rails 1.1 application into a robust Rails 3.0 application
  • Develop a the new ResourceFinder application based on existing data from state systems integrated with Google Maps
  • Generation of form-filled PDF application files
  • Abstracted the handling of a "step-by-step" interview wizard complete with validations into an very flexible open source Rails plugin (see restful_workflow)
  • Extensive customization and extension of Radiant CMS for front-end website
  • Worked with UberMind, LLC as member of six person team in a strict Agile development process including daily stand-ups and bi-weekly Sprint reviews

#rubyonrails #javascript #jquery #coffeescript #radiantcms #googlemaps #agile

MexConnect.com

The leading online resource for Americans and Canadians retiring to Mexico.

April 2009 - January 2011

This project began with the objectives of: bring existing site and content consisting of over 30k of static HTML pages into a proper content management system, and two, integrate ad serving to better track and monetize site.

  • Assembled and managed along Agile lines a team of 3 other developers
  • Conversion of 30k static HTMl pages into a dynamic and not-looking-back ad server monetized site. Leading website for those living and retiring to Mexico from elsewhere intends to stay that way.
  • Development of a sophisticated content management system in Rails
  • Development of an ad hoc content conversion tool using Rails, ExtJS and Hpricot

#agile #projectmanagement #contentconversion #adrevenue #cms #rubyonrails #openx

#javascript #prototypejs #lowprojs #googlemaps #hpricot #extjs

Creative Coast Initiative

Bringing Savannah, Georgia into the tech spot light.

March 2009 - July 2009

  • Re-factored and improved custom CMS design and architecture
  • Integrate many new features including dynamically generated graphs through API data

#cms #rubyonrails #javascript #prototypejs #lowprojs #api #googlemaps #projectmanagement

Ko's Journey - Imagine Education

Math is an adventure, this is not your usual middle-school math education.

2007 - Current (on-going consultation)

  • Assist in conception and design of online middle-school math game
  • Integrated Rails application with Flash app to make a cohesive and rich game experience
  • Implemented front-end marketing, sign-up and game state management site in Rails
  • Implemented test and assessment component of Flash-based game

#rubyonrails #javascript #actionscript #flash #gamedevelopment #gamedesign #projectmanagement #agile

GoodGift - AffinityXM

Better gift giving

October 2010 - February 2011

A Facebook app to bring together giving to a cause for any given gift occasion.

#facebookapp #graphapi #rubyonrails #javascript #jquery #agile #projectmanagement

Basics

  • Agile Project Management
  • Ruby, Rails
  • Git
  • Javascript
  • Angular.js
  • jQuery

Likes

  • Beautiful code
  • Simplifying code
  • The latest Rails 3 stack
  • HTML 5
  • HAML & SASS
  • Node.js
  • SublimeText

I know well, but don't savor

  • Legacy Rails 1.x or 2.x apps
  • Upgrading Rails 2.x apps to Rails 3.x
  • Prototype.js (you had your day)
  • jQuery Datatables
  • Ext.JS

I've had the privilege of attending the following conferences:

  • RailsConf Portland 2013
  • Mountain.rb 2010
  • RailsConf 2010
  • RailsConf 2008 (lightening talk on restful_workflow)
  • RailsConf 2007

BA Computer Science, Business Emphasis

1993-1997 Seattle Pacific University

NOTE: This is currently incomplete, I have one quarter of classes to complete via correspondence for a degree in the current academic year due to a final two courses which I didn't re-take in 1997.