268 W. Allegan St
Otsego, MI 49078
(269)808-1433
reaper@umich.edu
I'm a polyglot programmer with a specialty in web applications. I focus on the fundamentals that don't change between environments. I refuse to tie myself to a single language or framework, and prefer to have many tools in my toolbox. I also do agile coaching.
Work Experience
Solutions Architect, Experis (Full-time)
Remote 10/2017 - 8/2025
Foundry Connectors
- Developer of Foundry Connectors. (Plugins for a proprietary data management environment built with Java and Spark on AWS.)
- Built bidirectional connector to link SAS and Foundry. (API callable from SAS programs written in SAS, Plugin for SAS Enterprise Guide written in C# with WinForms, Remote Executor allowing SAS jobs to be scheduled from Foundry written in SAS and Java.)
- Built importer to link Access and Foundry. (Plugin to run on Foundry web server written in Java.)
- Built unidirectional connector link Matlab and Foundry. (Remote Executor allowing Matlab jobs to be scheduled from Foundry written in Matlab and Java.)
Technologies Used:
Java, C#, SAS, Matlab, Access, Maven
Sprint2MVP Project
- Developer on the Sprint2MVP project. (Platform for pattern based, made to measure web sites targeting B2B Manufacturers. Built using WordPress, PHP, Javascript, and React)
- Built pluggable stand alone product catalog. (Wordpress plugin built with PHP and JavaScript allowing clients to manage their product catalog and provide product images, documentation, and specs.)
- Built importer for Akaneo to link to product catalog. (WordPress plugin built with PHP allowing clients to import their product catalog from existing systems.)
- Built fallback loader. (Allows people viewing the site in older browsers to be given a basic fallback experience. Built with JavaScript and CSS.)
- Implemented snapshot testing for pattern library. (Tooling to allow developers to easily determine if code changes will have unintended side effects. Built with BackstopJS, Node and Puppeteer.)
- Developed agile process for team. Coached team on agile techniques.
Technologies Used:
JavaScript, Typescript, HTML, CSS, Sass, PHP, WordPress,
Gutenberg, React, jQuery, Node.js, BackstopJS, Webpack
Potbelly Sandwiches Project
- Developer on the Potbelly Sandwiches project. (Online ordering system for casual dining and delivery. Built using Next.js (which uses React), with AWS Lambda functions in C#.)
- Transitioned project to new infrastructure. Created automated build and deployment pipelines for web and mobile apps. (Project was previously hosted in JIRA owned by another consulting firm. Migrated to Azure Devops.)
- Maintenance, bug fixing and refactoring for ongoing site functionality. (The desire of the client was to bring development in-house. Kept the system up and running while new team transitioned in.)
- Refined agile process for team. Coached team on agile techniques. Brought existing backlog up to usable quality.
Technologies Used:
JavaScript, HTML, CSS, Next.js, React, Node.js, C#
GMR OLOS Concierge Project
- Developer on the OLOS Concierge project. (Ambulance scheduling for non-emergency transport. Built using Ember.js, with back end in C#.)
- Built Concierge scheduling module allowing hospitals to schedule non-emergency transport. (Front end in Ember.js, back end in C#.)
- Refined agile process for team. Coached team on agile techniques.
Technologies Used:
JavaScript, HTML, CSS, Ember.js, C#
Project Yardstick
- Developer on Project Yardstick. (Platform for assisting recruiters with technical screening. Testbed for delivering Progressive Web Applications. Built using WordPress, PHP, Javascript, and React)
- Built custom Q&A platform. (Wordpress plugin built with PHP and JavaScript allowing recruiters to select screening questions for interviews and allowing subject matter experts to enter questions and expected answers.)
- Implemented service workers for offline functionality. (Javascript based interceptor for web requests allowing full offline use.)
- Implemented Web Application Manifest for installability on mobile devices. (JSON-based metadata enabling installation on mobile devices.)
- Implemented push notifications for messaging. (Progressive web apps with a service worker and installability can receive push notifications.)
Technologies Used:
JavaScript, Typescript, HTML, CSS, Sass, PHP, WordPress, Storybook,
Gutenberg, React, Node.js, Service Workers, Lit, Web Components
GenAI POC
- Developer on Generative AI POC. (Testbed for delivering AI-powered Web Applications. Built using ChatGPT, Javascript, Next.js, and React)
Technologies Used:
JavaScript, Typescript, HTML, CSS, ChatGPT API,
Next.js, React, Node.js
Content Audit and Review Plugin (CARP) Project
- Developer on the CARP Project. (Wordpress Plugin for managing audits of content. Built using WordPress, PHP, Javascript, and React)
Technologies Used:
JavaScript, HTML, CSS, PHP, WordPress, jQuery
All-in to Fight Cancer
- Developer on All-in to Fight Cancer. (Informational site for charity. Built using WordPress, PHP, Javascript, React, Lit, and Web Components)
- Built custom editor components for unique visuals. (Wordpress plugin built with PHP and JavaScript allowing editors to add unique design elements to pages on the site.)
- Built Web Components for unique visuals and site structure. (Converted designs to Web Components.)
- Coached client on agile techniques.
Technologies Used:
JavaScript, Typescript, HTML, CSS, Sass, PHP, WordPress, Storybook,
Gutenberg, React, Node.js, Service Workers, Lit, Web Components
Kimley-Horn Decision Support Tool
- Architect on Decision Support Tool. (Tool for municipal managers to optimize civil engineering projects. Built using Angular, C#, and MS SQL Server.)
- Coached client on agile techniques. Refactored backlog to better reflect team approach.
Technologies Used:
JavaScript, HTML, CSS, Angular, C#, SQL Server
ADP Angular/Typescript upgrade
- Developer on ADP Redbox. (Upgraded Typescript and Angular, including remediation for large existing codebase. Built using Typescript, and Angular.)
Technologies Used:
JavaScript, Typescript, Angular
Independent/Freelance Work
Kalamazoo, MI 9/2016 - 10/2017
- Programming on Leasing Strategies Adjustments (Pricing application for leased vehicles. Angular 2 application built with typescript. REST
back-end. Built using Node.js.)
- Digital Strategy Consulting for Be Resilient (Health advocacy startup. Consulted on technology choices with the goal of the business owner being able to do self-service on their own web presence. )
Technologies Used: Typescript, Node.js, Angular 2, Brunch,
CSS, Sass, Underscore.js, Lodash.js
Lead Web Developer, VML (Full-time)
Kalamazoo, MI 6/2014 - 11/2016
- Lead Programmer for Kellogg Registration Module (Modular registration tool designed to be added to multiple web sites by programmers from other agencies. Angular application with custom API exposed. REST
back-end. Assembled with CommonJS Modules powered by Browserify. Built using Node.js.)
- Programmer on Stryker PIPA (Multi-user audit tool for nurses to track pressure ulcers. Multiple Angular applications for different user kinds. ASP.net MVC back-end with Razor templating.)
- Lead Programmer on ACT Word Cloud (Marketing toy intended for college bound students; Produces custom word cloud and posts it to their Facebook account. Backbone application with minimal back-end. Image manipulation done with browser canvas tag.)
Technologies Used: JavaScript, Node.js, Angular, Backbone, Browserify,
CSS, Sass, Underscore.js, Lodash.js,
jQuery, jQuery UI, ASP .Net MVC, Sitecore, Adobe Experience Manager / Day CQ, Facebook integration, Twitter integration
Computer Programmer, Spindance (Contract)
Holland, MI 4/2013 - 5/2014
- Programmer on Aculink (Home weather center connected to cloud storage and processing with
web front end. Coffeescript web application using Chaplin/Backbone framework. REST
back-end. Assembled with CommonJS Modules powered by Brunch. Built using Node.js.)
- Created front-end program structure and build process.
- Implemented dynamic graphing modules, allowing users to visualize their data across arbitrary time slices.
Technologies Used: Coffeescript, JavaScript, Brunch, Chaplin, Backbone, Node.js, Centos,
CSS, Sass, Compass, Google Maps, d3.js, Rickshaw.js, Underscore.js, Lodash.js,
jQuery, jQuery UI, i18next, SVG
Computer Programmer, Safari Montage (Full-time)
Kalamazoo, MI 3/2012 - 3/2013
- Programmer on
Safari Montage. (Video streaming application targeted for the K-12 school
market. Also contains curriculum management tools. PHP web application
built on top of PostgreSQL data store. Multi-server distribution on top
of FreeBSD.)
- Updated video submission tools to allow adding closed captions to
videos.
- Standardized code on a single version of jQuery. (Up to 4 were being
used.)
- Introduced and ran Scrum meetings.
- Updated lesson planning functionality to allow teachers to manage and
present to different class lists.
- Updated quiz functionality to allow images for questions and answers,
and deliver those images to mobile client.
- Added support for a new 3d-interactive model format.
Technologies Used: PHP, HTML, CSS, JavaScript, AJAX, PostgreSQL, FreeBSD
Computer Programmer, Thomson Reuters (Full-time)
Portage, MI 5/2011 - 3/2012
- Programmer on
Manatron GRM. (Tax processing system for use by local governments.
C#/ASP.Net web application built on top of SQL Server data store.)
- Enhanced tax processing to allow chargebacks to earmarked funds when
tax refunds were issued.
- Built API at allow interest to be calculated for bills that had not
yet conventionally entered the system.
- Debugged javascript errors inside proprietary framework; Provided
fixes and workarounds.
- Maintained automated daily build system.
- Built reports.
Technologies Used: C#, ASP.NET, SQL Server, T-SQL, Telerik Controls,
Windows Servers, Crystal reports, SSRS (Sql Server Reporting Services),
HTML, CSS, JavaScript, AJAX, XML
Computer Programmer, Socialtext (Contract)
Palo Alto, CA (Telecommuting) 1/2011 - 4/2011
- Javascript specialist on Socialtext. (Enterprise Social
Intranet Product built with Javascript, jQuery, and Perl running on top of
an Ubuntu-based appliance. Substantial REST API. Backed by PostgreSQL.)
- Rewrote OpenSocial Gadgets implementation to avoid round-trip on gadget creation, insertion, and preference change.
- Moved rendering of OpenSocial Gadgets to be entirely client side
- Untangled gadget rendering from gadget configuration, allowing gadgets
to be dynamically configured.
- Introduced qUnit testing on project.
- Built qUnit test runner with rhino and env.js (running on the Java
Virtual Machine,) allowing qUnit tests to
be run under continuous integration
- Championed transition to hudson build server, providing continuous
integration.
- Divided test cases that could safely be parallelized from those that
must be serial, allowing CI test runs to be much faster.
Technologies Used: JavaScript, AJAX, REST, JSON, Quint, JQuery, Rangy, OpenSocial Gadgets,
Perl, mod_perl, PostgreSQL, Moose, Template Toolkit, Jemplate,
HTML, CSS, Git, Apache, Linux, Vim
Computer Programmer, Pillar Technology (Full-time)
Virtual Company 2/2010 - 9/2010
Dominos engagement
- Javascript specialist on Dominos express online ordering. (Javascript based web application built with jQuery, Prototype, and Pure.
Data access through REST-based AJAX. Persistence provided by Voldemort.)
- Sped up page load times for Internet Explorer -- from five seconds to half a second.
- Untangled javascript dependencies and provided build process.
- Introduced and developed Qunit testing for the team.
- Extended Java-based test runner for integrating Qunit and JUnit tests.
- Extended JSP infrastructure to support locale-specific
customization
- Extended Java Servlets for REST API.
- Agile Coaching and Training for Dominos Team.
Technologies Used: JavaScript, AJAX, REST, JSON, Quint, JQuery, Prototype, Pure,
Java, JSP, Java Servlets, Junit, HTMLUnit, Tomcat
HTML, CSS, Subversion, Web Services
Hagerty engagement
- Tech Lead on Hagerty Collector Car Report/Market Profile Application. (ASP.Net MVC Web application built on top of
SQL Server. Data Access using NHibernate and T-SQL Stored Procedures. AJAX Front-End built with JQuery. Administrative back-end
built with Silverlight. Automated Testing with Nunit and Qunit.)
- Agile Coaching and Training for Hagerty Team.
Technologies Used: C#, ASP.NET MVC, SQL Server, T-SQL,
NHibernate, Silverlight, WCF, JSON, Nunit, Quint, WatiN, Telerik Controls, JQuery,
Windows Servers,
HTML, CSS, JavaScript, AJAX, Perforce, XML, Web Services
Computer Programmer, Alliance Inspection Management (Full-time)
Farmington Hills, MI 6/2009 - 1/2010
- Built time tracking system for project estimation. (ASP.Net web application with Oracle backend.)
- Transitioned web site authentication
mechanisms from integrated windows authentication to custom user tracking. (ASP.Net/Oracle)
- Optimized
performance of inspection search system.(ASP.Net/Oracle)
- Implemented inspection sign-off system for
rental fleet buyback program. (ASP.Net/Oracle)
- Built CRM/Scheduler system to integrate with Click Scheduler software to direct field
personnel to set appointments. (ASP.Net/Oracle, plus Web Services
for integration with Click Scheduler.)
Technologies Used: Visual Basic .NET, ASP.NET, Oracle, PL/SQL, Windows Servers,
HTML, CSS, JavaScript, AJAX, Subversion, Visual Source Safe, XML, Web Services
Computer Programmer, Unlimited Ventures (Contract)
Grand Rapids, MI 1/2009 - 3/2009
- Finished and polished the UvUpTime application, a web site monitoring system; both
front-end and back-end. (Perl based web application with SQL backend.)
- Created check
request system. (Perl/SQL)
Technologies Used: Perl, mod_perl, MySQL, LWP, Template Toolkit
HTML, CSS, JavaScript, AJAX, Subversion, Apache, Linux
Programmer/Analyst, Priority Health (Full-time)
Grand Rapids, MI 11/2004 - 12/2008
- Developed data transmission interfaces to share mission-critical business data
with partners (Claims, Eligibility, PCP Affiliation, etc); Extracts were written in Perl or PL/SQL; Data was pulled from Facets, a
data warehouse, or custom tables; Backend was Oracle, with a few using Sybase or MySQL.
- Wrote front-end data collection
applications with Perl, HTML, Javascript and CSS on Apache. Wrote import processes to pull data from vendors; Imports were written
in Perl or PL/SQL, often using XML file formats.
- Developed
and maintained departmental development process.
- Extended
same to enable auditability and comply with SAS-70 requirements.
- Worked across the software development lifecycle; Gathered
and interpreted
requirements for upcoming applications; Regularly evaluated the question of whether to pull
data from a data warehouse or directly from Facets; Pushed applications into production systems; Monitored and maintained
production applications.
- Introduced and championed automated unit testing,
enabling mission-critical applications to be tested without danger of submitting test data
to partners.
- Trained others in Ounit tool for automated testing of Oracle SQL applications.
- Member of
the Code Integration Subgroup, responsible for setting technical
direction for the IT organization.
- Investigated and evaluated Java 2 Enterprise Edition, Ruby, and Interaction-based
testing for same.
- Standardized SQL layer for application integration for same.
- Revitalized critical
pharmacy application (written in SQL, using Facets data,) converting it from
nearly-unmaintainable to clean, understandable code.
- Built mutual-exclusion utility to prevent
multiple imports from running simultaneously (C++ application using COM objects.)
- Code reviewed Facets extension modules in C++ and C#.
- Created and maintained various SQL-based reports for business users, in Oracle Reports, Business Objects and custom generation.
Technologies Used: Perl, Oracle, PL/SQL, Facets, Python, Ounit Testing Framework,
HTML, CSS, JavaScript, C++, C#/.NET, Java, Ruby, Subversion, CVS, Apache, MySQL, Visual SourceSafe,
Oracle Reports, Business Objects, Red Hat Enterprise Linux, HP-UX, Windows Server, XML
Programmer, Digital Systems Group (Full-time)
Kalamazoo, MI 11/2002 - 11/2004
- Developed several web applications for Kellogg, including: administrative entry
application for kelloggs.com, covering products, promotions, and recipes; Written in Perl
against an Oracle SQL data source.
- Front-end for same.
- Intranet sites for document access, travel planning, damaged goods reporting,
change management, and media contact management; Written in Perl or ASP, with Oracle SQL
or Microsoft SQL Server backend.
- Prepared strategy to move existing applications
to Apache and mod_perl.
- Debugged data access problems in JSP
applications.
- Developed Windows CE Data collection application using C# with the .NET
Compact Framework.
- Worked directly with customers on requirements definitions for all programs
above.
Technologies Used: Perl, Oracle, SQL Server, ASP, C#/.NET, HTML, CSS, JavaScript,
Java/JSP, mod_perl, CGI, CVS, Apache, MySQL, HTML::Template, Linux, Solaris, Windows Server, IIS
Software Developer I, Geneer (Full-time)
Des Plaines, IL 3/2000 - 5/2002
- Developed Global Prolinx chemical tracking system including: web front-end,
middleware and services layer, automatic processing agents; Written in Visual Basic,
ASP, and C++ with a COM+ Middleware on Microsoft IIS.
- Database back-end for same; Used Oracle database and PL/SQL stored procedures.
- Included full
rewrite of both front and back-ends, and
performance optimization to scale the system ten thousand percent.
- Enhancements
to scanner software for hand-held devices; Written in C and C++.
- Developed and maintained user
reports; Written with Oracle Reports.
Technologies Used: ASP, Visual Basic, ActiveX, Oracle, PL/SQL,
Code Generation, HTML, CSS, JavaScript, AJAX, C, Java, ClearCase, Oracle Reports, Windows Server, IIS,
Windows CE, Beamer device, Dolphin device
Technologies Used: Ruby, Rails, Ruport, Heroku, HAML, JavaScript, jQuery, HTML, CSS
Graduated 12/19/1999; Computer Science/BGS.