A lab that ships many small applications needs a different set of tools than one shipping a single product. These are the ones I built for the Knight Lab.
git-deploy
Deployment as git subcommands. git deploy sends a project to an environment-specific Ansible configuration; git secrets manages its ansible-vault secrets. Underneath is opinionated scaffolding over Ansible: Ansible knowledge helps when debugging but is not needed to deploy.
Provisioning
Provisioning and configuration management for the lab's AWS infrastructure, so that standing up a new project's environment is a documented process: CloudFormation templates from 2013, SaltStack from 2014, and Packer and Terraform later.
Textractor
A service for extracting the content of a web page: the article, without the navigation, promotions, and boilerplate around it. Nearly everything downstream that reads the web needs this first.
Hash#Tagger

Hashtag recommendation for tweets, from 2012, when reach on Twitter depended heavily on the tags a message carried. Compose a tweet with a link to a news story, and it pulled the story's keywords, found the hashtags in use for them, and offered them to add to the tweet.
Bonfire
Twitter-based content curation for a circle of users: what the people around you are reading, in place of an undifferentiated timeline. Seeded with up to fourteen accounts, it expanded that universe, collected what they tweeted, and ranked the linked content. A 2014 collaboration between the Knight Lab and Nieman Lab, after Nieman's Fuego, built with Liam Andrew
Liam AndrewTechnology lead in the American Journalism Project's Product & AI Studio, helping nonprofit newsrooms with technology and AI. Formerly led product at The Texas Tribune; a Nieman Lab Google Journalism Fellow and MIT Comparative Media Studies graduate.LinkedIn ↗.
