Matt Makai - Python web dev & Twilio Developer Evangelist.

@mattmakai on Twitter & GitHub

Tech Talks


The Missing Operator's Manual for Python Static Site Generators

Static site generators merge content written in a markup language with a template engine to produce output files, such as HTML. This talk will teach you how Python-based static site generators work, when they are a solid implementation choice for your own projects, and how to handle both the content and traffic at scale. We'll use the Full Stack Python website, which is read by millions of developers per year with hundreds of pages of content, as one of our examples throughout the session.

Potential talk for several upcoming Python conferences and events.

Developer-Led Sales for Startup Founders

Software developers that know, use and love your product can be evangelists for you in their organizations. In this session, you will learn whether a developer-led sales model will work for your initial company goals and how to connect your strategy to realistic metrics. We'll also cover how to properly explain and market your product so that you do not piss off developers you hope will support you in prospective sales deals.

Upcoming talk for Ubiquity Ventures portfolio founders, investors and advisors on June 26th, 2019.


How to Explain Your Products to Software Developers

Talk given during Ubiquity Ventures Summit at Silicon Valley Bank in Menlo Park, CA on May 25, 2018.


DevOps, Continuous Delivery... and You

What is DevOps and why does it matter to you? Learn how how DevOps relate to Continuous Delivery and what tools and concepts you can use to apply them in your organization.

Class taught for the M.S. in the Management of Information Technology program at the University of Virginia on November 2 and November 4, 2017.

Voice Hacks with Phone Calls using Twilio

Learn how to use Twilio's Voice API to build voice-based hacks during this hands-on workshop.

Workshop given at VoiceHacks DC in Arlington, Virgina on July 10, 2017.

Adding Phone Calls & Text Messages Python Apps with Twilio

Learn to use Twilio's APIs to easily add communications, such as phone calling, messaging and video, to your Python applications. We'll walk through live coded examples that you can immediately use in your own applications for 2-factor authentication (2FA), phone-calling Slack bots, video chat services and many other useful features.

Talk given at Python Frederick in Frederick, Maryland on June 14, 2017.

Adopting the Right DevOps Tools for You, Your Team and Your Organization

Creating, deploying and operating applications in 2017 is both easier and more complicated with the proliferation of configuration management, containers, microservices and continuous delivery tools. We'll learn how to ignore the complexity of the tools by asking ourselves a dozen time agnostic questions about software development.

Talk presented at Devoxx 2017 in San Jose, CA on March 22, 2017.

How to Choose the Right DevOps Tools for You and Your Team

Coding and deploying applications in 2017 is both easier and more complicated with the proliferation of configuration management, containers, microservices and continuous delivery tools. We'll learn how to ignore the complexity of the tools by asking ourselves a dozen time agnostic questions about software development.

Talk given at Oracle Code SF in San Francisco, CA on March 1, 2017.


A Rapid-fire Overview of Python Static Site Generators

A speedrun through the static site generator concept and the philosophies behind several Python-based implementations.

Lightning talk presented at SF Python: Holiday Party edition in San Francisco, CA on December 8, 2016.

R2-D2 or Skynet? Combining Slack Bots with the Twilio API

If you've ever had the pleasure of coordinating a large team's activities on a project, you know scaling communication between team members quickly becomes a chore. What if we could build a Slack bot to automate that communication via Slack messages, SMS and voice calls? Come to this session to learn whether the bot being live coded in Python becomes our new best friend or a heavy handed robot overlord.

Talk with Don Goodman-Wilson of Slack given at Twilio Signal Conference 2016 in San Francisco, CA on May 24, 2016.


How to Leverage Media for Your Startup

Panel at the Wix Developer's Lounge with Leah Culver of Dropbox and Wix's David Zuckerman in San Francisco on May 13.

Choose Your Own WSGI Deployment Adventure

From servers and proxies to configuration management, the Web Server Gateway Interface (WSGI) deployment ecosystem is complicated for new developers. This choose your own adventure talk contains decision points for the audience to choose topics via text and email votes. Each choice leads down a separate path to explain different confusing WSGI subjects. Bring your phone or laptop to participate!

Talk given with Kate Heddleston at PyCon 2015 in Montreal, Canada on April 11.

Don't Make Us Say We Told You So: virtualenv for New Pythonistas

Even though it’s possible to program multiple Python projects without using virtualenv, you can shoot yourself in the foot without them. This talk will start with an illustration of how not using virtualenv can mess you up as a programmer, and will walk you through a simple way to get started with good habits using virtualenv.

Talk given with Renee Chu at PyCon 2015 in Montreal, Canada on April 10.

Async Flask Web Apps with WebSockets

Curious about how to build WebSockets into your Python web applications? In this talk we'll start from a blank environment and build up to an entire running application that allows for real-time audience voting.

Presented to Django District March meetup in Washington, D.C. on March 17.

Asynchronous Python Web Apps with WebSockets and gevent

Why should Node.js folks have all the asynchronous web application fun? In this talk you'll learn how to use WebSockets with Python, Flask and gevent to build full-duplex communications into your web apps. We'll live code from a blank file to a completed app that updates vote counters in a web browser via WebSockets without page refreshes.

Talk given to SF Python on January 14 in San Francisco, CA at Yelp headquarters. There's a blog post and open source GitHub project that accompany this talk.

~30 talks done in 2014

Learn the Twilio Web API in an Hour of Code

No slides but the walkthrough steps are available on this blog post.

Talk given at Women Who Code DC on Tuesday, December 9 in Washington, D.C. during An Hour of Code week.

Web APIs, Exponential Growth and Your Career

Public web APIs are proliferating exponentially, from just 50 in 2004 to over 14000 in 2014. In this talk you'll learn what you need to know so your career benefits from these trends. Find out the attributes of successful API programs and how to improve your development skills to take advantage as web APIs grow increasingly important to businesses.

Talk given at QCon SF 2014 on Wednesday, November 5 in San Francisco, CA.

Flask, Reveal.js and WebSockets Workshop

We'll work together to create a "Choose Your Own Adventure" presentation with Reveal.js, Flask, Websockets and Twilio SMS.

Workshop given at Hackbright Academy on Monday, November 3 in San Francisco, CA.

Web APIs, Exponential Growth and You

Publicly accessible Web APIs are proliferating exponentially, from just fifty in 2004 to over twelve thousand in 2014. This talk will cover what web APIs are, how they work and why they are becoming increasingly important to every business. Software developers will also find out what they need to learn about web APIs to ensure their careers benefit from these trends.

Talk for I/OWA Conf during Des Moines Tech Week on October 16, 2014 in Des Moines, Iowa.

Twilio Workshop for Des Moines Tech Week

No slides used for this talk.

Workshop given during Des Moines Tech Week on October 14 in Des Moines, Iowa at Gravitate.

Twilio Workshop for HackMIT

No slides used for this talk.

Workshop given at HackMIT on Saturday, October 4 in Cambridge, Massachusetts.

Full Stack from a Python Perspective

Understanding the full stack involves a significant amount of server side development despite the increasing popularity of front end MVC frameworks. This talk shows that "full stack" is about having your software developers trade depth for breadth. In addition, we'll cover what the server side stack looks like for Python web application deployments and why web APIs are increasingly important for the full stack trend.

Quick 10 minute talk given at MoDev meetup on Monday, September 16 in Tyson's Corner, Virginia.

Developer Evangelism

Inteview at I Love APIs Conference 2014 in San Francisco, CA on Tuesday, September 9.

Choose Your Own Django Deployment Adventure

From WSGI servers and reverse proxies to continuous integration and automated configuration management, the Django deployment environment is a complicated collection of tools for developers new to the framework. This talk explains the most confusing Django deployment topics as chosen by the audience in real-time via text message votes. Bring your phone to participate!

DjangoCon 2014 talk with Kate Heddleston performed in Portland, Oregon on Thursday, September 4, 2014.

Solving Django's Top 5 Enterprise Headaches

The top five Django problems in large enterprise organizations are integrating with Active Directory, passing security audits, transferring data from legacy systems, installing packages from PyPI through proxy servers and combating misperceptions around dynamically typed programming languages. We'll solve these problems with code and resources to back up arguments to enterprise stakeholders.

Talk given at DjangoCon 2014 given in Portland, Oregon on Wednesday, September 3, 2014. There is a video available for this talk.

Web APIs, Exponential Growth and Capital One

Publicly accessible Web APIs are proliferating exponentially. Power laws explain many of the current trends with that exponential growth. What are those web API trends to be aware of and how can you as a software developer steer your career so you are aided by the growth instead of futily standing in the way?

Talk presented to Capital One on August 25, 2014 in Richmond, Virginia.

Inspire and Equip Developers with Your API Demo

Your organization has poured an incredible amount of time, energy and money into building a web application programming interface. Now comes the hard part. How do you inspire and equip software developers in five minutes so they are not only excited but also prepared to use your API?

Talk given at DC Web API Group in Washington, D.C.on Wednesday, August 20.

Full Stack Python

There has been a lot of noise about being a "full stack developer" recently. What does the full web stack look like for Python and how do you go about learning each piece?

This talk will guide you up the layers from the server that handles the web request through the JavaScript that executes on a user's browser.

Talk given at EuroPython in Berlin, Germany on July 22. There is a talk video available.

Ansible Resources

This short talk explains the Ansible equivalent concepts to Chef's cookbooks and Puppet's manifests. It also go into beginning learning material, more advanced scenarios and a real world deployment playbook for EdX.

Lightning talk given at NoVA Python on June 19 in Reston, VA.

Deployed in 60 Minutes

Software end users demand to know: why did you tell them a feature was "code complete" but they won't get to use it until it's deployed months later? Why is it so difficult to perform production deployments in most organizations?

This talk will explore why deployments are so difficult and show solutions with case studies for how other organizations cut their production deployment times down from months to every hour.

Talk given at QCon NYC on June 12 in Brooklyn, NY.

Full Stack Python: Take One

This talk is a high level overview for developers new to Python web development and need to understand how various web stack layers fit together. The content is based on information from the open source guide Full Stack Python. This DC Python version is a preview of the talk that will be delivered at EuroPython 2014 in Berlin.

We'll cover what web developers need to know about virtual servers, web servers, and WSGI servers, what web frameworks provide, the important parts of a web application to monitor, how to handle static files and conclude with resources to learn more about each layer of the Python web stack.

Talk given at DC Python meetup in Washington, D.C. on June 3.

Ansible Notification Modules

Immediate notification when a deployment step has issues is critical for efficient continuous delivery. This talk walks through the available Ansible core notifications modules library. You'll learn how to easily integrate various notification types into playbooks, especially the brand new modules that come with Ansible 1.6.

Talk given at AnsibleFest NYC 2014 in New York, NY on May 20.

Creating a Web App Around Existing Statsmodels Code

How do you build and deploy a web application for a project that uses the Statsmodels library? This talk will step through how to use the Python web application framework Flask to wrap a simple web application around existing Statsmodels code. You'll then learn how to deploy the project to remote servers so it is accessible through the Web.

Upcoming talk to Statistical Programming DC in Washington, D.C. (exact date TBD).

Hacking Your Build Process with Ansible

What're the most fun and useful build hacks you can do with Ansible? You'll find out during this talk how to receive an SMS alert during lunch if something goes wrong with your latest build, hook your build pipeline into analytics infrastructure such as New Relic, and automate build status phone calls to micromanaging bosses. You'll learn how a few extra lines of code in your deployment process can make your developer life a whole lot easier.

Talk given at DC Configuration Management Group in Arlington, Virginia on March 26.

Effective Software-to-User Communication

There are many options for communicating with users. Where should you begin when you're evaluating adding push notifications, emails, text message alerts, and voice calls to your application? This talk will cover when it is appropriate and effective to use certain forms of communication as well as how you integrate those methods into your application.

Talk given at the Neon Guild meeting in Charlottesville, VA on the evening of March 11.

Automated Deployments with Ansible & Fabric

This talk will show how to automated Linux and Python stack deployments with Ansible and Fabric. You'll learn how to apply these libraries to your project and see how to use Ansible Playbooks with tasks, handlers, and templates to go from a bare Linux installation to a running Python web application.

Talk given to the Center for Open Science in Charlottesville, VA on March 11 at lunch.

Finding, Evaluating, and Integrating External APIs

Modern software applications combine custom code with third party APIs, such as Twilio and Stripe, to create a complete product. Choosing the right services for your application can make or break its usefulness to users as well as your sanity during maintenance. This talk will show you how to find, evaluate, and integrate external APIs to maximize their value in your software application.

Upcoming session at Capital One's internal API Summit on March 5 in McLean, Virginia.

DevOps: Adoption through Culture, Automation, Measurement, and Sharing

The DevOps movement is built on a real need in the software development community: how to rapidly deploy Agile teams' dramatically increased output into production. This talk will show the advent of the DevOps movement and provide greater understanding based on the Culture, Automation, Measurement and Sharing (CAMS) framework. The audience will leave this presentation with immediate actions to drive DevOps adoption within their organizations.

Upcoming talk at ADAPT on February 20 in Arlington, Virginia.

How to Win Friends and Influence Hackathon Judges with Twilio

What is Twilio and how can you use its API to win at hackathons? Almost any web or mobile app can be made better by integrating text messaging or voice calling into its functionality. Twilio gives you the power to reach the audience and judges during your demo. It's also easily integrated within a few minutes, which is key at time constrained events like hackathons.

Postponed due to inclement weather in D.C. on February 15. Talk was to be presented at CodeDay DC in the Dupont neighborhood of Washington, D.C.

Making Dev + Ops Work

Getting DevOps to work in any organization is difficult because developers speak a different language than ops. This talk focuses on bridging the divide between the application developer and system administrator perspectives, improving infrastructure incrementally, and showing progress to skeptical non-technical colleagues in a 'because we've always done it that way environment.

Talk presented on January 22 to the Financial Industry Regulatory Authority (FINRA) on January 22 in Rockville, Maryland.

Fully Automated Django Deployments with Ansible

This talk will show how to fully automated Linux, Nginx, Gunicorn, and Python/Django stack deployments with Ansible (and a little bit of Fabric for ad hoc tasks). This talk will dive into an open source Django project and show how to use Ansible Playbooks with tasks, handlers, and templates to go from a bare Linux installation to a running Django web application.

Tech talk given at San Francisco Django on Tuesday, January 14 hosted at Yelp headquarters. There is a video available of the talk.

Txt 2 React: Instant Presentation Feedback From Audience Text Messages

Txt 2 React is an open source web application I built to facilitate immediate feedback from an audience during a presentation. The app is written in Django and easily deployable to virtual private servers by using Ansible. Txt 2 React uses the Twilio platform to provision phone numbers for feedback collection through the audience's text messages.

Talk and demo presented on January 8 at Twilio headquarters in San Francisco.

14 talks from 2013

Static Sites With Pelican

Pelican is a Python-powered static website generator that combines a markup language such a ReStructuredText or Markdown with Jinja2 templates to output HTML pages. Those pages combined with CSS, images, JavaScript, and third party services can be hosted for free or low cost on services such as GitHub Pages or Amazon S3 with CloudFront. This talk goes over what Pelican does and how it can help you instantly scale a static website to virtually unlimited traffic for free.

15 minute tech talk presented at Twilio on November 8 in San Francisco, CA.

An Introduction to Sending SMS Texts with Twilio

Text messages are one of the best communication methods for sending time sensitive information and alerting users to take immediate action. Twilio makes sending Short Message Service (SMS) messages easy with a few lines of code. This talk walks through the Twilio service, sign up process, API, Python library, and how to easily integrate sending text messages into a new or existing Python application.

45 minute talk presented to DC Python on October 22 at in Washington, D.C.

DevOps Deployments-as-a-Service

What are the best software-as-a-service platforms for building and deploying your code? How can they help you quickly get a project off the ground and sustain best practices as your codebase continues to scale? This talk answers these questions and more by introducing you to services such as Circle CI, Travis CI,, Code Climate, and many others, which take the burden off setting up the infrastructure yourself. The talk will balance out the discussion with the downsides to these platforms and ways to avoid being locked in to declining providers.

Presented to DC Continuous Delivery on September 25th in Arlington, VA.

Making Django Play Nice With Third Party Services

Modern Django projects combine custom apps with third party services, such as Twilio and Stripe, to create a complete product. Choosing the right services for your application can make or break its usefulness to users as well as your sanity during maintenance. This talk will show you how to properly evaluate, integrate, and maximize what you get out of SaaS products in your Django projects.

Talk given at DjangoCon US on September 5th at 10am in Chicago, IL. There are pictures of several DjangoCon speakers including myself in this blog post.

Python Lessons Learned From Roadtripping the US

DjangoCon 2013 lightning talk with lessons learned for the Python community from my adventures road tripping the US for 5 months to 30 cities.

Lightning talk given at DjangoCon in the morning session on September 5th in Chicago, IL.

Making Django Play Nice With Third Party Services: Take One

Modern Django projects combine custom apps with third party services, such as Twilio and Stripe, to create a complete product. Choosing the right services for your application can make or break its usefulness to users as well as your sanity during maintenance. This talk will show you how to properly evaluate, integrate, and maximize what you get out of SaaS products in your Django projects.

Trial run of my DjangoCon presented at Django District on August 27th in Washington, D.C.

Staying Sane While Taking Over An Existing Django Codebase

How do you quickly get up to speed on an existing Django project codebase? You're eventually going to run into a large unfamiliar codebase whether you're the new developer on a team with an established codebase or just working with code you wrote awhile back. This talk covers steps you absolutely must take to identify and triage existing issues, stablize the codebase, and gently guide the project towards "this is amazing!" status.

Talk given at Boston Django on July 31st. There is a video available for this talk, a summary with pictures on my Coding Across America website, and a detailed blog post on the topic.

Making Your City's Developer Community Awesome

What differentiates tech communities in cities across the United States? How do you make your community rally around a programming language's ecosystem and spur genuine excitement every time your group meets? This talk will show you what the best tech communities do right (hint: it's not city size that matters), what mistakes they need to correct, and how Omaha can continue building momentum for its developer community.

Talk given at Omaha Python on July 1st. Unfortunately, the audio did not come out well so the video was not published.

Coding Across America Lessons for EvoNexus Entrepreneurs

What can EvoNexus startups learn from other startups and ecosystems across the country? This talk will focus on what Matt Makai has seen from the previous ten cities in his Coding Across America road trip. The format will be an open discussion based on the San Diego startup community's most pressing concerns and questions.

Talk on April 26 given at EvoNexus in San Diego for current incubator entrepreneurs.

Git and Github Workflows

What are the strengths and weaknesses of using Github for varying development team configurations? This talk will cover topics such as creating a canonical repository to have development team members fork from, handling code reviews through pull requests, and creating separate branches for testing and production deployments. This programming language-agnostic talk draws upon work with both co-located and geographically dispersed teams at the Consumer Financial Protection Bureau, the George Washington University, and Motley Fool, some of which was recently covered in this article by Wired.

Presented at Memphis Python on March 25, 2013. Pictures from the presentation.

Coding Across America at PyCon

Lightning talk presented at PyCon given by my colleague Andrew Baker in my absence.

Beyond Hello World: Python in Industry and Academia

Beyond "Hello World": Real Python Use in Industry and Academia. What is Python used for throughout industry and academia? How can you learn parts of the Python ecosystem to create a skill set appealing to employers? What do experienced Python developers look for when hiring new developers for their teams? This talk will cover these questions and give you a great list of Python resources to learn more after the talk.

Presented to the George Washington University Computer Science department on March 1, 2013.

Heroku Deployment Workflows for Django Projects

Heroku provides a well tested platform for quick Django deployments through Git. This presentation will present a quick overview of Heroku's Cedar stack, how you deploy a Django project to Heroku, and Fabric code to automate the deployment process from your local environment or through continuous delivery with Jenkins.

Presented to django-district on February 12, 2013. There is a video available for this talk.

Everything I Wish I Knew as JMU Computer Science Undergrad

You majored in computer science to learn how to program awesome projects. Instead you're stuck in class trying to figure out the difference between little endian and big endian ordering on Windows versus Linux. This talk will break you free from those minute details and provide an overview of what you need to develop awesome web applications with Python and Django. You'll get an overview of the full Python web application stack and find out where you can learn more about each component. At the end of the talk you'll have a checklist of exactly what you need to do to build a comprehensive Python skill set while you're still in school and land the best jobs out of school.

Presented to JMU's ACM group on January 23, 2013.

7 talks from 2012

Agile Software Development in the Federal Government

With the latest executive mandates for IT reform, more and more agencies are adopting agile methods. But the devil is in the details. How can you achieve real governance with lightweight methods? How can you adjust scope on fixed contracts? Is collaboration even possible with competing contractors? This interactive session will offer actionable strategies to navigate the unique constraints for implementing agile in a federal environment.

Presented to the 2012 Project Management Symposium on September 28, 2012.

Python Indoctrination: For Non-Believers

Presented internally at Excella Consulting on August 21, 2012.

Django: An Introduction

Presented to the Dgentle Django introductory class on August 11, 2012.

Hello, Twitter Bootstrap!

Presented to my client the Consumer Financial Protection Bureau on May 18, 2012.

What is Big Data?

Presented to Excella's Business Intelligence Center of Excellence on May 7, 2012.

Push Notifications With Python and Urban Airship

Presented to DC Python on April 3, 2012 and Excella Consulting's Java COE on March 12, 2012.

What's Coming in Django 1.4

Presented to django-district on February 21, 2012.