Welcome!

Hi, I'm John, and this is my site on the WWW. I'm a hacker by trade and hobby, currently working as a freelancer. I love big cities, weird tech history, and javascript. If you need someone with software design experience for a project, I can help you get it done. Feel free to contact me about business, or my prior work, via the contact info on this site or my resume.

Clamparking -- Parking space management with minimal overhead

This was the final deliverable for a computer architecture class. We were asked to design an IOT product that would solve a specific problem, and the greatest threat to any Monterey Bay student in 2018 was finding a parking spot on-time for class.

We acknowledged the fact that all the university parking lots were in open-air and had proximity to the school's WiFi. Therefore, we created an IOT-connected sensor to detect open parking spaces, and report needed parking spaces to students. This device only requires WiFi access points to operate, and can be placed at the end of any parking spot. All the software needed can be run in on-demand compute services for a minimal cost. I ended up providing the IOT glue for the device, the frontend webapp, and orchestrated the backend services to demonstrate sending parking updates to students.

Multi-Leap -- Multi-user interaction surface

Working demonstration of multiple LeapMotion infrared trackers being used on one PC. This work was intended for an interactive projection surface, and would allow multiple people to manually interact with applications displayed on the glass.

This was achieved using SystemD-Nspawn process containers in linux, as the Leap driver at the time did not allow for multiple controllers to be connected to one machine. I used the process isolation provided by SystemD to filter the USB identifiers of the controllers in each container, so that only one controller was seen per container instance. Since the Leap driver is exposed via websocket, this allows for an application to use multiple controllers at once.

Portfolio Website for Pieper Construction

A local construction company in LA needed a new website to exhibit their previous work. Their old site was predicated mostly on SEO content, without much for human visitors to see. I took some queues from other contractor portfolios and made a gallery page which expands to show the summaries of the jobs.

Scene Scheduling for the LA Music Center Plaza

Over the past few years, the Los Angeles Music Center has installed an IP camera system and signboard monitors to create altered reflections of their plaza space. yU+co has taken this system and used it to apply style-transferred projections and other effects to those passing by.

I was contracted to provide a simple scheduling mediator for the different effects used by the system, and allow for creating detailed schedules for the week, by day, hour, scene and various controls for duration and immediate scheduling. This allows the operators to control the central touchdesigner application externally, and save persistent schedules that can be swapped for different times of the year, all from a simple web application.

Spodder -- Find places and events right around you

An experimental social network that allows you to anonymously create 'beacons' on a shared map. The beacons can tell others what you're up to or things going on in the area, through text and/or images. You can click on these beacons all over the map, or you can view them as a feed with more details.

Traceur -- VR exercise gamified

Concept of an infinite runner as a VR exercise game. I worked on this as part of a small team for my game programming final project.

I implemented a primitive motion tracking solution based on work I had done for a past research project. The game is able to track quick side-to-side movements or jumping, and maps it in-game so you can avoid obstacles approaching you. This works by calibrating offsets against the accelerometer, and checking the magnitude of acceleration in each direction to determine which way the player wants to dodge.