I'm a contract software developer based in Denver, CO, with 7 years of experience with Ruby, Rails, JS and (starting in 2015) React. Previously, I worked as a database analyst and software QA-er for a mid-sized e-commerce company. I've long had an interest in the intersection of business and technology, and using software to create value.

I work with both new and existing projects, using a variety of tools, and taking care to write code that is easy to maintain and pleasant to use. I've worked for clients in diverse industries, including: manufacturing, real estate, education, social media, entertainment, e-commerce, mental health, and academia.

If you have development needs, drop me a line and we can see if it would be a good fit. If it's not, or if I don't have the availability to take on a new project, chances are I can put you in touch with someone who can help.

Resume (updated 07/2017)


Some common elements: Rails versions from 2 - 5, either PostgreSQL or MySQL, jQuery, ReactJS, either Minitest or RSpec, Capybara, and in most cases, a customized version of Bootstrap.

In addition to the projects below, I've been doing some short engagements with various clients needing a few weeks of work to fix some bugs or add some features that have been on their to-do lists. Prior to early 2018 I had also been tutoring newer programmers, both through the Firehose Project as well as independently for those who either want to learn more about how their applications work or who are newer programmers building applications to test a business idea.

Greenfield projects

CACS Risk Assessment Tool (Jan 2017 - present), for a mental health practice
Product: Platform for mental health professionals to aid in preforming patient risk assessments and recommending appropriate resources and follow-up. Note: it's only open to professionals in the mental health field, but the landing page contains a demo video if you want to see how it works.
Responsibilities: All architecture and development, working closely with the client to develop algorithms that analyze patient responses to assessment questionnaires to determine their individual levels of risk based on the best current knowledge available in the field, incorporating brand images and colors from designer, working with the client to refine product design, and working within unique requirements due to liability and confidentiality concerns.

NoCurve Analytics (side project, on hold)
Product: E-commerce analytics dashboard using interactive charts (Highcharts) and tables to visualize various financial and marketing metrics.
Responsibilities: All architecture, development and design. Still in the development stage, but the app can be run with demo data, or if you're a Shopify merchant, you can try it out with store data. https://nocurveanalytics.com/begin_demo

unnamed project (Jan 2018 - Mar 2018), for an individual client
Product: Single-page app for importing content, then organizing, tagging, and exporting it
Responsibilities: Design and development according to well-defined specs.

name TBD (Aug 2016 - Feb 2018), for a social media content marketing startup
Product: Fully-responsive MVP application to help test an improved idea in a relatively new space.
Responsibilities: All architecture and development. Working with founders to refine product design and requirements to arrive at a true minimum feature set, working with designers to integrate brand elements.

name withheld (Sept 2014 - Apr 2015), for an opinion measurement and analysis startup
Product: Survey creation, administration, and results analysis application
Responsibilities: Making architectural decisions, developing core functionality (including survey results analysis and display tools), working alongside another Rails developer and a UI/UX firm to bring it all to life, and being on hand for staged launches and live demos.

Work done on existing projects

Apr 2018 – present
Client: Regional residential real estate valuation and report generation company
Product: Valuation application that draws on its extensive database of property comps to value properties using a variety of measures, and generates reports of its finding for each property. Large datasets and complex operations make performance a key concern.
Responsibilities: New features, bug fixes, performance improvements, upgrading the application from Rails 3 to Rails 5, and transitioning front end to a mobile-friendly responsive layout.

Mar 2016 – present
Client: Six-sigma engineering quality control company
Product: QC app that allows users to track their production processes and record manufacturing quality issues.
Responsibilities: Bug fixes, new features, new integrations with Amazon S3, responsive HTML/CSS improvements, and assisting developers with troubleshooting issues with unusual / unorthodox legacy code.

Jun 2016 – Jan 2018
Client: Specialty email design, management, and delivery company
Product: An email templating and contact management application that had been on a development hiatus for the better part of a year.
Responsibilities: Bug fixes, new features, and building HTML/CSS email templates from PDF proofs.

November 2013 – October 2015
Client: 200+ employee education services company
Product: Mature application that handles the company's ERP and CRM needs and provided the main point of interaction for customers in terms of managing their services and tracking their results and progress.
Responsibilities: Designing and implementing features based on business requirements and design patterns currently in place, writing and maintaining tests, refactoring application and test code, identifying and fixing bugs.

August 2014 – December 2014, July 2015 – November 2015
Client: Large entertainment company and venue
Product: An application with customer-facing event and ticketing functionality and internal CMS and ERP functionality.
Responsibilities: Working with another Rails dev to take over a botched upgrade attempt, upgrading application from Rails 2.3 to 3.2 (as an intermediate step on the path to upgrading to 4.1), some initial server configuration, implementing features, identifying bugs and implementing fixes, and refactoring and improving test coverage where appropriate.

Experience with...

  • Best practices for creating understandable, reusable, and maintainable code
  • Always being mindful of end users' needs and expectations
  • Advanced ActiveRecord
  • Extracting objects from the model layer, avoiding using models as catch-alls
  • Most of the standard Rails testing tools and strategies
  • Opportunistic (and occasionally planned) refactoring
  • jQuery, AJAX, ReactJS (and some CoffeeScript) to enhance user experience.
  • MySQL, PostgreSQL, and relational theory and design
  • Responsive layouts and testing / troubleshooting on mobile devices
  • Standard Git team-oriented workflows, continuous integration, and various agile tools and practices
  • Miscellaneous tools (in no particular order, with varying levels of familiarity): Github, Pivotal Tracker, Bootstrap, various small JS plugins, Mini-profiler, Highcharts, Mocha, ThinkingSphinx, Code Climate, RailsAdmin, various CI tools, Unicorn, Passenger, Kaminari, VCR, Zeus, Rapidfire, ChartJS.