Jess Johnson’s Programming Project Portfolio
PPC Reporting System
When: 2007-2008
LoC: 100,000
Contribution: Sole Developer & Architect, Requirements Analyist, DB Designer, DBA, End User Documentation, System Administrator
Tech: Java, myFaces, JSP, Tiles, Apache Trinidad, Apache Tomcat, SQL Server 2000, SVN
Description: A comprehensive reporting system for monitoring the pay-per-click (PPC) performance of online advertisements. Data is imported via Yahoo’s SOAP API, parsing of CSV files delivered automatically via email, and manual uploads. The project includes a multi-tiered login system which allows administrators to manage client login credentials, engine management features which allow administrators to add new search engines as data sources, and 11 different reports which can be broken down by a variety of data filters. The Reporting System is currently used by SEO firms and their Fortune 1000 clients.
Challenges: Optimizing the system to handle 200,000+ DB records on a limited server budget, and identifying an elusive Tomcat bug that only affected people on slow internet connections.
Ravatars Wordpress Plugin
When: 2008
LoC: 450
Contribution: Sole Developer
Tech: PHP, HTML, CSS
Description: Ravatars is a Wordpress blogging platform plugin for generating custom avatars for blog comments. Images are cropped randomly from a set of source images that are configurable by the site owner. The avatars are based on a hash of the commentator’s email address, so commentators receive the same avatar each time they comment. Avatar sizes are configurable by the site administrator. The Ravatars plugin has been downloaded over 1,000 times.
Challenges: Supporting the plugin on a variety of Wordpress versions.
AB Landing Page Testing
When: 2006
LoC: 1,800
Contribution: Sole Developer, DB Design, Statistical Analysis
Tech: PHP, mySQL, HTML
Description: Calculates the relative effectiveness of 2 or more web pages using the Chi-square distribution. The application uses a multi-tiered user system of 3 levels: admin, partner, and client. Admins and partners have the ability to create new tests, change the branding and color scheme of the interface, and view AB test reports. New tests are created by adding the URLs of the test pages to the application, and installing PHP tracking codes on the client’s server in order to track the results.
Challenges: Learning the best way to statistically analyze the results.
GrokCode Website
When: 2007-2008
LoC: 1,300
Contribution: Theme Designer & Coder, Publisher, SEO
Tech: HTML, CSS, JavaScript
Description: GrokCode is my personal website covering programming trends, tales from the software development trenches, recommendations on development books and tools, and my opinions on anything related to programming. I try to cover a variety of topics and programming languages to make the site useful as a general resource for developers of all stripes. GrokCode uses a custom Wordpress theme that I created, and contains all original content.
Challenges: Troubleshooting layout problems with non-standards compliant browsers.
Joke Generator
When: 2004
LoC: 600
Contribution: Sole Developer
Tech: Allegro Common Lisp
Description: The generator is programmaticaly seeded with knowledge about different nouns and modifiers, then uses that vocabulary to generate jokes. The generator searches every possible combination of <modifier> <noun>, <modifer> <noun> in its vocabulary, and tries to create a punchline based on different transformations. All of the jokes are of the form: “What do you get when you cross X with Y?” This code was written for my CS288: An AI Approach to Natural Language Processing class at UC Berkeley. Q: What do you get when you cross a port with Frosted Flakes? A: I don’t know but it’s serial!
Visionary Screener Software
When: 2005
LoC: 80,000
Contribution: Co-Developer, Requirements Analyist, DB Design, Testing
Tech: VB .NET, mySQL, Visual Source Safe
Description: Visionary controls a number of different models of Keystone View brand vision screeners via serial port or USB. The software features the ability to create and save custom vision tests, and save test results for later retrieval. It supports a remote operating mode where one instance of the software can record results offline, and later sync to a master Visionary instance when a network connection is available. Visionary currently supports English and Spanish, and has the capability to support more languages if given translation resource files.
Challenges: Learning Spanish in order to read the project documentation and communicate with the co-developer.