Full-stack Developer
2019 - PRESENTSelf-Employed- Contributed to pipelining software for distributed software flows. Implemented containerization, ensuring distributed workflows could be run in predictable environments on a fleet of AWS machines.
- Created middlelost.com, an online-only poetry journal.
- Wrote legislython, an API for Congressional voting data.
Technologies: Keras, TensorFlow, Kubernetes, Docker, Flask, Python, JavaScriptSoftware Engineer
2018 - 2019Google- Led internationalization efforts for visual search in Google Lens. I expanded support for shopping and other verticals to Chinese, Korean, and Japanese languages via improved tokenization and part-of-speech detection.
- Helped integrate geolocation data into visual search, allowing visual search to identify nearby locations more accurately.
- Applied semantic information from ML models and static ontologies to improve information retrieval recall for visual search.
- Strategized with other engineers how to handle right-to-left scripts, e.g. Perso-Arabic, when overlaying translated text in Google Lens.
- A/B tested changes to retrieval model. Assessed user comparisons of outputs to determine whether a proposed algorithm change would positively affect quality.
Technologies: Google Mock (GMock), gRPC, Python, C++Software Developer
2017 - 2018Self-employed- Contributed to MiPandas, a genomics data visualization interface. Created visualizations in React/Redux and served data from a Flask back end. Dockerized the application.
- Wrote a language detection system for hospitals using PocketSphinx. This system leveraged an acoustic model with support for the union of phonemes in 10 different languages, then classified the resulting phonemes.
- Built a website for a Persian cultural center. I used WordPress to prototype a front end quickly, then added some additional functionality by wrapping a Flask back end.
Technologies: Redux, React, Docker, Python, C++Software Engineer
2014 - 2017Google- Built an LSTM-based model to predict nonce compound words in German. This improved the orthographic accuracy of Google's state-of-the-art ASR system and paved the way for similar normalization in other languages.
- Found new data sources and experimented with different preprocessing and sampling to improve automated speech recognition performance in over sixty languages, including a WER improvement of 33% in Hindi.
- Enabled state-of-the-art language models in over one hundred languages for GBoard.
- Spearheaded the incorporation of Google's Keyboard language model pipeline into the speech team's infrastructure. Wrote unit and integration tests to make the Keyboard pipeline more robust.
- A/B tested new language models. Assessed user comparisons of outputs to determine whether a proposed algorithm change would positively affect quality.
Technologies: Borg, TensorFlow, Python, C++