The Software Engineering Portfolio for Nathan Karasch


Here you'll find a small sampling of projects I've worked on. Click on hyperlinked project titles to display more details, screenshots, etc about a given project.

Government Agency
Application Developer

Electronic Document Filing Application

Zirous developed an application years ago to facilitate the client being able to receive, distribute, and publish documents from their customers. I maintained this system and provided support for ad-hoc requests, troubleshooting, and development.

  • Developed SQL queries to generate custom reports.
  • Provided timely responses and solutions to ad-hoc requests, communicating effectively to gather requirements and deliver on-target solutions.
  • Implemented monitoring processes to ensure successful delivery of critical email notifications.
Food Production and Distribution Company
Application Developer

Machine Learning POC

The client used Oracle E-Business Suite to manage its various manufacturing processes. It struggled with intermittent “hanging process” issues within the system, which led to wasted time and resources. The notification system that raised alerts for hanging processes was inefficient, missing many cases and having a high rate of false alarms. This proof-of-concept project demonstrated the ability of statistical analysis and machine learning to more accurately identify hanging processes and reduce the rate of false alarms.

  • Configured the database connection, allowing data to be pulled from an Oracle database into a Python notebook.
  • Created an effective machine learning model to predict whether or not a concurrent program would hang. This involved data discovery, data cleaning, feature engineering, model selection, hyperparameter tuning, model training, and evaluation. The final model caught more than 4x as many hanging processes as the existing system, while decreasing false alerts by 70%.
Workers' Compensation Insurance Company
Application Developer

H2O Driverless AI POC

This client was exploring various machine learning frameworks to expand their data analytics capabilities. As part of this effort, they hired Zirous to test-drive and report on the capabilities of the enterprise-level AI platform, H2O Driverless AI.

  • Provisioned, configured, integrated, and secured all Google Cloud Platform (GCP) resources used in the project, to include Compute instances, marketplace deployments, Identity and Access Management (IAM), networking and firewall rules, Cloud Storage, BigQuery, and Datalab.
  • Created an end-to-end machine learning pipeline, which was able to import the data, perform extract-transform-load (ETL) to clean and shape the data, train a machine learning model, evaluate the training results, save and version model artifacts, and deploy the model to a load-balanced CPU cluster in the cloud as an HTTP endpoint.
  • Co-authored the final 62-page report documenting data analysis, product insights, platform usage instructions, model operationalization processes, and cloud configuration details.
Senior Design Project
SE Student

Hammer IO

  • Created a DevOps framework offering an opinionated approach to developing and managing microservice applications in Node.js
  • Integrated various web services and APIs into the development processes and into the deployed software
  • Designed, implemented, tested, and deployed multiple products supporting the same overarching objective
  • Thoroughly documented the project plans and architecture in preparation for project handoff
  • Final Report
  • Poster Display (infographic)
Iowa State University
Research Assistant

L2 Speech Ratings

Two clients required unique, scalable solutions for aggregating and managing their research data. One solution moved the client’s existing spreadsheet data management process into a relational database with a web interface. The other solution, L2 Speech Ratings, played audio samples for the research participants, collected survey responses, stored the survey data alongside correlated demographic information, and provided an administrative interface to upload audio or download survey results.

  • Leveraged ISU’s Drupal website infrastructure to provide an interface for data management
  • Designed the database schema for both projects, creating custom rules to join tabular data along common keys to reduce duplication and increase data cohesiveness
  • Architected and implemented a custom web application to serve as an audio-rating platform
  • Adapted to client requests to migrate the solution to Amazon Mechanical Turk (AMT) midway through the project
  • Maintained open lines of communication with the clients to solicit feedback throughout the design and development process to ensure the solution was meeting the clients’ goals
  • L2 Speech Ratings was a web application for collecting audio file ratings.
  • Facilitated the research of Dr. Charles Nagle in the field of second-language learning.
  • Featured the ability to upload files, create rating surveys, collect ratings from users, and download the results as a CSV file.
  • Used Google OAuth2 for user login; featured admin user types and rater user types.
  • Later adapted the project requirements to use Amazon Mechanical Turk (AMT)
Class Project
SE Student


  • An online dashboard application to sync a user's accounts, IoT devices, and other tech.
  • Designed and implemented for our semester-long Software Architecture (SE 339) project.
  • Used Angular2 SB Admin framework for the frontend.
  • The backend consisted of a Java Spring microservices architecture.
  • The project was used the following semester by the professor as a case study and as a lab for SE 339 students.
Class Project
SE Student

Codable Media Mashup

  • CoMM is a language and CLI interpreter I devised to slice and join online video clips.
  • Uses ANTLR to generate the parser and lexer.
  • The interpreter transpiles the CoMM language into a shell script, and then executes the shell script.
  • As my first attempt at writing a language (the attempt being made before taking Principles of Programming), the functionality is very limited.
Class Project
SE Student

Mines of MIDIa

  • Teaches the user to play drums through MIDI file play-alongs and sheet music.
  • Allows the user to upload, search for, play, and rate MIDI files.
  • Features a visual drumset that highlights which specific drums are being played during playback.
  • Generates sheet music from the MIDI file being played.
Class Project
SE Student


  • An extensible command line interface for the browser.
  • Combines the benefits of a web UI with the look and feel of a command line interface, meaning that power users get the quick, command-entry interaction they love while still being able to output whatever HTML content you would normally see in a web application.
  • Comes with a set of standard library processes, but allows the user to easily create custom processes specific to their own needs.
Class Project
SE Student


  • Gives NextBus predictions through the command line interface.
  • Operates by curling from the NextBus API, parsing relevant information from the XML, and displaying that information to the user.
  • Features the ability to save route/stop combinations for easy reference.
Class Project
SE Student

Beatnik Encryption

  • Uses the esoteric language Beatnik to encrypt/decrypt a base64-encoded string.
  • The string, once encrypted, looks like an avant-garde poem.
  • Beatnik, a stack-based language, uses the Scrabble score of words as the program's operations and values.