Sarah Elliott

Software Development, Robotics

CAN: (519)-616-1397

US: (408)-223-5146


The first thing you'll notice about me is my enthusiasm. I love what I do. I like solving problems. Software Development has been the most exciting challenge I've ever encountered, and I enjoy using my skills to solve problems in robotics.


  • Python
  • C++
  • Java
  • AutoCAD
  • ROS
  • Javascript
  • Git / Mercurial / Svn
  • Server / Network Admin
  • Linux


Open Source Robotics Foundation

Software Engineering Intern

Spring 2013

I followed up on work I started at Willow Garage. We want people to be able to write 'apps' for robots the way they write apps for their smartphones. I worked on the infrastructure for making that possible, including integration with tools like Android Studio and streamlining the development process for the apps.

Willow Garage

Human-Robot Interaction Intern

Fall 2012

I was on the Mobile Manipulation (moving base + arm) team working under Sachin Chitta. I worked on the motion planning framework, Moveit! I integrated different robotic systems (vision, navigation, manipulation pipelines) together to accomplish tasks such recognizing and picking up household objects. I wrote high-level python libraries to access robot functionality. I also created an interface for evaluating reachable workspace and manipulability of robot arms.

Willow Garage

Android Developer

Winter 2012

I worked on an infrastructure that allows custom Android applications to interface with robots. I created a way to run multiple robot apps at once. I also helped create Android and other interfaces to an interactive robot museum exhibit. I designed POC for client-agnostic robot-side app infrastructure, allowing programs to be used from android, web or other clients.


Software Engineering Intern

Spring 2011

I was responsible for aggregating and processing content from social media like Facebook and Twitter. I did server-side Python programming and created tool to stream, tag and sort results from Twitter. I optimised handling of memory and write operations within content-processing pipeline (from 85K to a peak capacity ~15M items/day).

Ontario Teachers' Pension Plan

Technical Analyst, Servers & Networking

Winter 2010, Fall 2010

I created and managed physical and virtual server environments. I designed new server monitoring configurations and developed solution to provide back-end connectivity between Oracle RAC and other third party metrics products. I have experience with networking technology in datacentres ā€“ DNS servers, Ethernet and fibre channel. I performed server hardware maintenance ā€“ replacing hard drives, remote access cards, RAM, etc


Caroline Pantofaru, Austin Hendrix, Andreas Paepcke, Dirk Thomas, Sharon Marzouk, and Sarah Elliott. 2013. Programming robots at the museum. In Proceedings of the 12th International Conference on Interaction Design and Children (IDC '13). ACM, New York, NY, USA, 305-308.


University of Waterloo - Ontario, Canada

BASc, Honours Systems Design Engineering — 2009-present

Awarded President's Scholarship of Distinction & International Experience Award


& Projects

Posture Detecting Shirt — 1st place in Systems Design Symposium
Sumo bots / Waterloo engineering competition
Hack the Future — We put on a free hackathon for kids
Sewing — I especially like sewing costumes
Turtlebot + Kids' Programming
Star Trek — Iā€™m a huge Trekkie
Fixing bicycles — I volunteer fixing bikes for charities
Hiking — If possible I would live in National Parks
Intelligent Ground Vehicle Competition — Vision and planning

Sarah Elliott — — (519)-616-1397