Oregon Historical Society
These sites were developed in partnership with Portland State University over the past 10+ years. I’m maintaining the sites and building new features.
- Tech: Python 3, Django, Postgres/PostGIS, Angular, Bootstrap, jQuery, OpenLayers
- Deployment: CentOS 7, Apache/mod_wsgi, Ansible
A map-based interface for Trimet‘s TransitTracker. The site is currently a prototype, but it works well enough for me that I’ve been using it exclusively instead of TriMet’s site. I have plans to add features such as saving stops and stop groups (e.g., work, home).
For this project I decided to forgo using an ORM and instead write raw SQL, with a thin query wrapper around common operations.
- Tech: Node.js, Express, Postgres/PostGIS, React & Redux, OpenLayers, Mapbox tiles, Trimet Developer API
- Deployment: Ubuntu, Nginx, pm2, Ansible
In the mid-to-late 2000s, byCycle.org was somewhat well-known nationally for being one of the first online bike-routing tools in the US.
Without a sustainable business model and after Google Maps added biking directions, the site languished. Currently it’s in an experimental state using OpenStreetMap data for address lookup and routing.
- Tech: Python 3, Postgres/PostGIS, React & Redux, OpenLayers, Bing Maps tiles, OpenStreetMap data
- Deployment: Ubuntu, Nginx, uWSGI
A few years ago, I started writing a resource oriented Python 3 web framework just for the experience. I wanted to make something RESTful, with resources as a central concept instead of “controllers” and/or “views”, which don’t seem particularly well-defined in web apps. I think the framework is fairly well designed, but maintaining a framework is a ton of work, so I only use it for side projects (e.g., it’s used by byCycle).