Ivan Lin

Ivan Lin

Preface.


The preface is under construction. Check back in a few years.

×

Experience.


Epic Systems

| Verona, WI
Software Developer | June 2021 - Present

Overhauled the underlying data structures and refactored key discharge workflows to better comply with interoperability standards and cut response times under high-loads by as much as 80%

Streamlined the referrals process by introducing performant, bulk-action versions of existing operations to allow users to simultaneously manage dozens of communications

Implemented new administrative tools that allowed external service providers to better inform discharge decisions by pushing up-to-date operational information to the hospital database

Owned key responsibilities within the team including scalability and performance evaluation, North Star design, and the evaluation of development requests from our biggest customer


Whatsbusy

| Remote
Full Stack Engineer Intern | May 2020 - August 2020

Migrated the payment system to a multi-stage subscription model with Plaid and Stripe integrations to handle hundreds of thousands of dollars in payments from customers every month

Designed data models and APIs to fetch and convert point-of-sale data from customers into useful analytics

Researched and prototyped apps to onboard thousands of client businesses and automatically manage their online Facebook and Google marketing campaigns


Sweetist Co

| New York, NY
Full Stack Software Developer Intern | June 2017 - August 2017

Developed visualization tools to graph and compare years of shipping data using Ruby on Rails and Javascript

Collaborated with the marketing team to enact sitewide color, design, content, and formatting changes

Wrote and corrected dozens of Rails tests for new features leading up to updates


Network for Teaching Entrepreneurship

| New York, NY
Engineering Mentor | June 2016 - August 2016

Mentored students in web app development using HTML, CSS, and Javascript

Software Engineering Student | June 2015 - August 2015

Lead development of a mobile Android application using HTML, CSS, and Javascript with Apache Cordova


Activities.


Stony Brook University

| Stony Brook, NY
Student Researcher | June 2019 - December 2021

Proposed decentralized and adaptive DNS services to improve user privacy and then implemented proofs-of-concepts by modifying Firefox and Knot Resolver

Devised recurring automated web crawls over 150K domains from the top 50K websites, collecting terabytes of data with the goal of identifying optimal DNS TTL values

Parsed network data from crawls to find meaningful trends and presented these as papers and workshop talks


Stony Brook Solar Racing Team

| Stony Brook, NY
Datalogging Lead | August 2017 - May 2020

Developed a telemetry system that consolidated onboard sensor information to a Raspberry Pi

Vice President | August 2018 - May 2020

Managed the administrative duties including elections, recruitment, and internal affairs

Engaged with the school officials to negotiate finances, collaborate with other organizations, and hold events

Secretary | August 2017 - May 2017

Acted as a point of contact between the organization and the school, the student body, and other organizations


Stony Brook University

| Stony Brook, NY
Computer Networks Teaching Assistant | August 2017 - December 2017

Ran Python tutorial sessions, designed and graded homeworks, and answered student questionss


Education.


Stony Brook University

Stony Brook University.

Stony Brook, NY

M.S. Computer Science (2020-2021)

B.S. Computer Science, Applied Mathematics and Statistics (2016-2020) - GPA 3.85

POSTECH

POSTECH.

Pohang, South Korea

Study Abroad (2019)

Stuyvesant High School

Stuyvesant High School.

New York, NY

(2012-2016) - GPA 94.36

Skills.


Experience with:

Some experience with:

Coursework:

Emphasis indicates ongoing. Bold indicates graduate courses. Red indicates fields of research.

Projects.


This project writes out the structure of a directory as text in your terminal. You can then edit the text in-terminal and any changes made through the editor will be applied to the actual file names, so all renaming can be done in one place.

DirectWriter

DirectWriter

C

This project writes out the structure of a directory as text in your terminal. You can then edit the text in-terminal and any changes made through the editor will be applied to the actual file names, so all renaming can be done in one place.

Source

FrameFinder is meant to automatically look through videos for a specific moment. If you have hours of uncut video and you are trying to recall a specific moment, draw it out as best you can and use FrameFinder to look for you while you do something else.

FrameFinder

FrameFinder

HTML, CSS, Javascript, Python Flask

FrameFinder is meant to automatically look through videos for a specific moment. If you have hours of uncut video and you are trying to recall a specific moment, draw it out as best you can and use FrameFinder to look for you while you do something else.

Source Demo

Tool for writing and annotating notes, aimed at those learning a foreign language.

LangAnnotator

LangAnnotator

HTML, CSS, React.js

Tool for writing and annotating notes, aimed at those learning a foreign language.

Source Demo

Visualization of Kaggle Spotify song datasets using d3. Includes visualizations of raw data as scatter, bar, and parallel coordinate plots, as well as MDS and PCA decomposition.

Spotify

Spotify Visualization

HTML, CSS, Javascript, d3

Visualization of Kaggle Spotify song datasets using d3. Includes visualizations of raw data as scatter, bar, and parallel coordinate plots, as well as MDS and PCA decomposition.

Source Demo

Reusing data from the Opportunity Atlas to visualize disparity in opportunity inequality by race in the United States.

Inequality Visualizer

Inequality Visualization

HTML, CSS, Javascript, d3

Reusing data from the Opportunity Atlas to visualize disparity in opportunity inequality by race in the United States.

Demo
Mealz

Mealz

HTML, CSS, Javascript, Python Flask

This website is aimed to give friends a way to track how they are splitting bills. Rather than constantly having money trade hands, many small transactions can be tracked and split between participants.

Source Demo
GraphIt

GraphIt

Java, JavaFX

GraphIt is an interactive graphing utility. The user can click on the graph and its nodes to add, remove, or move points. Switches allow the user to toggle the mean, standard deviation, regression line, and other statistical measures about the dataset. There are also options to batch modify the data.

Source
FDNS

FDNS (Fork)

C

Fork of dns stub resolver. Implements the k-resolver strategy described in the following paper: K-resolver: Towards Decentralizing Encrypted DNS Resolution. Divides DNS lookup load across multiple possible resolvers.

Source
C&C

Git-based C&C

Python, Bash

Covert command-and-control software meant to allow infected machines to communicate with an external server. Communication and exfiltration of data using a set of scripts that export using preset git repositories.

Source