Red Emma's has developed a number of free software programs to help carry out our operations, which we are happy to contribute to the digital commons.


Our first point of sale system, used for nearly a decade, and written to support the needs of a tiny low budget retail establishment that needed to track inventory well enough to do effective consignment and construct intelligent orders from a massive amount of independent book vendors.  Written in python, with a GUI fronted and a web backend.  Totally and completely obsolete, and you shouldn't use this, although it's very possible that a number of infoshops around the world still do. 



We learned a lot from infoshopkeeper, and when we decided to expand Red Emma's, we rewrote it from scratch as a modern Ruby on Rails web application, capable of better modeling the way bookstores need to work, supporting neat collaborative order building, building in all sorts of sophisticated analytics, and providing us with a basic web cms.  You are looking at it right now.  It's awesome, although had we any sort of budget for software development the whole time we were writing it we'd probably have abstracted out the Red Emma's specifics from the system a little more!



After banging our heads against recalcitrant Drupal plugins for a year or two, we decided to rebuild the website and course scheduling system of the Baltimore Free School as a Ruby on Rails app.  It works ok, although probably is due for a rewrite soon.  



This one is fricking amazing.  When we started Red Emma's, we scheduled on a wiki, with an incredibly patient former collective member entering a maddening amount of pipe characters into a textarea to construct the weekly grid in a way that everyone could see it online (Remember, this is back in the day.  Google Docs didn't exist yet!).  We quickly moved to an unnamed piece of hacked up software in some primtive early version of Ruby on Rails and a mess of the ugliest Javascript you have ever seen that we happily used internally for many years but were always too embarassed to release into the world.  But overtime, as our structures around compensation and member capital contributions became more complicated, and as we grew from a project that would have one or two people on shift at a time to a project where it's not uncommon to have eight or ten people working across multiple different workgroups, we needed something more robust, and that would meet the drag and droppy expectations of all the younger folks now working in the project.  


If you'd like to use some of this software, but don't know where to start, or need custom programming done to adapt it to your needs, we can probably work out some kind of consulting contract. Get in touch at