I'm a design-minded software engineer in Seattle. I love finding stories in data, creating digital art, and exploring technologies to build intuitive, meaningful services.

Over the years, I've been an NPR radio researcher and host, a digital editor on a national fiction magazine, and co-founded an annual local music festival. I hold a PhD in English from the University of Cincinnati, where I taught creative writing, composition, and media studies.

Inflection Point

  • React
  • Data scraping & analysis
  • Data visualization
  • Research, interviews, & writing
  • CI/CD

(sub)mission control

This "mission control"-themed full-stack data visualization app provides richer insights into Submittable user data. Users can dig into their submissions, successes, expenses, and more with this clean, fun dashboard!

  • React
  • Node.js & Express
  • File Uploads & Validation
  • SVG Animations
  • Custom Illustrations
  • Heroku

Writing Music

This collaborative music catalog lets writers share albums that inspires writing. Users update a Google Docs CMS and the Spotify API provides further recommendations.

  • Node.js & Express
  • React
  • Google Docs CMS
  • Spotify API - Recommendations
  • Heroku

MIDI Collaboration

Midi Collaboration App from agbales on Vimeo.

Play music online with friends! Real-time MIDI collaboartion with USB controllers. Custom 80s themed UI for a throwback feel.

I created a tutorial on Medium that was published with Hackernoon:

  • Express.js
  • Socket.io
  • Web MIDI API
  • Heroku


Revise the Internet! This Chrome extension allows you to update any web text or images directly on the page, with a click.

  • Availalbe on the Chrome Store!
  • Javascript

American Lynching

NEH Award Winner

National Endowment for the Humanities

The Chronicling America API from the Library of Congress is combined with landmark lynching datasets from the past 100 years to offer insights into the history and narratives of lynching. Awarded second palce in National Endowment for the Humanities' challenge for the Library of Congress database Chronicling America API.

  • Chronicling America API
  • University of North Carolina - Wilmington, Project HAL
  • Hand-coded Tuskegee University Data


Litwolf is a full-stack React app that helps writers better understand the fiction marketplace. Literary award data was scraped from the web with Nokogiri, stored with MongoDB, and visualized with dataviz tools like Highcharts and Nivo.

  • Webscraping with Ruby & Nokogiri
  • React
  • Node.js & Express
  • MongoDB & Atlas
  • Dataviz Libraries

ProPublica API

I independetly created this custom API for ProPublica's "Spending at Trump Properties" data. It allows queries by date, property, spender, and other properties, returning infromation about political and taxpayer money spent at Trump Properties since the beginning of his presidential campaign.

  • Google Cloud - Endpoints
  • Chai Unit Testing
  • MongoDB
  • Swagger Documentation
  • Node.js / Express

Annotation Genius

Annotation Genius allows you to add Genius-style markup to web documents! Annotated sections are wrapped in spans with id's that correspond to a user-supplied JSON object. It's fast, simple, and comes ready with custom CSS.

  • Open Source Library
  • Backwards engineered existing service.

Cincinnati Police Data

Transforming Cincinnati Open Data into simple and interactive maps in order to educate the public about citizen complaints against the police department.

A custom SVG map I created in Illustrator helps residents locate their district.

  • Cincinnati Open Data — SODA API
View Project

New York Times Best Sellers

Pairing the New York Times and Google Books APIs to create a visually engaging best sellers list. The returned ISBN numbers from the NYTimes best Sellersare used to query the Google Books API and return cover images that are paired with each listings.

The tutorial I created was published on Medium with Free Code Camp.

  • Googel Books API
  • New York Times API
  • Custom CSS
  • Documentation

Scrape -> JSON -> Google Maps

This project scrapes one city’s bridge data from a table on BridgeReports.com. It then uses links within that table to scrape associated pages. The resulting data is converted to JSON and used to populate a Google Map.

The tutorial I created was published on Medium with Free Code Camp.

  • Scraping with Nokogiri
  • Google Maps API
  • Documentation

Terminal Game With Ruby & CSV

This project comes out of a lecture I gave at Ada Developers Academy in Seattle. I created this terminal game with a CSV and a few gems to illustrate Ruby's CSV library methods and ther terminal's potential.

You can read more in this extended tutorial I published with Free Code Camp.

  • Ruby CSV Library & Gems
  • Terminal
  • Documentation


Populating Google Maps with the rarely viewed data about roadkill pickup in Cincinnati.

Clicking the various icons reveals text from the report. You'll find it varies from matter of fact to oddly personal.

Animal icons custom made with Adobe Illustrator, some from tracings and others from scratch.

  • Cincinnati Open Data — SODA API
  • Custom Illustrator Icons
View Project

Free Code Camp

I completed my Front End Development certification with Free Code Camp. That learning included a variety of projects including this Simon Game:

See the Pen Simon by Andrew Bales ( @agbales) on CodePen.

Software Developer

August 2019 - Present

I'm a software developer at Substantial, a digital product studio in Capitol Hill, Seattle. I work closely with designers, developers, and product managers to imagine and build creative products that make a lasting impact.


View Site


January 2019 - Present

I'm a contributor on Ganbreeder, a collaborative artistic platform that uses BigGAN models to connect artists and explore high complexity spaces. After corresponding with project founder Joel Simon, I began contributing new features to make image creation more intuitive and granular.

  • Offer creative input on direction and features
  • Implement front-end features in JS


View Site

Collections Developer

University of Cincinnati
Spring 2016 - Summer 2017

I was hired to transform The University of Cincinnati's Ellison Collection -- a rich database of literary readings at the Langsam Library-- into a public-facing, serachable site.

I standardized CSV data, built an API, and produced a clean, intuitive UI. The work involved technical problem-solving with Ruby, Javascript, PHP, HTML, and CSS. I also produced photos, logos, and site copy to appeal to both students and community members.

  • End-to-end project management
  • JavaScript, Ruby, PHP, HTML, CSS
  • Coordinated with UC's Digital Content Stratgist
  • Photos, logo, and copy production

The Elliston Collection

View Site

Digital Editor

American Short Fiction
2014 - Present

I joined American Short Fiction, a nationally acclaimed fiction magazine based in Austin, Texas, in 2014. I reviewed submissions and helped launch a podcast. In 2015, I became the Digital Editor, taking on responsibilities with design, promotion, and further editorial review.

  • Created podcast & oversaw monthly author recordings
  • Managed social media accounts
  • Read and offered recommendations on ficiton submissions

American Short Fiction

View Site

Wordpress Developer

Kansas Hospice & Palliative Care Organization
2015 - Present

I worked with KHPCO to create and host a new website. The Hospice organization helps coordinate and inform individual Hospice branches, so they needed a way to provide information to the general public and private members.

For this, I built minimal public-facing info pages and a quick login for members who frequently visit for updates, policie changes, files, and newsletters.

  • Designed website based on organizational need
  • Created and maintained documents in private members section
  • Edited organizational copy


View Site