Hi, I'm Emily!
Software engineer, serial dabbler, language enthusiast
About Me
I'm a software engineer, and I love working on projects that merge the physical world and the virtual world. What I do doesn't fit neatly into the "front-end" and "back-end" buckets, and I really like that! I've worked with a wide variety of skills that include traditional web development, museum interactives, game development, benchtop electronics, and more.
I enjoy sharing knowledge, and I'm dedicated to creating and participating in spaces that foster open communication around technical subjects.
Featured Projects
Professional
Level99
Level99, which opened in June of 2021, is a new location-based entertainment concept. This project blurs the line between real-world and virtual gaming, with ~40 software-controlled interactive games, as well as a venue-wide metagame that tracks tens of thousands of users through their vist(s).
Pedestrian Counter
This prototype project was built to serve a themed entertainment venue in New York that wanted to track how foot traffic translated into sales. The implementation used a pre-trained neural net and OpenCV to log a count of passers-by. Pre-pandemic, the intention was for it to email the daily results to interested parties.
Economy Simulation
In the early days of Level99 (see above!), I built a simulator to help design the large-scale economy, a system of inventory items and unlockables that governs players' progression through the space. I used Unity's pathfinding capabilities and a system of swappable economy specifications to model user behavior in the space.
ChoreoV
Animating real-world objects by hand is tough, and at scale it's impossible. ChoreoV used raw video to encode animations, processed the video, and piped it out as a data stream that animatable objects could consume. I implemented a client on on the Raspberry Pi to process and output a data stream to mechanical devices.
Personal
Desktop Doorbell
This little device came about because I had a desk that faced a corner and when anyone came to talk to me, I would jump 3 feet in the air. Instead of investing in a mirror, I built this little Bluetooth doorbell. It pops up a toast message on my PC that says 'Turn around!' when the button is pressed.
Knowledge in Common
For a long time, I've been turning over the idea of a community based around trading skills. I have a set of skills that I can teach, and a set that I want to learn. It's likely that someone out there wants to learn what I can teach, and can teach what I want to learn. This was a first attempt at a website to connect people with those overlapping interests.
Portfolio
This website is my sandbox! I learn best with a project to drive my education, so this is where I experiment. Currently I'm learning NextJS, and I have an eye on AWS Lambda for when I start work on the back end.
Skills
Coding Languages
- Python
- JS/Typescript
- HTML5
- CSS
- C#
- ActionScript
- batch scripting
- Processing
Frameworks
- React
- NodeJS
- sass
- webpack
- npm
- yarn
- eslint
- Unity
- AVProVideo
- pdb
- black
- flake8
IDEs
- PyCharm
- VSCode
- Jupyter notebooks
Creative Tools
- Photoshop
- Illustrator
- Premiere Pro
- Figma
- Sketchup
Workflow
- JIRA
- Bitbucket
- SourceTree
- git
- GitHub
- Confluence
- Jenkins
- CircleCI
Other
- ffmpeg
- Arduino
- Raspberry Pi
Boston Python
I spend some of my time as an organizer for Boston Python. I run online, beginner-focused study groups that cover a wide range of Python-related topics.
I'm strongly of the opinion that one of the best ways to learn something is to teach it. That's the driving concept behind these groups. For every session, the (rotating) presenter chooses a topic they don't have experience in, researches it, then presents the topic to the group.
Below is a talk that I gave for Boston Python that spawned the idea for these groups:
Occasionally I do things that aren't coding.
You might find me doing parkour or woodworking sometimes.