TechnologiesJava, JSP, XHTML, JavaScript, Ajax, JSON,jQuery, jQuery UIRESTful web services, SQL.

Contribution: Principle Developer, Designer, Requirements Analyst.

Description: eGrades was an ambitious project to move the University of South Florida's grading system from a paper based process to one fully online.  The project was initially planned to implement a module within the Student Information System, but it was deemed inadequate and only a small improvement over paper submissions.  I was a member of the design team tasked with creating an application which would plug into our Learning Management System (LMS).

This application allows instructors to import grades from the LMS, make any desired adjustments, and submit them to our Student Information System.  It also implements University and State requirements for grading while providing an easy workflow for instructors to submit grades from all corners of the world.

Data is imported from Canvas LMS using its RESTful APIs and LTI interface.  Then, after modification is made by the user, grades are submitted to the Student Information System using a SOAP web service.  In between, settings and data are saved to an Oracle database using SQL and JSON via Ajax calls.

More information: See the commercial produced for faculty here:  Full documentation is available here.


First Day Attendance


Technologies:  Java, JSP, XHTML, JavaScript, Ajax, JSON,jQuery, jQuery UI, RESTful web services, SQL.

Contribution: Principle Developer, Designer, Requirements Analyst.

Description: The First Day Attendance applications integrates with the University of South Florida's Learning Management System (LMS) and Student Information System (SIS).  

The tool was designed to make it easy for course instructors to comply with the State mandated attendance policy.  It loads a roster from the LMS, provides an interface to mark absence and presence, and allows for submission of these to the SIS.  It also immediately drops students from the LMS.

Utilizing the Canvas LMS RESTful API, student rosters are imported and students are dropped.  Another RESTful service from the Student Information System processes the drops there.

More Information: USF's Teaching and Learning Academy did a short video tutorial about how to use First Day Attendance.




Technologies: Java, AWT

Contribution: Designer and Developer

Description: Phomoil is a graphic processing application utilizing AWT and convolution matrices to reproduce one of the first photographic printing techniques called "bromoil."  The challenge with this digital processing, and with all art filters, is replicating natural variance in analog processing.

This is even more noticeable with bromoil since they are traditionally hand inked with a brush.  I am satisfied with how close I got using a three step process, with simple randomness introduced at each stage.  First, the image is splotched -- the application randomly chooses pixels in a row and increase their size, simulating a brush blotted onto the medium.  Second, I do a "comet" smudge, taking an area of pixels and dragging them across the image, leaving a trail behind them, mimicking dropping a brush on the page and dragging.  Finally, this is blended with the source image which has also had a soft focus effect applied.

More Information: You can see more on flickr. A prototype version is available at github.

Kwi-S Hand Sign Remote Control

The handsign for "play."

The handsign for "play."

Technologies: C#, Creative Interactive Gesture Camera, Intel Perceptual Computing SDK, Windows Media Center.

Contribution: Designer, Developer, Contestent.

Description: Entered into Intel's 2013 Perceptual Computing Challenge where I was chosen as a finalist.  I don't like talking to electronic devices.  In public it is weird when you talk to yourself, and in a small house or apartment, talking to your media device can disturb others sleeping or quietly reading a book. Speech systems also tend to pick up normal conversation and even the media itself, interpreting it as commands.

Some media devices implement a gesture system to overcome some of these issues, but gestures are limited and imprecise, doing things like pointing at  the screen or using your finger tip as an input device. Arms also tire quickly moving about the screen.

Kwi-S is a proof of concept implementing a sign language vocabulary for control of Windows Media Center. Using handsigns the viewer can play, pause, fast forward, rewind, adjust the volume, and choose media to play. 

More Information: The project is available for download over on github.


Nosh Nomad


Technologies: Ruby on Rails, Google Geocoding API, HTML 5 Geolocation

Contribution: Designer and Developer.

Description: Food trucks have wheels, which is great because they can move around, but also a problem because you can't always find one when you are hungry.  Using Ruby on Rails and location services, Nosh Nomad provided users a mobile and desktop web page to see where their favorite food trucks were serving.  Owners had a private page they could visit to easily tag their location for customers to see on a map.

More Information: The service unfortunately did not catch on, so the sites are offline.  


iOS Wallpaper App

Bald Cypress II.jpg

Technologies: iOS SDK, Objective-C

Contribution: Designer, Developer, Artist.

Description: This simple iOS application was created to showcase my photography work and make it available for users to set as iOS wallpaper on an iPhone or iPad.  Users could browse multiple galleries and save favorite images to their personal photos.