Thom Nichols


Technology is evolution outside the gene pool


Here's a list of the (mostly open source) projects that I've created or contributed to in my free time.  For more details on my "professional" career (e.g. the work I get paid for) see my LinkedIn profile.

Porch Social Widget

This is an Android homescreen widget that shows you Facebook and Twitter stream in a simple scrolling widget. It also lets you quickly post status updates and photos to both networks without opening dedicated apps. Find it on the Play Store.

This was my entry for the Downcity.js hackathon in Providence. It's sort of like a location-based Twitter to find trending events and venues. Built with Node.js, Redis, MongoDB and Google Maps.  Deployed on Red Hat OpenShift.  Find the source on github.

A home automation proof-of-concept using AppEngine, a Raspberry Pi, and an Arduino. Demo running at  Source is on github.

In 2012, I rebuilt the original 'QiRk' QR-code scanning game as a standalone app where anyone can create a game and print out the QR codes necessary for people to play. It also uses responsive design (Bootstrap) to make it easily usable on any mobile device.

This app was used at the 2012 Rhode Island Maker Faire to encourage participants to explore all of the exhibitors, and let them leave with a catalog of the things they saw! Give it a try at!

Marco Polo for Android

Visualize and receive notifications when your friends check-in near you!
See this article for more details.
Available on the Android Market.
Related:  a technical article on handling sensor input. 

The Marco Polo app for Facebook

Similar to the Android app, but as a Facebook app!  Uses HTML5 LocalStorage and location APIs, and the Google Maps and Facebook Javascript APIs.  The app is completely client-side, no requests are made from the app server.

QiRK: a QR code scavenger hunt game

QiRK is a cross-platform browser-based QR game that works for Android, iPhone, BlackBerry and WebOS.  See this article for more details.

This game has been deployed for two local events, the Providence Wooly Fair and Maker Faire Rhode Island!  Unfortunately there's not much to see at the above links since you can't actually play the game without being present at the event for which they were built.  The app also won't look terribly good in your browser since it's formatted for mobile screen size.  These both run on AppEngine.

GMarks: Google Bookmarks for Android

Open source Android client for Google Bookmarks.  The app has 38k downloads from the Android Market.


A comprehensive HTTP & REST client API for the Groovy language. Open source.  Project page.

the Python Web Console

Run Python in your browser!  Share it with others and subscribe to the contributions feed.  Here's an interesting example that someone contributed.  The app itself runs on Google AppEngine.


Many improvements (including the concurrency overhaul) to SleekXMPP - an XMPP client in Python.


Bloog is a heavily modified blog engine for AppEngine.  Article with details of enhancements.

Category: Portfolio