Frank Han
programmer that builds applications across multiple domains

geospatial · web apps · game dev · data visualization


  • Java
  • Javascript (vanilla, D3, jQuery, React)
  • Python
  • C#
  • PHP
  • SQL/MySQL/SQLite
  • HTML
  • CSS


  • ArcGIS Desktop / Online
  • OpenStreetMap
  • Tableau
  • Fulcrum
  • SPSS Statistics
  • Azure
  • Visual Studio 2015
  • Unity3D
  • Photoshop / Illustrator CS6

Living Wage Visualization

Smiley face

Differences in Living and Minimum Wages

Living costs vary by region and the minimum wage is not always sufficient. I wrote a web scraper to access Dr. Amy Glasmeir's living wage model and created an interactive visual using MapBox.

Link: Mapbox Visual, Github Repository

Visualizing Chinese Foreign Direct Investments

Smiley face

An interactive and discovery tool to examine Chinese economic trends.

The web application is a prototype that uses a cartogram to represent Chinese FDI amounts. The application is written using Cartogram.js and the D3 library.

Link: FDI Cartogram, Github Repository

UW Game Dev Club Site

A website, made with no libraries, for the Game Development Club at the University of Washington.

The site is a hub for announcements, club related information, resources, and student made games.
I also implemented a PHP based Content Management System (CMS) to help future officers and admins to easily update site content.


NBR Maritime Awareness Project

Smiley face

An interactive map for the Maritime Awareness Project (MAP) at NBR.

The visualization shows various martime activities in regards to US-Asia relations. I did mostly backend - database management as well as cartography work and contextual research. Specifically, I worked on the following layers:

Air Defense System
9-Dash Line
Submarine Cables
Tropical Storms


Game Dev Showcase

Personal site to display game dev projects

A website to showcase games that I have worked on for the past 3 years. I made this site using ReactJS, within the create-react-app environment. Clicking on each game will display more info and screenshots.

Link: Games By Frank Han, Github Repository

Python Script Tool for CSV and Feature Classes

ArcPy tool to help import CSV files

ArcMap has no native support for CSV files, which is problematic when mass CSV files need to be converted to geographic layers.
I wrote this ArcPy script tool that merges a folder of CSV files and converts it into a single dbf table. The tool has parameters to create point layers or line layers, streamlining the process.

NOAA Tropical Storm Web Scrape Tool

A web scrape tool that converts NOAA archives into .csv.

National Oceanic and Atmospheric Administration holds archival data about tropical storms. Because the data is presented in unfriendly, unreadable format, this tool scapes and parses text off their site into easily downloadable csv files. This internal tool was used to streamline the rebuilding of a tropical storm database.

Int'l District Art (Seattle)

An interactive map for public art in the international district.

Clicking on each point reveals details for each art piece.
Geocode was performed using Field Papers and Github (gist). Data collection using Fulcrum. Visual Display using Carto.

- sorry, work in progress -

Tennis Court Spatial Pattern

Can tennis courts be an indicator of median income?

Created thessien/voronoi polygons surronding tennis courts in Seattle and performed statistical practices. Results showed a correlation! Residents in areas of higher average median income (darker shades) do not have to travel as far to access a tennis court compared to residents of lower average median income.

Water Quality in WRIA 8, King County (WA)

Using data from the EPA to show water quality in King County.

Darker shades show higher "restoration potential," areas that are more effective for investment. These areas also happen to be the less populated and less developed areas.

Comparing US poverty levels in 2003 and in 2013 (Tableau)

An interactive map for poverty levels in 2003 and 2013.

These snapshots in time allow us to compare the change in poverty levels and spatial spread over the decade.

Data collected from US Census.
Map created in Tableau.

Assault Occurrences in Seattle (2010)

A statistical investigation on the spatial distribution of assault in Seattle.
Calculated Moran's I for the following categories:

Contiguity edges only
-Contiguity edges and corners
Inverse Distance
Inverse Distance Squarted
And found clustered patterns of assault occurrences.
Furthermore, the General G for the same categories, showed high intensity of clustering.