Matt Omori


LEGO Receipt Enhancer

JavaScript bookmarklet (2019)

LEGO Receipt Enhancer LEGO.com has a service where you can buy individual parts if you're looking to build your own creations. My problem with it is: 1. shipping and processing times can take several weeks before you receive the parts you ordered and 2. the receipt for your order only contains the element numbers you bought without the picture of the parts. It is thus hard to remember what you ordered, especially if you want to buy more parts before a previous order has arrived.

To solve this, I built a JavaScript bookmarklet that detects LEGO element IDs on the receipt web page, looks up their pictures used in the store service, and injects the pictures directly into the receipt view.

How to use it: drag this LEGO receipt enhancer link into your bookmark bar in your browser. When you are on LEGO.com and have placed a Bricks and Pieces order, open the order and click the bookmark to run it.

Note: this bookmark may stop working any time LEGO changes their site design, but the code should be robust against layout changes and easy to modify for any layout changes. If it stops working for you, come back here and I will likely have a new version available already.

LEGO Mosaic Designer

JavaScript web application (2017)

LEGO Mosaic Designer When designing my custom LEGO Game of Thrones Red Keep, I found it extremely time-consuming to physically rearrange the small pieces to create a stained glass window design.

To save time and design a better final product, I built a JavaScript tool that simulates LEGO part shapes/colors and can be used to prototype design changes much faster. While other LEGO modeling programs exist, there is no other tool for building mosaics using this particular LEGO element.

The tool is available to try for yourself and I populated it with the final designs I created.

The Biasphere

thebiasphere.org - Social Network Web Site (2007-2009)

The Biasphere Logo The Biasphere was a social networking site that I built from 2007 to 2008 and maintained/updated until late 2009 as a hobby. It was originally focused on video game and movie reviews, but I eventually added more features as time went on including forums, blogs, achievements, and more. While I do not update the site any more, I am still hosting and monitoring it.

The site was built entirely from scratch using XHTML, CSS, and PHP. I also designed all images and wrote many of the first reviews. I was the site's sole administrator (username Tusserte). This was my first real project in web development and programming and is my biggest project to this day.

It should also be noted that The Biasphere was a re-imagining of my previous middle school hobby, Ultimate Reviews. This was a static review site I began in 2005 at Webs.com (a WYSIWYG editor) and eventually converted into my own design as I learned HTML. Writing reviews myself was too time-consuming and I wanted to open the site for anyone to write their own reviews, so I took it upon myself to learn PHP and MySQL.

MeDB

medb.net - Note-taking Web Site (2012)

MeDB was a note-taking site I built as a solo project for a databases class I took in Spring 2012. The site allowed users to create accounts and then save notes in a question/answer format. Users could also define objects and then focus questions about the objects instead. The search engine had heuristics for the autocomplete results and used simple language parsing to allow users to ask questions about objects in multiple ways. I no longer own the domain name, but host a backup here for viewing purposes.

The site used a light backend in PHP to access complex MySQL functions and used heavy JavaScript for the user interface (mostly using jQuery).

Kinematic Chain Path Planner

Planning Algorithm Implementation - Web Application (2011)

7 Links, orientation 17 Links, orientation 2
I took a course on Planning Algorithms in Fall 2011 and had two cumulative homework assignments to implement rapidly-exploring random trees (RRT) as a method of pathfinding. I put a lot of work into this assignment and think the final product was pretty cool. The program takes a definition for a set of linked robot joints, circular obstacles, a starting robot configuration, and an ending robot configuration and outputs an animated GIF of the transition (assuming one exists).

The program was written in PHP using the GD library along with a library I found called gifmerge (PHP GD doesn't naturally support animated GIF creation).

Try the program for yourself and view source.

Joggraphy

Exercise Game - Windows Phone 7 Application (2011)

Joggraphy screenshot Joggraphy was a Windows Phone 7 app that turned users' continuously updating GPS coordinates into connected dots on a map. This gave users the impression that they were drawing on a map by walking around. The app was built in early 2011 as a submission for Microsoft's Imagine Cup 2011 and received an Honorable Mention award. I had the original concept and worked on the pedometer and front end while my partner, Devin Lundberg, worked on the GPS/map integration and submission process. Watch our submission introduction video.

The ultimate goal of this app was to build different games using the drawing technology as the base. We had plans for games such as trying to draw shapes, multiplayer games similar to Tron, and more. We were only able to complete the drawing component, pedometer, and UI in time for our submission. We then found that the GPS coordinates were not accurate enough for a satisfying drawing experience. The project has since been abandoned.

Vidivize

Video Editor/Player - Flash Application (2010)

I built a YouTube-based video editor in Flash for a Facebook Hackathon competition in October 2010. The competition challenge was to build a project from start to finish in a 24 hour sprint, and my project received an award for "Most Potential to be a Real App".

The application uses the YouTube Flash API to load videos and dynamically play them back to simulate the effects of editing. Cropping was simulated by changing the start frame and inserting a pause API call at the appropriate end time. Effects like fade transitions and textbox popups were handled by ActionScript at timed events. Edited videos can be saved by sending the original video URLs and effects with timestamps to a PHP script which stores the data in a MySQL database.

My goals ended up being overzealous for one person to complete in less than 24 hours, and my final product was a working editor and player with no GUI. The editor had all the features built and functional on the output video, but because the input was so simple it would be hard to use it effectively. The project has not been completed since YouTube came out with their own video editor which has more features than their API could possibly help me simulate. View the demo here.

Steganize

Steganography Program - C++ Application (2010)

Steganize was a steganography application built for a class honors project in Spring 2010. By uploading an image and using a secret password, users can encrypt secret messages by altering bits in the original image without significantly changing the way it looks.

The application was built in C++ and the input/output was designed by my classmate and project partner, Terence Zhao.

I later attempted to create a Windows Phone 7 app for this idea, but found that the default image compression on phones prevented me from altering bits in an easily predictable way.

Rainbow Road

2D Game - Java Application (2009)

Rainbow Road game screenshot Rainbow Road was a Java game built for an introductory computer science class in Fall 2009. It was my first legitimate Java project as well as my first project that wasn't web oriented. Players control a rocket ship through a canyon and avoid the randomly-generated walls, trying to survive as long as possible as the game speeds up and the passage gets narrower. The name was inspired by the rainbow canyon walls.

Download a .zip containing the source and images.