I’m an engineer at DoSomething.org. For the past 2+ years, I’ve been the tech lead of our chatbot, responsible for:
Architecting and implementing the chatbot CMS and API for integrating with internal DoSomething APIs (users, campaigns, and user campaign activity) and external APIs (Twilio & Slack for sending and receiving user messages, Contentful for chatbot content)
Building out an internal web admin dashboard in React
Prior to the chatbot, I’ve led engineering for a few other DoSomething projects:
DoSomething.org iOS app – A hybrid Objective C and React Native iOS app for integrating with internal DS user, campaign, and campaign activity API’s. Also built a news feed CMS and API with WordPress for mobile app consumption.
- Note: the DoSomething apps are no longer available in the Apple or Google App Stores.
SMART Recovery iOS app – I took a one month sabbatical while at DoSomething.org to volunteer at SMART Recovery, designing and implementing an iOS version of a paper worksheet used for addiction recovery.
Phoenix - A DoSomething.org PHP/MySQL Drupal 7 application that we now consider “the monolith”. I architected and developed the backend for the Campaign and Campaign Activity components of the DoSomething platform from scratch, after reviewing and maintaing the legacy platform inherited from a third-party agency.
Here some a few links to DoSomething docs I’ve written:
Documentation: Chatbot campaign message templates – Editors’ guide to configuring chatbot campaigns to collect various types of user activity (some campaigns require users to submit a photo, others may simply require a text answer to a question)
Technical spec: Automating chatbot campaign completion reminders with Customer.io – Sending automated messages to DoSomething users to remind them to complete volunteer campaigns they have signed up for via chatbot
Technical spec: sSpporting multiple chatbot conversation types – Implementing the chatbot campaign templates in Contentful and exposing via chatbot API
- Chatbot API - points of entry for chatbot conversations, with integrations per route
- Chatbot replies - how the chatbot replies, with related integrations