Who I Am


  • Name: John S. Kinnebrew
  • Position: Software Engineer
  • Company: mabl
  • Location: Boston MA

John is building intelligent tools that enable developers to create better software at mabl. He received his B.A. in Computer Science from Harvard University and his Ph.D. in Computer Science from Vanderbilt University. His research interests include machine learning, combinatorial optimization, intelligent agents, and coordination in multi-agent systems.

At Bridj, he led the research and data science group with a focus on machine learning and AI optimization techniques applied to transportation modeling, prediction, and optimization for improving mass transit. His research at Vanderbilt focused on the design of intelligent pedagogical agents and machine learning techniques to model important learning behaviors, including metacognition and self-regulated learning strategies, from activity traces of student interaction in educational systems.

John has developed novel data mining algorithms to identify differential patterns among multiple contexts within and across sequential data series (e.g., autonomously-identified phases of task performance within learning activity traces). He has also developed techniques to model the evolution of patterns over the course of long data series and refine the representation of patterns to appropriate levels of specificity in multi-dimensional, hierarchical sequential data.  Further, he has applied these approaches to improve the design of pedagogical agents and their coordination mechanisms for dynamic personalization and adaptation to the user.

My Background

Professional Experience

2017 - Present


Software Engineer

Leveraging machine learning and AI to build intelligent tools that enable developers to create better software.

2015 - 2017


Research Scientist

Led the research and data science group in applying machine learning and AI optimization techniques to transportation modeling, prediction, and optimization to enable intelligent, data-driven mass transit.

  • Took Bridj pop-up bus-stop routing from fixed stops/routes that were updated by manual data analysis on a multi-week timeframe to real-time, optimal stop routing – designed and implemented a Python-based constraint optimization system employing current and predicted passenger origins/destinations with current traffic conditions in a containerized production backend on AWS using Celery and RabbitMQ for asynchronous task distribution.
  • Developed a citywide multi-vehicle optimization system employing a novel hierarchical co-evolutionary approach to combinatorial optimization with geospatial aspects. Employed this system to identify routing corridors and vehicle allocation, optimizing passengers per hour based on predicted origin/destination demand. Implemented containerized production backend system to serve as the foundation of a next generation, distributed Bridj routing engine.
  • Collaborated on the design and implementation of a large-scale origin-to-destination flow clustering system in Python (using Redis and PostgreSQL) for identifying candidate stops and predicting travel demand among them.
  • Mentored and collaborated with data science associates on predictive modeling, analysis, and visualization of urban movement patterns, bus travel and cycle times, and Bridj service demand patterns in Python (including Pandas, scikit-learn, statsmodels, SciPy, and NumPy) with PostgreSQL (+PostGIS) databases and AWS S3 Athena.

2013 - 2015

Institute for Software Integrated Systems, Vanderbilt University

Research Scientist

Co-PI with leadership role in design and development of two adaptive learning environment projects for middle school students:  CTSiM (promoting computational thinking skills in concert with science learning through visual programming, simulation, and domain-specific modeling languages) and SimSelf (leveraging interaction with pedagogical agents and causal modeling activities for developing self-regulated learning skills).

  • Designed novel data mining algorithms that incorporate learning context and changes with multiple dimensions of complex, hierarchical features for the identification of pedagogically-relevant behavior patterns. Implemented algorithms, as well as data processing workflow, using Java, Apache Commons frameworks, and MySQL databases.
  • Integrated model-driven assessment with data-driven analysis to iteratively design and improve models of learner behavior, which then better inform decisions by pedagogical agents. Led analysis efforts to evaluate and improve efficacy of adaptive agents, including implementing components of the analytic workflow in Python and R.
  • Led software development team including one programmer, one postdoc, and four graduate students. Implemented portions of the event-driven infrastructure for modular learning tools using Java and Google’s Guava and Guice frameworks.

Researcher on two simulation-based learning environment projects for high school students:  C3STEM (engaging students in integrated STEM learning through computational modeling and high-fidelity simulations) and EGAME (connecting intuitive understanding from gameplay with formal physics concepts).

  • Designed novel data mining and machine learning techniques for modeling and differentiating student learning behaviors across a variety of contexts. Led the implementation of new mining and modeling techniques in Java and Python, and implemented the core data processing workflow in Python (NumPy, Pandas, scikit-learn) with MongoDB.
  • Developed and deployed a dynamic metadata mark-up approach that relates simulation/game context to the learning context for more effective analysis and mining of student learning behavior.

2010 - 2013

Institute for Software Integrated Systems, Vanderbilt University

Research Associate

Researcher and software developer on the Betty’s Brain project (a learning-by-teaching environment promoting preparation for future learning with support from adaptive pedagogical agents).

  • Designed and implemented Hidden Markov Model and sequence mining approaches to analyze learning behavior in Java and R.
  • Led data mining and analytics efforts to evaluate student-agent interactions and iteratively improve the learning environment in Java with MySQL databases.

Software developer on the HALF project (a touch-based environment and curriculum for teaching fractions with low-achieving and at-risk students).

  • Developed prototype of intuitive web-based environment for manipulation of virtual objects in fraction problems.

2005 - 2010

Electrical Engineering & Computer Science Department, Vanderbilt University

Research Assistant

Dissertation research and development in the Multi-agent Architecture for Coordinated Responsive Agents (MACRO) project.

  • Designed a fair and efficient task allocation mechanism as a scalable testbed for the coordination and control of a global sensor web. Implemented testbed as a distributed agent framework in C++ with ACE/TAO/CIAO middleware.
  • Designed and implemented a novel, decision-theoretic planning and scheduling algorithm for agents operating on shared computational nodes in resource-constrained environments, such as sensor webs or satellite constellations.
  • Experimentation and analysis to verify the scalability and effectiveness of the integrated, adaptive system incorporating multi-agent task allocation and distributed planning and scheduling capabilities.

2007 Summer -

Lockheed Martin Advanced Technology Center

Research Intern

Collaborated on the development of autonomous agents for distributed, real-time embedded systems, such as sensor networks.

  • Designed and implemented (in C++) autonomous agent reasoning and communication protocols for efficient, coordinated operation on multiple, heterogeneous processing nodes in sensor networks.
  • Integrated agents with adaptive resource management and software composition/configuration planning services. Implemented in C++ with ACE/TAO/CIAO middleware and deployed across a combination of Linux and Windows platforms.

2006 Summer -

Lockheed Martin Advanced Technology Laboratories

Research Intern

Collaborated on the development of a flexible, state-of-the-art resource allocation testbed.

  • Designed and implemented (in C++) a framework for construction and testing of novel algorithms in distributed system resource allocation with additional (non-resource) constraints.
  • Implemented both multi-dimensional bin-packing and constraint-satisfaction techniques in a single, intelligent solution search, using a combination of heuristics for the bin packing and constraint satisfaction aspects of the problem.

My Background


2010 -

Vanderbilt University

Ph.D. in Computer Science

Dissertation: “Global Sensor Web Coordination and Control using Multi-Agent Systems”

  • AAAI 2009 Doctoral Consortium
  • IBM Graduate Fellowship

2007 -

Vanderbilt University

M.S. in Computer Science

Concentration in Artificial Intelligence.

  • IBM Graduate Fellowship

2001 -

Harvard University

B.A. cum laude in Computer Science

Concentration in Artificial Intelligence.

  • Detur Book Prize
  • John Harvard, Harvard College, and National Merit Scholarships.

What I do


Research Areas

Selected Languages & Frameworks

  • Python

  • Java

  • SQL

  • C++
  • AWS

  • Docker

  • Celery

  • PostgreSQL

Connect with Me


John S. Kinnebrew

  • Boston, MA


    Your Name (required)

    Your Email (required)


    Your Message