Sample Projects

Growing Furniture Repair Company
From a small regional player to a recognized national leader
Their software evolved rapidly to meet the changing business needs

This company started with one man repairing furniture in New York. Over time, this entrepreneur began hiring and training employees regionally. This required a layer of management -- someone to collect the work orders, bill for them, call the customers, and to plan each technician's route. He found a web developer who started a Rails application for him. - After a fall-out with their original developer, they came to me. Their site had been without maintenance for months. There were unresolved bugs that were starting to be a source of daily frustration. Since it was critical to their business, they needed someone they could trust to resolve their outstanding issues quickly and without causing further problems. There were some automated tests in place but I beefed up the quality control aspect of their software as resolved bugs and discovered more about their business model. - After a few weeks of urgent fixes, we were able to transition to writing new functionality again. As they grew, they increasingly relied on this software, leaning on it to support new operational initiatives. Eventually we went to the next level and started using the app for operational awareness by writing reports, creating alerts, and adding additional numbers to their dashboard.

I acted as the defacto lead engineer for this project. I worked directly with their head of operations on a daily basis. Sometimes she would come to me with specific functional needs. But just as often, she would come to me with their business problems and delegate the solution-ing to me. This allowed her to focus on the business rather than the technical aspects of the website.

Over the next 10 years, their app became the centerpiece of their national operations. They grew as much as 30% per year, thanks to our combined efforts.

We release new features almost every week -- from automating something that was previously done manually, to giving management new visibility on their processes through reporting, to supporting new business objectives.

Operations Dashboard
This dashboard is my attempt to give this team better, more timely visibility into their operations.
Furniture Repair Rails App Screenshot
We started off collecting basic information. Then we were able to get higher-level visibility about profitability and success rates.
Furniture Repair Service Order View
The service order page is dense with information, but is structured so that users can quickly see what's happening.
Concierge Medical Consultations
Enhancing the delivery of high-end proactive medicine
Supplementing the terrible presentations from EMRs

This medical application was created for a concierge physician in New York City. He wanted a more sophisticated presentation for his high-end patients. He was dissatisfied with what was available from EMRs. So he began writing content about each test performed by his clinic, plus extensive introductions and other content. We started by generating a PDF that combined his text with patient results.

Together, we added many features that attempted to help patients own their health. For instance, my client would often get on his soapbox to complain about 'normal range' medicine... that is, having providers believe that any results within the 'normal' range (which means 95% of the population) don't need any kind of intervention. He believed strongly that you should proactively take steps (preferably starting with lifestyle changes) to mitigate or treat results that were borderline, or even on the low end of healthy. Despite this, he didn't have a solution. But I knew it bothered him.

After thinking about his concerns, I was to take this criticism of the industry and to convince him to create more diagnosticly useful ranges. Now instead of 'Norman' and 'Abnormal', we had <code>optimal</code>, <code>healthy</code>, <code>borderline</code>, <code>disease</code> and <code>critical</code>. We used these to create 'spectrums' where patients could visually see where their values fell. We then turned those five ranges into letter grades, which in turn helped to generate a report card. Not many people know whether 5000 cells/┬ÁL is a good value for white blood cell count. But if I said you had an A, you'd be happy.

This app has collected hundreds of datapoints for thousands of patients and over 10,000 timepoints. Some of the data is used to do some predictive math about how patients are aging, which is then presented in a spectacular report.

I developed the technical architecture from concept to production, and went through several major versions. During this time, the software has transformed into an extensible, secure platform capable of delivering service to thousands of simultaneous users.

Over the years, I led product development efforts to add features that enriched the experience for both physicians and patients. In particular, I convinced my client to add a second kind of presentation (built on top of our existing data layer) which was more like powerpoint than a PDF report. It was an interactive dashboard that redefined how patients interact with their health data.

In order to manage all of the content used by our reports and our analytics platform, including spectrum values, references to medical literature, descriptions of tests, and much more, I built a custom content management system. I created an API between this <code>lexicon</code> and our reporting system. I integrated with medical laboratories like LabCorp and Quest to automate the process of ingesting sensitive health data into the platform. Throughout this process, I served not just as the developer but also the analyst who determined what to build to solve business problems, the architect who determined how to build it, and the CTO who determined how to deploy these solutions in real-world environments and maintain the operations of the platform.

In 2018, this company began a joint venture with a national pharmacy. We're transitioning development responsibilities to that team. I wish them well as my time with this team ends.

Offshore Staffing Agency

This project was planned and written by another developer. For various reasons, the relationship soured during development and the project was never delivered to the client. I took over the existing design, rewrote it in Rails, and worked with the client to streamline some of the ideas that seemed like they might provide less actual value over time. This reduced the number of moving parts, and with it, the delivery time. Over time, we continued to reduce complexity, but added other features that provided even greater value.

Medical Vacation Startup
Disrupting the traditional medical pricing model

A previous client referred this entrepreneur to me. His idea was a bold one that took advantage of the masses of medical data provided by the government. He wanted to find a way to negotiate with providers, anestheticians, and facilities across the country, and eventyall the globe, to provide a final price for a medical proceedure. We could then match a patient with competitive prices for an elective proceedure.

I worked with another developer to create a back end API that managed all the data and concepts for the software. We used an extensible API schema called Collection+JSON. During this time, we added to collection+JSON open-source tools both for Ruby and for Javascript.

Unfortunately, due to a number of roadblocks, this project never made it to production.

Online Inventory System
keeping inventory records safe from loss or destruction

My client was a web design firm that needed to temporarily ramp up their capacity. They were looking for an experienced Rails developer to take over in the early stages of a new project. Challenges on this project included constant fine-turning by the end-client resulting in constant scope-creep, on-again off-again communication with the end-client resulting in weeks without activity followed by a flood of work, and some technical challenges including dealing with memberships and rounding corners with paperclip.

DemocraThings Prototype
From concept to proof-of-concept in 10 days.

My client asked me to turn their business idea into a functioning prototype in just 10 days so that it could be shown to potential investors. We were able to accomplish a large amount of work in a short time by using pre-built parts and rapid feedback cycles.

Australian Real Estate Showcase Site

My client manages listings for real estate agents in Australia. They created a rich API over the years, which they were in the process of transitioning to Rails. This project involved gathering information from their API and showing it in a variety of formats (since their clients each wanted distinctive websites.)

There were two significant challenges on this project. The first was that they were "doing Rails wrong." They were rewriting it from PHP, and had unintentionally brought along much of the baggage they were trying to escape. I was only mildly able to convine them of REST... but I learned alot from that experience.

A more technical challenge was sycronizing local data with an API. If the API deletes data, what do I do with my local information? etc.

Photography Studio Marketing Site (Backend + API)
Two Rails developer, a flash developer and a project manager walk into a bar....

Working with a team of four, we created a website for one of the trendiest photography studios in Los Angeles, Siren Studios. The front-end is all flash. The back-end is Rails, including Paperclip for storing and resizing images, authlogic for authentication, and Enki for light-weight content management. The flash gets all its content from XML feeds managed and rendered by Rails.

Prospecting in the Dropped Domains market

Every morning, this application retrieves a list of expiring domains, issues web service calls to Yahoo and Google to check for SEO value, categories the domains by keyword, and uses all that information to create a customized report for our target audience. The biggest challenge on this project was finding a way to process 10s of thousands of entries in a timely manner.

E-Commerce Website
My first real programming job!
I lead a team that tripled sales by taking advantage of a whole new marketing medium. The web thing.

My first real web application was working on www.massageking.com. The company sells massage tables, charts, videos, massage lotion, etc., to massage therapists, chiropracters and day spas. The site was written in a framework we created with PHP.

Previously the company focused all of their marketing on ebay sales and on magazine ads. While successful, they had plateaued. We created the site from scratch, since either the tools didn't exist at the time or we couldn't find any that met our search-engine-friendly criteria. It was a good time and a huge success.