Picture of Chris wearing a blue and white checkered dress shirt.
*Quality profile pictures are hard to come by. - 2018

Hello there,

I'm Chris Petta, a Software and Web Developer living in Grand Rapids, MI.

Currently, I work as a full stack developer at eTool Developers where I write HTML, CSS, JavaScript, and PHP to maintain our client websites. I'm also pursuing a B.S. in Computer Science at Davenport University. I love to tinker and experiment with new technology. Over the years, I've hosted several web, email, and game servers. I've built several computers, flashed a custom ROM on my phone, and written scripts to automate repetitive tasks. When I have free time, I enjoy 3D modeling, playing games with friends, and riding my bicycle.

Skills


HTML 5
HTML5
CSS 3
CSS3
JavaScript
JavaScript
Git
Git
PHP
PHP
MySQL
MySQL
C Sharp
C#
PowerShell
PowerShell
Gulp JS
GulpJS
Photoshop
Photoshop
Blender
Blender
Substance Painter
Substance Painter

Website Development


Kuzmaclass.org's homepage displayed on desktop, iPad, and mobile

Kuzmaclass - Homepage

See Demo

The Kuzmaclass website provides useful information for our students and their parents. We worked on a prototype version of the site that reduced code complexity, added a student showcase, and made the site touchscreen-friendly. We reduced code complexity by adding comments and removing unused or redundant code. We created the showcase section using flexbox in HTML and CSS. Finally, we made the site touchscreen-friendly by increasing the size of links, creating a mobile-friendly navigation menu, and modifying the layout to work better adjust to mobile resolutions.

Kuzmaclass.org's sandbox displayed on desktop, iPad, and mobile

Kuzmaclass - Sandbox

See Demo

The sandbox is a page on Kuzmaclass that we created to act as a portal to student projects. Initially, it just contained a bunch of links to various student projects. After a while, it became quite hard to find specific projects. We needed a way to search and filter them all. When redesigning the sandbox page, we decided that our primary goal would be to allow every project to be searched and sorted. Along the way, we also changed how data for each project is stored to make future updates easier. Finally, we organized the student projects into logical groups for easier sorting. We accomplished these goals by storing the project data as an array of JSON objects. Since there are so many student projects, code reusability was vital. We utilized JavaScript to accomplish many of these goals.

Campfire Pizza site displayed on desktop, iPad, and mobile

Campfire Pizza

See Demo

Campfire Pizza is a fictitious pizzeria website that I created while learning ASP.net development using C#. In addition to marketing, the site allows users to submit orders which are then tracked on a separate page. It also provides a store search functionality which would allow a user to find stores in their area.

Kuzmaclass.org's sandbox displayed on desktop, iPad, and mobile

Sandpaper

See Demo

Sandpaper is a tool I developed to improve the work involved with building and optimizing websites. It started as a gulp file that automates linting, fixing, running, and minifying code. As things progressed, it needed to be easy to use by a less technical audience, so it became a stand-alone program. Sandpaper helps developers avoid common errors in HTML, CSS, and JavaScript. It optimizes assets to improve page load times by up to 30%. Additionally, it automatically substitutes vendor-specific CSS and polyfills new JavaScript features to support older browsers.

C# Development


Left shows the original text, and the right shows the result of running the huffman encoding program I wrote.

Text file compression program

See Demo

This text compression program I wrote in C# is a command-line tool for compressing text files. It uses the Huffman encoding algorithm which on average will save roughly 40% in file size. During this project I learned a lot about binary trees, hash tables, input/output processing, and text file formats.

A social graph I created

Social Graph Builder

See Demo

As part of a different project, I wrote a small program that organized the data from my steam friends-list into a format that could be loaded into Gephi for visualization. For this program, I created a tree data structure that held user information. It then traverses the raw friend-list information to create the structure shown in the visualization in memory. Once that structure has been created, it outputs the data in a .csv format that can be easily loaded into Gephi.

Several states in a tic-tac-toe game

Tic-Tac-Toe AI

See Demo

This program allows you to play against the computer in a game of Tic-Tac-Toe. It implements the MiniMax algorithm which allows the computer to play perfectly. So unfortunately for the human player, the best they can do is draw. I learned a lot about game theory and recursion through this project.

A social graph I created

Commandline Chat Program

See Demo

In my free time, I wanted to learn how to create a C# program with networking capabilities, so I created this simple chat application.
While creating this program I referenced the Microsoft documentation frequently, but otherwise pretty much everything was written from scratch.

3D Models


Copyright © Christopher Petta - All Rights Reserved

Model Title


  • Date Finished
  • File Size
  • Texture Resolution*
  • Vertices
  • Faces
  • Material Sets
*Some textures have reduced resolution to save bandwidth.

Get in Touch