Next Up - A Podcast Alarm

Update!

Next Up is now live in the app store. Check it out here.

For more screenshots and up-to-date info about Next Up, check out the Next Up support page.

Summary

Long before I ever considered taking a course in iOS app development, I knew, if I took one, what my final project would be. I wanted to wake up to something less abrasive than alarm sounds and more engaging than music.

I spent hours and hours over the course of months looking for an app that would do one simple thing: allow me to wake up in the morning to a podcast of my choosing. The options I found were scarce and disappointing.

Functionality

I designed Next Up with the intention of creating something clean, intuitive, and well-suited to its particular purpose. It integrates with podcasts already managed in the native Podcasts app and plays in the native Music app.

Each alarm has options to repeat on particular days of the week, play the newest episodes first, only play uneard episodes, choose snooze duration, max volume, and more. This allows it to accomodate for podcasts of all different types, whether daily, weekly, serial, stand-alone, or those dealing with news or current events.

OpenMC Plotter

Summary

I developed a graphical interface for visualizing and manipulating plot slices for the open-source Monte Carlo particle transport simulation software, OpenMC, which is now used almost daily in the design of nuclear reactors. It was voluntary contribution overseen by a favorite instructor, the project's originator, Dr. Paul Romano.

Technologies

The program was implemented in Python, using a Python adaptation of the Qt graphical framework called Pyside2, and dependent on integration with the OpenMC code base.

links

Video Demo

A brief demonstration of some of the program's key features and methods of interaction.

Video Credit: Patrick Shriwise

REGGIE

Summary

REGGIE is a complete, real-world school registration system specification. As the final project for an Object Oriented Programming course, I was tasked with implementing a subtantial portion of the specifications, and received very positive feedback on the result.

Features included log-ins, courses, sections, schedules, student transcripts, instructor assignments, rosters, prerequisites, user and administrative user-management, student registration with multiple eligibility requirements, instructor approval requests, and grade assignment, among others.

Technologies

The program was written in Python, with an emphasis on good use of OOP design patterns. The program used a text-based terminal interface.

links

  • University policy forbids public sharing of coursework as a measure to prevent plagarism. Source code available upon request to interested employers.

Screenshots

Screen captures of the program during different states

Mandelbrot

Summary

As a part of a project for a course in parallel programming, I created a program to generate Mandelbrot and Julia Set plots. The program made full use of the machine's available processors to render the plots with maximum efficiency

Image specifications were read in from .csv files determining which kind of set to render, as well as the center coordinates, resolution, and color pallete for each image.

Technologies

The program was implemented in Go, with an emphasis on good use of the language's multithreading capabilities.

links

  • University policy forbids public sharing of coursework as a measure to prevent plagarism. Source code available upon request to interested employers.

Chicago Crime Data

Summary

As a weeks-long final project for a course on Big Data, I created a simple web app that imported, aggregated, processed, and presented crime statistics by date and type throughout Chicago.

Technologies

The course and project included at least some use of Scala, Spark, Hadoop, HDFS, MapReduce, Hive, HBase, Kafka, and the Google Cloud platform.

links

  • University policy forbids public sharing of coursework as a measure to prevent plagarism. The web host used for the course has since been disabled as well.

Volunteer Management Database

Summary

As a course-long project for a class on databases, I designed and developed a databse for the management of a large-scale, international volunteer disaster response organization.

The system tracked volunteers, employees, worksites, vehicles, equipment, and stored an event-based record of every important activity, from which other meaningful data could be derived.

Technologies

The database was implemented in MySQL, making use of a variety of the system's capabilities. The completed project included a simple back-end and web interface for users to retrieve and manipulate the data.

links

  • University policy forbids public sharing of coursework as a measure to prevent plagarism. Source code available upon request to interested employers.

Hoot Owl Hoot

Summary

As a part of a Python assignment, I was tasked with simulating the logic and play of a young child's cooperative boardgame by the name of 'Hoot Owl Hoot'.

The program simulated games played with optimal strategy and varying numbers of players. After simulating thousands of games, probabilities of winning were calculated for each number of players based on the results.

Technologies

The program was implemented in Python.

links

  • University policy forbids public sharing of coursework as a measure to prevent plagarism. Source code available upon request to interested employers.

This Website

Summary

As a personal project, and chance to put into practice some of what I learned in my studies of web development, I decided to put together this website as a simple showcase of some of my education and experience in less formal format than a resume or LinkedIn profile.

It's an ongoing project, with more planned than has already been implemented.

Technologies

At the moment I am exploring all that can be done with HTML and CSS alone (with a smattering of Bootstrap), though I do plan to implement JavaScript functionality as the project continues.

links

Debris Management Survey and Analysis

Summary

As my role as a Project Coordinator for the Haitian disaster response project neared conclusion, I prepared and oversaw a survey of the beneficiaries of the debris management programs, which included the demolition of unsafe structures and removal of rubble from personal properties.

I used the information from this survey, and from the database of benefiary and worksite information that I had previously overhauled, to compile an exhaustive, data-rich final analysis of the programs' impact in the community we were trying to serve.

Not every out outcome was what we hoped, but it was important to honestly asses what had been done to provide guidance for future projects. To that end, I also wrote a document of guidelines and advice for futre debris management projects.

links