Marissa Clark standing in the Olympic rings in Cortina

Marissa Clark, data scientist.

Data scientist in Chicago. Former neuroscience researcher, still most interested in how people understand each other. Archery, mountains, and a beagle on the side.

A bit about me

I started out studying computational social neuroscience. At Dartmouth I studied how people experience emotion, and before that I managed labs at Stanford and the University of Maryland that studied empathy and how memory develops in young children. The part of research I found most interesting was social communication: how people read and respond to each other. It's still the question I'm most drawn to.

Data science turned out to be a way to keep working on questions about people, with faster feedback. Today I'm a Senior Data Scientist at United Airlines, and I still bring the habits from the lab: careful experimental design, a healthy skepticism of easy answers, and an interest in the people behind the numbers.

Outside of work I'm usually at the archery range, in the woodshop, admiring mountains, or out with my beagle. I like building small tools that make my own life a little simpler, and a lot of my side projects start with a hobby and end with me writing code about it.

Things I've built for fun

Kotlin · Jetpack Compose · Wear OS

ArrowWatch ↗

A Wear OS watch app and Android phone app I built to track my archery. I score arrows from my wrist at the range, and while I shoot, the watch records motion and heart rate. The phone app then finds each shot in the sensor data, so I can see how steady my draw was and how my heart rate moved alongside my scores.

AndroidWear OSSensor DataSignal ProcessingAnalytics
On the watch

Start a session, choose arrows per round, and shoot. After each round, tap each arrow's ring color (gold, red, blue, black, white, or miss) or enter an exact total. The whole time, the watch logs orientation, gravity, steps, and heart rate. It streams each shot and score to the phone as they happen.

Finding shots in the sensor data

The analytics come from the raw sensor log. To find shots, the app removes slow drift from the arm-angle signal with a 60-second rolling median. Then it looks for stretches where the arm holds unusually still, which marks a draw-and-hold, and merges and filters those stretches into individual shots. Steps show when I walk downrange to pull arrows, and those walks split the session into rounds.

What the phone shows

A live scoring view during the session, then a history of every session with its ring-color breakdown and per-round scores. Each round opens into sensor charts: hold time, arm stability during the hold, and heart rate at each shot, plotted against my average score per arrow.

Why I built it

I wanted to know whether my good rounds and bad rounds looked different in ways I couldn't feel. It's the same loop I run at work (instrument, clean, model, and look for signal), just with arrows.

Python · OpenCV · Canvas

Falling Leaves ↗

It started as a framed piece for my wall: a gradient of pressed fall leaves. I scanned them, then wrote a computer-vision pipeline that cuts each leaf out of the scans. The 339 leaves it produced power a falling-leaf screensaver (move your cursor over the preview to push the leaves).

Computer VisionOpenCVWatershedCanvas
Where it started

I collected about 500 fall leaves, pressed them, and arranged them by color into a framed gradient for my wall. I scanned the leaves along the way, and later used those scans for this project.

Cutting leaves out of scans

Each scanned page held many leaves. I needed every one as a clean, separate cutout, and doing that by hand wasn't realistic, so I built a pipeline and tuned each step:

  • Finding leaves. I started with Otsu thresholding, then raised the cutoff after pale yellow leaves kept blending into the background.
  • Removing stems. I removed stems by shape. A distance transform keeps only the thick body of each leaf, then grows it back out by the same radius, so thin stems never return.
  • Cleaning edges. The scanner left a gray halo around each leaf, so I added a saturation and brightness filter to strip it.
  • Catching overlaps. I wrote a triage step that flags cutouts containing more than one leaf. It checks for multiple "centers" in one shape and for deep notches where two leaves meet. It also drops any leaf cut off by the page edge.
  • Splitting pairs. For flagged cutouts, I split the leaves with a watershed seeded at each leaf's center, falling back to a cut between clusters of notch points when that fails.
The screensaver

I built it as a single canvas page with no dependencies. Each leaf gets a random depth that controls its size, speed, and opacity, which gives a parallax effect. To fake a 3D flip, a leaf narrows as it rotates edge-on. A time-varying wind value pushes all leaves sideways, and cursor movement adds force to leaves near the pointer. I exported each leaf as a ~11 KB WebP and load them in the background, so the animation starts right away.

Python · NLTK · scikit-learn

Organizing Papers with Clustering ↗

Facing around 60 papers for my qualifying exams, I converted them to text and clustered them with TF-IDF, k-means, and Ward hierarchical clustering. That gave me study themes and showed how my committee's fields connected.

Open source

More on GitHub ↗

Neuroimaging tooling (NIMS→BIDS, nltools contributions), coursework, and other experiments from my research years to now.

When I'm not at a keyboard

Archery

I track my rounds with ArrowWatch, the watch and phone app I built for it.

Marissa drawing a recurve bow at the indoor range A line of targets on the outdoor range

Travel photos

Iceland
Iceland
Iceland
Iceland
Lake Bled, Slovenia
Lake Bled, Slovenia
Iceland
Iceland
Iceland
Iceland
Iceland
Iceland
Sicily, Italy
Sicily, Italy

Where I've worked

Senior Data Scientist United Airlines2024 — Present

I build the models behind MileagePlus marketing: who gets which campaign, which card offer goes to whom, and what partner data is worth. I also mentor junior data scientists.

ML RankingOptimizationClean RoomsLoyaltyPartnerships
Data Science Strategy Lead Kimberly-Clark2023 — 2024

I worked with marketing and commercial teams on consumer brands like Huggies. The work covered trade promotion optimization, third-party data evaluation, and teaching teams to use forecasting themselves.

CPGTrade Promotion3P Data StrategyEnablement
Data Scientist Home Chef2021 — 2022

At this meal-kit subscription business I measured what marketing actually drove and forecast demand, so less food went to waste. For TV attribution, I used Fourier analysis to separate daily and hourly ordering rhythms from the lift an ad actually caused, and those results shaped channel budgets. I also built a customer lifetime value model for budgeting and lifecycle marketing, meal-kit sales forecasting, and an NLP pipeline that sorted customer feedback so the team could spot new trends early.

TV AttributionFourier AnalysisCustomer LTVForecastingNLPSnowflake
PhD Researcher Dartmouth College2018 — 2021

In the Computational Social and Affective Neuroscience Lab (PI Luke Chang), I studied how the brain represents emotional experiences as they unfold in natural settings. My research used autobiographical videos to evoke a wide range of emotions and mapped how each person's feelings shifted, both in their own ratings and in their brains. I also managed the $3.5M grant that funded this research.

fMRICollaborative FilteringShared Response ModelFactor AnalysisPython & R
Lab Manager Stanford University2016 — 2018

I ran day-to-day operations for the Stanford Social Neuroscience Lab (PI Jamil Zaki). I analyzed naturalistic emotion perception with an fMRI empathic accuracy task, which measures how well people track what someone else is feeling as they tell a real personal story. I also worked across the lab's empathy research and co-authored a school-based intervention study on motivating empathy in adolescents.

Empathic AccuracyfMRI AnalysisStudy CoordinationField Experiments
Lab Manager University of Maryland2015 — 2016

In the Neurocognitive Development Lab (PI Tracy Riggins), I led fMRI, EEG, and behavioral data collection for an NIH-funded longitudinal study of how memory networks develop in early childhood. I also trained the team on a new hippocampal segmentation tool and rolled it out, which made the lab's measurements of this small memory structure more accurate.

Longitudinal DesignfMRI & EEGPediatric DataImage Segmentation

Education: PhD coursework in Psychological & Brain Sciences, Dartmouth · BS Cognitive Science, UCLA Tools: Python · SQL · R · AWS · SageMaker · Snowflake · Databricks · dbt · Airflow Full resume (PDF) ↗

Research

Papers on social communication I keep coming back to

My own work

Talk · YouTube Brain representations of unique emotional experiences A research presentation from my time at Dartmouth