Andrew Friedman
afriedman412 [at] gmail [dot] com
Home • Work • Projects • Open Source • Writing • ContentPROJECTS
Look At Me
12-4-2023
A light, modular website template built on Python, Jinja2 and not much else.
I made Look At Me because I was having trouble figuring out how to best structure a portfolio website that could showcase projects that fell under multiple categories. For example: I wanted to have a "writing" page and a "data journalism" page, with projects formatted differently on each page. Some projects fell under both categories, but having an entry on each page for the same project didn't seem like the best approach.
Look At Me lets you build a site by filling out some YAML and maybe tweaking some Jinja code if you are feeling spicy. As a bonus, you don't need to learn a new language, or use an external service to do it!
Flask, Jinja2, CSS
LatLong
8-31-2023
A web interface for getting latitude and longitude coordinates for locations. Somebody was looking for one and there wasn't one, so I built one.
- Flask app with integrated JavaScript for drag-and-drop functionality.
- Uses Nomantim via GeoPy
- Implements flexible timing and error-handling to navigate busy and unreliable servers.
Flask, JavaScript, CSS, Jinja2
SaysWho
4-1-2023
A Python package for identification and attribution of quotes within a document.
- Finds quotes and their speakers using a combination of grammar and logic.
- Uses coreferencing models to resolve ambiguous speakers.
- Built on SpaCy and Textacy
SpaCy, Named Entity Recognition, Numpy, Regular Expressions
Rap Caviar Gender Balance Tracker
10-1-2022
Automated data collection and visualization of Spotify's influential Rap Caviar playlist, tracking how the gender balance of artists continues to change over time.
- Pulls chart updates daily using the Spotify API.
- Infers artist gender based on pronoun usage in artist bios from several sources.
- Identifies groups and breaks them into their constituent artists.
- Visualizes data using Plotly, including charts of raw and normalized gender balance.
SQL, AWS, ElasticBeanstalk, Plotly, Pandas
Tracking Use of Passive Voice When Reporting on Police Violence
1-13-2022
I tracked the rate of use of "officer-involved" and similar exonerative language across 20 years of American reporting on police violence. Collaboration with Brandon Soderberg.
SKILLS:natural language processing
G Sheets Tools
9-1-2020
Light Python package for moving data in and out of Google Sheets.
- Manipulate, analyze and share.csv (and .csv-like) data using tools like Jupyter and Pandas.
- Avoid the formatting and versioning issues raised by repeated imports and exports.
- Easier than using the Google Cloud API!
Housing Court Data Scraper
6-1-2020
I built an app to help housing lawyers fight eviction during the pandemic upheaval.
- Automatically identified tenants at risk of missing court dates, allowing lawyers to reach out and offer assistance.
- Reduced hours of manually searching through online forms to a few minutes.
Selenium, BeautifulSoup, SQL
Tenant Help Hotline
6-1-2020
I set up a hotline to make it easier for tenants without internet access to contact BED if they needed the organization's help.
- Provides useful tenant information in English and Spanish.
- Automatically populates documents from voicemail transcriptions to streamline intake of new tenants looking for help.
- Quick resposne line sends a text to members on call in case of emergency.
Twilio, SQL, AWS
Congressional Financial Disclosure Scraper
6-1-2019
I developed and continue to maintain an app which downloads congressional financial disclosure forms for Sludge, a non-partisan site dedicated to investigating money in politics.
- Scrapes public senate and house transaction reports hourly, and uploads new data to SQL database.
- Sends text alerts of new financial disclosures to reporting team.
- The Members of Congress Who Profit From War
- Members of Congress Own Up to $93 Million in Fossil Fuel Stocks
- Revealed: how US senators invest in firms they are supposed to regulate
- Reps Questioning Megabank CEOs Own Stock in Their Companies
Selenium, BeautifulSoup, SQL, Twilio