Christopher Macrander, Developer in Seattle, WA, United States
Christopher is available for hire
Hire Christopher

Christopher Macrander

Verified Expert  in Engineering

Software Developer

Seattle, WA, United States

Toptal member since January 29, 2019

Bio

Christopher co-founded PERTS and helped it flourish as a leader in high-scale social science research. He's designed and built many data-intensive, high-performance web apps with several different sets of technologies and can bring hard-earned experience to your development efforts.

Portfolio

Project for Education Research That Scales (PERTS)
Google App Engine, Google BigQuery, Google Cloud Datastore, Bash, Linux, PHP...
Tufts University
Amazon EC2, MySQL, PHP, HTML, CoffeeScript, JavaScript

Experience

Availability

Part-time

Preferred Environment

The most amazing...

...platform I've built has reached over 175,000 students with only 2 staff members! The interventions it delivers have made an unprecedented impact.

Work Experience

Chief Technology Officer

2014 - PRESENT
Project for Education Research That Scales (PERTS)
  • Built a data-intensive web app supporting educators and staff in implementing multiple randomized controlled trials, one of which is the largest of its kind to date, with AngularJS, Python, Google App Engine, and R.
  • Built a web-app empowering only 2 staff members to deliver quality improvement programs to >75k students at >400 schools, with AngularJS, Python, Google App Engine, and R.
  • Built a web app to guide teachers through iterative improvement of their teaching practices with integrated, automatic report generation, with React, Redux, Python, Google App Engine, Google Cloud SQL, Docker, and R.
  • Created a pure-R webserver that can run scheduled or on-demand ETL jobs, report rendering, and delivery with Docker.
  • Designed security protocols for a team managing sensitive research data governed by Stanford's IRB, including daily guidelines for team members, policies for encrypting devices and stored data, procedures for deleting data upon request, and incident response plans.
  • Designed a continuous deployment pipeline where any working branch is automatically compiled, tested, and deployed to a sandboxed environment any time a developer pushes code.
Technologies: Google App Engine, Google BigQuery, Google Cloud Datastore, Bash, Linux, PHP, Codeship, R, Docker, Redux, React, AngularJS, Google Cloud, MySQL, Python, JavaScript

Doctoral Candidate in Education

2011 - 2014
Tufts University
  • Created a browser-based stop-motion animation app where frames could be captured and ordered, and HTML canvas objects could be placed and manipulated, for academic research.
  • Created a fully-featured survey engine in JavaScript, PHP, and MySQL that supports data piping, conditional logic, randomization, and re-use of modules across surveys.
  • Designed a server backup and restoration process with PHP on Amazon EC2 that could automatically launch a production server from snapshots and stored drives.
  • Designed a data storage pipeline for video files that archived files in multiple redundant storage locations and entered them into a database.
  • Created a data hashing app in JavaScript that allowed naïve users to securely obscure identifiers in their data and merge it with other data sets.
Technologies: Amazon EC2, MySQL, PHP, HTML, CoffeeScript, JavaScript

The MindsetKit

https://www.mindsetkit.org/
The MindsetKit is a website of resources from education and psychology experts, and also from parents and educators across the country. Users can write and upload anything they want to share about how they promote learning mindsets in their students, and the resulting resources are curated for publication.

I designed and wrote the server API entire backend for this app, and co-wrote the front end. I'm very proud that so many people use this resource.

Copilot

https://copilot.perts.net
Copilot is a web app that structures educators into teams and guides them through an iterative program of improvement, based on data collected from students through the app. It allows for multiple levels of permission and supervision and can walk all users through the process step by step. Programs are configurable, so a simple markup file can define a new set of steps to follow. Surveys are collected, and data analyzed and reported on, automatically. Really amazing things happen when teachers interact with real and relevant data with the support of their peers.

I and one reporting developer co-wrote this app, and it's one of the most exciting things I've worked on. For more basic information see perts.net/engage

`WithData` React Higher-order Component for Loading and Flux-like Data Flow

https://gist.github.com/cmacrander/ba5d6bd0981e94af60b239f9ed10f6d8
When bootstrapping simple React apps, I often use Flux-like or Redux-like patterns right away, even if I haven't decided on whether to include a full Redux set up. This higher-order component (HOC) lets me treat the top-level component's state like a global store, use selectors to grab data out of it, and intelligently mask and re-render the component based on what data it needs.

Demo OpenAPI Specification

https://gist.github.com/cmacrander/c8c31c34f921cd7914232249bedfd8cf
Using the OpenAPI specification and Swagger enabled me to write server code efficiently. Code generators like exegesis-express can automatically validate requests and responses. Documentation generators can create beautiful API docs based on a living, a single-source-of-truth standard for my API. This is just a quick demo showing CRUD operations, authentication, and schema validation.
2011 - 2015

Master of Science Degree in Education

Tufts University - Medford, Massachusetts

2004 - 2006

Master of Arts Degree in Teaching

University of Chicago - Chicago, Illinois

2001 - 2005

Bachelor of Science Degree in Chemistry

University of Chicago - Chicago, Illinois

Libraries/APIs

jQuery, React, Node.js, API Development, REST APIs, Amazon EC2 API, Google Task Queue, OpenAPI

Tools

Codeship, Git, GitHub, Sublime Text 3

Languages

Python 2, JavaScript, Python 3, R, GraphQL, Python, PHP, Bash, CoffeeScript, HTML, PHP 5, PHP 7, Bash Script

Frameworks

AngularJS, webapp2, Redux, Jinja, Django, Flux

Paradigms

Functional Programming, Agile Workflow, Testing

Storage

Google Cloud Datastore, MySQL, NoSQL, Google Cloud SQL, Google Cloud

Platforms

MacOS, Linux, Google App Engine, Amazon EC2, Docker

Other

API Testing, Google BigQuery, User Flows, QA Automation, Task Flows

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring