- Projects -

This is an overview of some of the sites I have created for school, for fun, and assorted extra-curricular projects. My professional work is mostly listed on LinkedIn, and not here. In some cases, clicking on the screenshot will bring you to that page, or to a description of how that page was created.

  • Not My Phone

    July 2019

    I really wanted to stop sleeping next to my phone, so I built a bedside clock that shows critical push notifications.

    javascript react cloudflare workers raspberry pi
  • Larkspur Ferry Schedule

    February 2019

    I really wanted a mobile-friendly version of the larkspur ferry schedule, and I also wanted to learn React. This helped me accomplish both.

  • Four Feelings

    May 2013

    Human emotions can be boiled down to four feelings. This is a simple, mobile-friendly counter to let you track your feelings throughout the day. When you think of it, open the page and click the green box representing the feeling you're feeling right at that moment. At the end of the day, look back at the totals and see how you felt. It's an interesting exercise that might surprise you.

    HTML5 LocalStorage AngularJS
  • I've really enjoyed Pivotal Tracker as a development tool, but generating reports for businesspeople to see high-level status was not possible. I built this tool using Sinatra and the Pivotal Tracker API to generate reports that could be emailed out on a weekly basis. They can group by label (to see where we're spending the most resources) and highlight in red or green if we're resolving ore stories than we're creating over a given time period.

    Ruby Sinatra
  • Get Exceptional

    June 2009

    Moving from Ruby to C# left me missing some of the great tools the Ruby ecosystem had relied on, including hosted error tracking. Exceptional was one of those tools, and it did not have a .NET compatible client, so I wrote one and open-sourced it on Codeplex.

  • Jokewars

    November 2008

    Written with Ruby on Rails and MySQL, allows people to battle two jokes together. Uses full RESTful-routing and REST-based techniques. Also developed a Facebook app with the facebooker plugin.

    Ruby Rails MySQL REST
  • Patriots Maps

    March 2008

    This Google Maps mashup plots the Patriots Fan Clubs across the world, and allows you to zoom in, and search for them. It uses the Google Maps API to generate the map, and the Geocoding API to look up the latitude and longitude of new clubs when they are created.

    ColdFusion Google Maps REST XML
  • There are a lot of great bandwidth testers out there (DSLReports, Speakeasy, etc.) but no free/open source solutions I could find. The problem with a hosted bandwidth tester is that your results are subject to their bandwidth. By having one of my own I can drop it on any computer and test the connectivity between them. This project is no longer under development, but I was looking to build more functionality into it, including traceroute utilities and other monitoring/troubleshooting tools… VoIP, QoS, etc. This utility is implemented using a Java Applet with a Swing UI, and it tests uploads by making calls back to a Servlet. It can therefore be conveniently packaged up in a WAR file and dropped into Tomcat as a webapp.

    Java Swing Applet
  • Delivery Scheduling

    December 2004

    Developed a system for scheduling deliveries of motor oil. It uses a DHTML-based front end for manually laying out the schedule in a drag-and-drop fashion. Delivery schedules are projected and arranged based on delivery and consumption history.

    Java JSP DHTML Spring MySQL
  • Book Prices

    February 2003

    This project was originally done as part of the Distributed Object Technologies course, implemented in both CORBA and RMI. I later rewrote it, and it is currently implemented as a web service running under Apache Axis. The concept is simple - there are plenty of price comparison sites, but in order to use them, you have to go visit them. In other words, you either have to do your shopping from their site, or shop at another site and then go to their site to find the product (shop twice). We wanted to create something whereby you can shop at your favorite site, then click a button and see prices at other stores. This application detects what product you’re looking at, then goes out to other retailers and finds their prices in real time (no database required).

    Java SOAP Apache Axis CORBA RMI
  • A list of all the courses I took at CMU from 1997-2001

  • Developed as part of the HCI project course, we built this site for the CMU Athletic Department. It allows students to reserve Racquetball, Squash, Tennis, and Spinning times.

    Java JSP CTL MySQL
  • This is a revamped version of the old front page for the GSIA’s MBA program. The site is used regularly by current students as a portal to different sources of academic information. In addition to development, I was also responsible for the design.

  • Love And Respect

    December 2000

    This site was for our senior Information Systems project course. It is currently online at loveandrespect.com. Our team worked with the client, Dr. Emerson Eggerichs, to create an online presence for his business. We helped him formulate the ideas, architected the system, and implemented it completely.

    ASP XML Microsoft SQL Server
  • Auction Blitz

    November 2000

    For the Intro to Electronic Commerce class we created this site based on some research on auction theory. It is similar in format to ebay, but instead of one auction type we implemented three. It could theoretically replace the current CMU system misc.market because the “sealed bid” option allows people to trade goods instead of simply buying or selling them.

  • Fatdeal

    November 2000

    This site was started as an independent study, but is no longer active at fatdeal.com. It allows online shoppers to look for coupons at their favorite stores. Member features allow people to store coupons in a “coupon wallet”, keep an eye on their favorite sites, and set up coupon alerts based on their preferences. Chalk this up as another failed dot-com.

    ASP Microsoft SQL Server
  • Album Greetings

    May 2000

    This was a project for the junior level information systems project course. It was an online photo album that allowed people to upload photographs, configure and manage multiple photo albums, and share these albums with friends by creating passworded albums.

    ASP Microsoft Access
  • IMC America

    February 2000

    This is the first site Bill and I did for an actual company, which was launched online at imcamerica.com. This was largely an exercise in information architecture defintion, followed by front-end coding and design.

    javascript HTML CSS
  • This site was used by students at Carnegie Mellon's GSIA to report their job offers. Administrative features allow career center personnel to review and verify the offers, and receive nightly e-mail notifications about which students accepted which offers each day.

  • Where Is Bob?

    January 2000

    This site was launched at whereisbob.com and began as a project for Web Business Engineering. It was an online game that allowed visitors to hunt around a map for this character named Bob. If they sign up for membership, they were able to earn points, keep statistics, and store the clues they picked up during the search.

    ASP Microsoft Access