Ben Judson # principal software engineer

I’m a software engineer who cares about craft and collaboration. I build software that supports healthy engagement with creative culture.

I have spent most of my career building web applications using Django and React. I’m comfortable leading large projects, designing systems, mentoring, communicating with stakeholders, as well as writing Python, JavaScript/TypeScript, raw SQL, CSS, Bash scripts, combing through observability tools and logs, and many other random skills that keep a product humming along.

Projects

Summaries of some key projects that demonstrate the range of my skill set:

Alexandria: At Literati, I built an internal service to collect and manage metadata for the entire book inventory (~6,000 titles). This service aggregated data from internal and external sources (consuming internal data from Google Pub/sub, and external data primarily from Ingram's XML book API), flagged missing data and anomalies, fed it to internal ML services for automated curation, and included a faceted search interface. It was used by about 40 internal stakeholders in curation, product, marketing, operations, and data science. I designed and built this service from the ground up using Django, React, GraphQL, and Google Pub/sub, wrote documentation for internal stakeholders, and on-boarded other engineers to maintain and extend the service.

Book tag taxonomy: As Alexandria grew to maturity, conversations with stakeholders led me to realize that the schema-less tagging system we developed for machine learning-based book curation was not well suited to other uses. I gathered stakeholders from product, design, curation, data science, and marketing teams to develop a new taxonomy for book tags. I led the development of a new tagging system that was more structured, more flexible, and more user-friendly. I built tools into Alexandria to remove useless tags, merge duplicates, and analyze the distribution of tags across the inventory. I worked with the data science team to ensure that the new schema would perform well with the models, and with curation to ensure that the new schema would be meaningful and useful for customers.

Literati book clubs: I build the web client UI for Literati’s online book clubs, collaborating closely with one front-end engineer, and a UX designer. This app included threaded discussion forums, notifications, account management, and reading stats. We used TypeScript, React, and GraphQL.

Lingo API: At Lingo, I re-architected the API to reduce latency and increase reliability. This is a RESTful API built using Flask and SQLAlchemy that serves web and native iOS clients. I collaborated closely with an iOS engineer on this project, and helped him ramp up his Python and SQL skills as part of the process. The design of this API is discussed in some detail in this Medium post.

wabiStory: This was a solo passion project I worked on while freelancing in 2013. I created a mobile app using Sencha Touch and PhoneGap (aka Apache Cordova) that allowed artists to place audio recordings in physical locations. Users would only be able to hear the audio if they were physically present at the location. The mobile app allowed creating the recordings and saving them at a location, and also UI for discovering and listening to recordings, with a walking directions feature (using Google Maps API). This app was released in the Apple Store and was used by a small community of artists in San Antonio, TX.