I am a data scientist and Python developer. But I am not your typical nerd: in addition to coding skill, I've got strong analytical ability, business sense and a flair for communication across media. I love to write and tell stories.
I am currently the Lead Data Scientist at the growth-stage marketing tech startup Contently. I hold a master's degree in computing from the University of Melbourne in Australia and a bachelor's in economics from the University of California, Berkeley.
Resume ( Text / PDF )
why code + story? (hide)
I love coding, but my first love is storytelling. I wrote my first story--"Apples Everywhere", which told the tale of a family of cannibalistic apples--at the age of four. While I love math, logic and efficiency, and I love modeling ALL the things, my work is always guided by the idea of storytelling. When I studied Asian economies for three years as an economic researcher, my analysis was about transforming data into a story, with implications for risk and policy.
Now, as a developer and data scientist, I am still trying to tell stories. Although computer science and writing might seem disparate domains, I believe storytelling is a great skill in technology. Code should tell a story; other engineers should be able to see the flow of software. Objects should tell a story; what is the concept the data is trying to represent? Data should tell a story; how can we apply machine learning and visualization to glean meaning from 1s and 0s? Design should tell a story; how is the user going to use the product to achieve his or her goals?
So I emphasize code + story as my twin passions. I have devoted my career to the rational, empirical and logical, and I hope to leverage the power computation and technology. My side projects center on storytelling through writing and photography. These passions need not be opposites, as I hope to bridge the two.
anela as coder
I currently lead Data Science at Contently, a content marketing tech startup in New York. As Contently resides at the intersection of publishing and marketing, I get to work with data surrounding my favorite things: creative people and words. As Lead Data Scientist, I manage and build data-driven product features and also analyze data to inform company decision-makers.
How did a writing-loving economist and fashion club president get into coding?
My origin story as a coder is pretty embarrassing. The first script I wrote in adulthood was in none other than VBA for Microsoft Excel, automating the graphing of stock prices across countries. I found this thrilling, the sudden automation of a repetitive, tedious task, now reduced to a mere button click. How cool to make someone's life a bit easier through code! I had spent my years as an economic analyst just analyzing for the sake of analyzing. But I was intrigued by the idea of analyzing workflow to solve problems.
With this idea of problem solving in my head, I started studying programming on the side, in a handful of languages. I picked up object-oriented programming, became skilled at SQL and even built a data aggregation and retrieval application for my analyst team at the New York Fed. I decided to deepen my studies with a master's program in Computing at the University of Melbourne in Australia, where I was offered a scholarship. At Melbourne Uni, I learned the basics of algorithms, OOP, databases, networking, distributed systems, design patterns etc. plus more advanced topics in data mining, machine learning and web development.
Contently Freelancer Recommender
I built a recommender system to match Contently's clients to creatives from our network of 65,000 freelancers. I drove all stages of research and development, including algorithm experimentation, offline validation, prototyping, user testing and continuous algorithm iteration based on click data. I also applied my web development skills to transform the recommender from proof-of-concept to robust internal search tool used heavily by Contently talent scouts. The recommender uses a hybrid of statistical modeling and content-based filtering.
YMCA Information Extraction
The national YMCA organization has a team of analysts dedicated to studying and improving YMCAs. Yet, due to the YMCA's federated structure, the national team's access to data on YMCA associations and branches is limited and delayed. Working with a team through DataKind, an organization that provides pro bono data science (and related) services to nonprofits, I helped build a system to attain YMCA data through web scraping.
No Free Lunch
Leveraging my background in economics, I built a tool involving text mining and visualization to aid consumer decision-making, analysis and search. The back end, built in Python, used text mining of consumer product reviews to extract important product features/aspects and to perform sentiment analysis, with multiple strategies implemented and tested. This mined data formed the basis for an interactive, visually driven web app built in Node.js and d3.js. The goal of the software is to use automation to bootstrap human knowledge acquisition and analysis, and to simplify a complex, multi-objective search.
Club Biz web app
Handwritten digit recognition
SimpleStreamer streaming video
File sync program
Emerging Markets group database
Baby's first app in Ruby on Rails, created for a class on Software Modeling and Design. I led a team of three to build a social application which enables students to interact with university clubs. This project encompassed front-end design including UX interviews, wireframes and mockups of interfaces, architectural design communicated through UML diagrams, database modeling and finally, full implementation in Rails (and testing). Our final product included following, commenting, messaging, advertising, ticket reservation and reporting features.
For a class in Information Retrieval, I built a search engine for querying a corpus of over 15,000 blog documents. I started with a baseline system following the vector space model, using log TF*IDF weights and ranking based on cosine similarity. Based on evaluation metrics and manual error analysis of test queries, I experimented with a handful of improvements, including alternative normalization strategies, a biword index to support phrasal queries and a simple language detection strategy, to improve precision@5 by 20 percentage points.
Handwritten Digit Recognition
For a class on Machine Learning, implemented an artificial neural network to recognize handwritten digits, as well as a genetic algorithm to optimize neural network structure.
For a class on Machine Learning, worked in a team of two to develop a system for predicting user locations based on social graph data. Used NumPy and Scikit-learn to preprocess data and test a range of machine learning algorithms for prediction tasks.
Ah, nitty gritty client-server stuff in Java. For a class on Distributed Systems, I created a multi-threaded client-server program in Java capable of broadcasting a webcam stream to multiple concurrent clients.
More nitty gritty. For Distributed Systems class, I wrote a program in Java for automatically syncing a file between client and remote server. Take that, Dropbox.
Emerging Markets Group Database Design
As a programmer just getting my sea legs and research associate at the New York Fed's Emerging Markets group, I designed and developed a database as well as a user interface to transform group data storage and research associate workflow as well as improve data accessibility. Before, the team stored all of their critical data in Excel spreadsheets. This application is still in use by a team of 10+ researcher end users today.