Computer Science Student

Projects

Operator App (Android)

Kotlin Android Amazon Textract REST API

The native Android version of the Operator app, built alongside the iOS version being developed by the lead developer. Uses Amazon Textract to extract values from handwritten daily worksheets via OCR. Operators review extracted data using a swipe-card interface -s swiping right to approve correct values or left to flag incorrect ones for manual entry.

Service Line Inventory

Python Node.js MariaDB (MySQL)

A compliance tool for the EPA's Lead and Copper Rule Revisions. Exports service line data from Munibilling and Harmony MDM into the Aqua Certify database, then cleans, standardizes, and enriches it using various APIs. Pulls data such as year of construction and subdivision to eliminate non-lead lines. Currently being extended to allow field technicians to enter service line materials and upload photos via the Technician app (stored to AWS S3).

Consolidated Utilities Website

PHP JavaScript WordPress

A custom WordPress theme and plugins for the utility's public-facing website. The theme is a hybrid approach, combining classic PHP templating with block editor support. A plugin currently in development uses WordPress Cron to cache service territory boundaries from the Aqua Certify backend, which will render interactive maps and provide more granular information to customers. I received Figma designs from UX, and coded the HTML / CSS to match the designs.

Aqua Certify Cloud Setup

AWS Auto Scaling Group RDS S3

The Aqua Certify project is hosted on EC2 auto scaling groups. I wrote bash scripts to troubleshoot the app for configuration errors. If they cannot be resolved, AWS health checks will discard an unhealthy instance and replace it with a healthy one.

Aqua Certify REST API

Node.js MariaDB (MySQL) JavaScript

Powers the Aqua Certify web and mobile apps through a private API, and exposes a public API that provides Baseform with well data not available through SCADA. Generates EPD compliance reports as Excel spreadsheets using the Excel4Node module. Also calculates service territory boundaries and provides them to the utility website for rendering interactive polygons on Google Maps. The database is normalized to third normal form. The API will be rewritten using Nest with TypeScript or Spring with Kotlin.

Aqua Certify Web App

React JavaScript REST API

Built the initial prototype of the Aqua Certify web app to give operators a browser-based interface for managing well and lift station data. Operators can generate Excel reports, while administrators can add and manage resources (wells and lift stations), group them by route, add or remove users, and manage permits. Developed quickly using React to meet an immediate operational need. A redesigned version is currently being built by another developer.

Aqua Certify Technician App

Kotlin Android REST API

An Android application for field operators to log well and lift station readings. The app is offline first, caching all data using the SQLite Room ORM. The app displays completion status of wells, lift stations and the routes that they belong to.

brianabbott.com

HTML CSS JavaScript

This personal portfolio website. A responsive, static site built with vanilla HTML, CSS, and JavaScript. Features a mobile-first design with a hamburger navigation menu and clean, minimal styling. My UX friend created designs for me in Figma, and imported them into Zeplin. I coded the UX based on the designs.