Hello

Hello, I'm Noah. I'm a lifelong New Yorker, longtime programmer, and current early-career data scientist/software developer. Here's where you'll find a collection of projects I've been working on, photos I've taken, and other neat stuff, so have a look around.

Projects

Mulligan Decider

A machine learning system in TensorFlow for Magic: the Gathering


MTA Alert Archiver

A cloud ETL pipeline for MTA service alerts


Candidate Tracking

A data warehouse for tracking information about US Senate candidates


LeetCode

My LeetCode profile



Stock Evaluator

A data pipeline and machine learning model to evaluate the true value of publicly-traded stocks


Citi Bike Visualizations

Visualitaztions in Tableau of NYC Citi Bike usage


Taxi Data

Analyses of New York City's taxi data


Emergency Response Times

Maps of response times for NYC emergency services


Personal Website

This very website


Candidate Tracking

Candidate Tracking is a data warehouse which collects and processes information about candidates for US Senate, including regulatory filings, affiliations with political action committees, and mentions in news articles. The warehouse runs on AWS Redshift, and the data is collected from the OpenFEC and Newsdata.io API's, using AWS Lambda and S3.

Here is a breakdown of how many times each tracked candidate was mentioned in a popular news article, for each day since October 9th, 2022.

  • Source code on GitHub

  • Other Projects

Stock Evaluator

Stock Evaluator is a data pipeline and machine learning model which attempts to predict the long-run value of publicly traded companies. It collects financial data from companies' disparate regulatory filings(provided by the Financial Modeling Prep API), processes it into compact training examples, trains a neural network to predict the return of a share of stock over a given time period, and recommends a portfolio based on the model's predictions.

This is a work in progress. Future development will include adding features related to subjective business assessment and market conditions.

  • Source code on GitHub

  • Other Projects

Citi Bike Visualizations

This is a series of visualizations which show usage patterns for Citi Bike, New York City's public bike share program. They were created using Tableau, and use data pulled from Citi Bike System Data.

  • Visualizations on Tableau Public

  • Other Projects

Mulligan Decider

Mulligan Decider is a machine learning system for Magic: the Gathering. Using TensorFlow/Keras in Python, it analyzes thousands of recorded games from 17lands, builds a neural network to predict the probability of winning with a given opening hand, and advises the user on how to mulligan at the start of the game.

The project also includes an accompanying web application, which allows a frontend user to submit an opening hand to the model running on the backend.

  • Source code on GitHub

  • Other Projects

MTA Alert Archiver

MTA Alert Archiver is an ETL pipeline which archives service alerts from the MTA's real-time API. It runs entirely on Amazon Web Services, using CloudWatch Events to run a Lambda function every five minutes, which fetches and process alerts, then inserts them into a MySQL database running on Relational Database Service.

I also created an interactive data viewer, strictly for demonstrative purposes. Click the image above to view archived service alerts from July 15th, 2022.

  • Source code on GitHub

  • Other Projects

Emergency Response Times

Emergency Response Times is a series of scripts which map the average response time for emergency services in each ZIP code in New York City. The data is from NYC Open Data, queried using Socrata, and the map is generated using Folium in Python.

EMS Response Times
Fire Response Times

  • Source code on GitHub

  • Other Projects

Taxi Data

Taxi Data is a collection of scripts which analyze New York City's publicly available taxi trip data. It contains analyses of the number of trips to/from/between each neighborhood, the distribution of trip fares/distances, and the change in trip frequency over the course of the day. Graphs are generated using Matplotlib in Python.

I also joined the trip data with NWS weather data and Census demographic data, to try to create a model to predict fares at the start of the trip, but none of those features ended up being all that predictive.

I also ingested the data into Databricks using Spark to analyze it en masse. Here is a breakdown of the total number of trips, average fare, and average distance, for every day in 2021.

  • Source code on GitHub

  • Other Projects

Personal Website

This very website is created and maintained by me, and serves as a live portfolio for my technical projects. All the text and images are my own, and the design is adapted from a publicly available template, Dimension by HTML5 UP, to which I've made some CSS modifications and expanded the page structure. The website is hosted through GitHub Pages, where all the source code is available, and the .ky domain is registered in the Cayman Islands.

I've also hidden some easter eggs in various places throughout the site, see if you can find them all.

  • Source code on GitHub

  • Other Projects

Photography

I like taking pictures of city skylines, urban waterfronts, train stations, airports, and other big and important feeling places. You can find a collection of my photos on my Instagram page. There are also a couple photos hidden about this website, see if you can find them all.

Contact

The best way to reach me is by email, I try to keep my inbox on zero

Elements

Text

This is bold and this is strong. This is italic and this is emphasized. This is superscript text and this is subscript text. This is underlined and this is code: for (;;) { ... }. Finally, this is a link.


Heading Level 2

Heading Level 3

Heading Level 4

Heading Level 5
Heading Level 6

Blockquote

Fringilla nisl. Donec accumsan interdum nisi, quis tincidunt felis sagittis eget tempus euismod. Vestibulum ante ipsum primis in faucibus vestibulum. Blandit adipiscing eu felis iaculis volutpat ac adipiscing accumsan faucibus. Vestibulum ante ipsum primis in faucibus lorem ipsum dolor sit amet nullam adipiscing eu felis.

Preformatted

i = 0;

while (!deck.isInOrder()) {
    print 'Iteration ' + i;
    deck.shuffle();
    i++;
}

print 'It took ' + i + ' iterations to sort the deck.';

Lists

Unordered

  • Dolor pulvinar etiam.
  • Sagittis adipiscing.
  • Felis enim feugiat.

Alternate

  • Dolor pulvinar etiam.
  • Sagittis adipiscing.
  • Felis enim feugiat.

Ordered

  1. Dolor pulvinar etiam.
  2. Etiam vel felis viverra.
  3. Felis enim feugiat.
  4. Dolor pulvinar etiam.
  5. Etiam vel felis lorem.
  6. Felis enim et feugiat.

Icons

Actions

Table

Default

Name Description Price
Item One Ante turpis integer aliquet porttitor. 29.99
Item Two Vis ac commodo adipiscing arcu aliquet. 19.99
Item Three Morbi faucibus arcu accumsan lorem. 29.99
Item Four Vitae integer tempus condimentum. 19.99
Item Five Ante turpis integer aliquet porttitor. 29.99
100.00

Alternate

Name Description Price
Item One Ante turpis integer aliquet porttitor. 29.99
Item Two Vis ac commodo adipiscing arcu aliquet. 19.99
Item Three Morbi faucibus arcu accumsan lorem. 29.99
Item Four Vitae integer tempus condimentum. 19.99
Item Five Ante turpis integer aliquet porttitor. 29.99
100.00

Buttons

  • Disabled
  • Disabled

Form