E-Mail
@crait
LinkedIn
Facebook
Back
Projects
Graphic Design
Languages
IDE's & Software
...

The expectations and demands of users in the current generation of technology have reached unseen magnitudes. With each new product or release, the technology industry is pushing consumers to crave the next technological advancement, with even greater requirements after each iteration. "The next big thing" needs to be more engaging, better developed, easier to use, and even more reliable than the last big thing. The future is clear: This industry is constantly mutating and evolving, and those with the right vision and skill sets will be the ones to lead. Coming from both a software engineering as well as graphic design background, I am disciplined in coupling artistic imaginativeness with project functionality, from both an architectural context, as well as a user perspective. Software architectural design, programming and visual design come naturally for me because they are all intertwined into the same creative outlet. To me, programming is art and I am the artist.

Programming is a creative outlet for me. It facilitates so much of my creative process. However, it only goes so far. Often times, my programs or applications require graphic design or UI elements. Long ago, I got into graphic design to help with that need, but it ended up taking me so much further.

As a graphic designer, I have worked with hundreds of companies, creating custom assets, designs, marketing material, and logos. As a UX designer, I have created assets and elements for games, programs, apps, and so much more. Graphic design is such a versatile avenue for creativity that it deserves to be acknowledged for everything that can come from it. The below images are various pieces or assets that I have created in no particular order. Because of my background and experiences, these will vary greatly.

If you plan on traveling the world, knowing multiple languages will only help in gaining a deeper understanding of the the places and cultures you visit. In the ever-changing tech industry, knowing many programming languages will also help facilitate your journey. That is one key aspect that I keep in mind to motivate me in learning new languages as I move onto new projects or work with new people.

Part of the joy of working on a new kind of project was the thrill of learning a new language. Each language has its quirks and annoyances, but they also have their advantages and signature features that set them apart from the rest. Below are some of my favorite programming languages, among other programs that I have used for various projects. These are in no particular order and are accompanied by a rating to show how familiar, confident, and/or experienced I am with each language.

To thousands of developers, including myself, programming is an art. It can be fun or it can be beautiful depending on what you actually decide to paint. One important aspect of painting that really changes the outcome of the piece is the canvas. The material can completely change the look and feel of the painting, changing how a user would interact or perceive the piece.

IDE's are the canvases of the digital world. In this day and age, developers are expected to understand the in's and out's of their canvas: Capabilities, features, layout, effectiveness, et cetera. Below are several IDE's and other development/publication software that I have used for various projects. These are in no particular order and are accompanied by a rating to show how familiar, confident, and/or experienced I am with each language.

...

Ore Programming Language

Ore is a loosely-typed, cross-platform, multiparadigm programming language designed around portability, simplicity and flexibility. It is inspired by languages like C#, PHP, Python, Basic, Bash, CoffeeScript, C and F#. Taking aspects of those languages and combines them together, it leaves out all of the unnecessary, headache-inducing fluff.

Programs that are written in Ore can be compiled and natively executed in Ore OS, which is a compact operating system that takes advantage of the large set of features that Ore offers. This operating system can be run within a Runtime Environment on several platforms including Windows machines and Android devices.

For a list of cool features that Ore offers, don't hesitate to check out the features section of the Language page!

Read More: Official Documentation

Skills: System Design System Architecture


Ore Runtime Environment

Ore OS is an operating system that runs Ore code natively. At this time, it is built into a Runtime Environment, but will eventually be ported to a UNIX kernal for a bootable version.

Currently, Ore OS is divided up among 4 modules with 4 more modules that are either planned or already in development, which bring more features. Current features of the operating system include a simple CLI, basic file manipulation, task scheduling, single-user mode with special privileges that are reserved for an elevated user-mode, multiprocessor support, and more.

Windows and Android both have working variations of Ore RE, and will be made available on the Download page as soon as they are publically released. These environments offer the ability to boot into Ore's CLI and use it as though you are running the operating system natively. This allows full use of Ore's modules and functions that you would normally have access to, so long as the system's administrative capabilities are not interfering. Simply type in some commands and go! Additionally, because Ore RE will be wrapped into executables, there will also be intents available, meaning that files can be opened with and sent over to Ore from Windows or Android.

Read More: Official Documentation

Skills: Operating Systems System Design Software Architecture System Architecture C# Windows Visual Studio Java Android Android Studio


TeleCommand Receiver 1.3.0

TeleCommand Receiver is a program for Windows PC's that will run automated tasks or commands whenever a user on a PS Vita or Android device sends it. The mobile device runs a mobile application, titled TeleCommand, which can send commands securely to the PC over the internet. Using the PC receiver program, you may set up to 50 custom commands and save them, or you can just use the default commands. It also features integrated media player control, such as iTunes and Windows Media Player.

Download: .EXE

Skills: C# TCP/IP Networking Visual Studio Windows


TeleCommand 1.3.0

TeleCommand is the mobile sister program that can be run on Playstation Mobile devices, such as the PS Vita. Commands and arguments can be sent to a user's computer throught the internet once their secret username is input and saved.

Because of the way that Playstation Mobile is developed, downloading and running this program would not be possible without authentication from Sony. Self-authentication is a grey area, so the file will not be publicly uploaded.

Skills: C# TCP/IP Networking PS Vita PSM Development Suite Android


TeleCommand Web Portal

This web portal was created to allow users to send commands to a user's computer running TeleCommand Receiver from anywhere with internet access on any device that can render basic web pages without the need to download the sister application. All TeleCommand features are available through this web portal.

Link: Web Application

Skills: PHP Networking Web


Thumbs Up Discounts WIP

Thumbs Up Discounts is a company that prints and sells discounts cards as fundraising material for schools and other organizations. The cards are good at many locations and expire around a year after purchase. On the back of each card, there is a unique ID number that each card-holder can register online.

I met with the owners to design them an online system to meet several of their needs. This included a front-end website with interactive map and user login all connected through a custom content management system that includes a database manager, and finally, an API that can be used to connect to both an iOS and Android application to pull any kind of information.

On the front-end, there is an interactive map that shows the locations of all of the vendors, a search function, and the ability to register or view a card online.

The database system that Thumbs Up Discounts used was built off of a basic SQL database, but I used this as another opportunity to implement the newest version of my proprietary database system called SealDB. New features such as searching algorithms and large-scale data handleing was implemented. Additionally, SQL-to-SealDB scripts had to be created to convert the existing database.

On the back-end CMS, has the ability to quickly change several settings, create, update, or delete vendor data, manage massive amounts of unique card numbers, generate more numbers to be used when printing new cards, manage vendor categories, upload contracts or logos, and change geolocation data using geocaching that can all be instantly reflected on the website or in-app.

Link: Website (Note that some pages are still having content written for them.)

Skills: PHP SQL Javascript CSS HTML Google Maps Bootstrap SealDB Web System Architecture


Thumbs Up Discounts Android

Thumbs Up Discounts is a company that prints and sells discounts cards as fundraising material for schools and other organizations. The cards are good at many locations and expire around a year after purchase. On the back of each card, there is a unique ID number that each card-holder can register online.

I designed this application to allow quickly search or browse for local discounts that the card offers. This application can be used in place of the discount card at these locations and as such, is locked only to card-holders. The user can unlock this app by registering their card through the app or website. Additionally, users can simply use a free trial option that expires after a given amount of time determined by the administrator's settings in the back-end system.

Download: .APK

Skills: Java PHP Google Maps Web Networking Android


Radio UTD Station Player Android

Radio UTD is UT Dallas's local student-run radio station. Now-a-days, it streams online 24/7. Using this app, you can harness a high-quality stream directly to your Android device.

Other small features include broadcasting metadata for Bluetooth devices and even a listing of Radio UTD's weekly shows.

If you are interested in listening to Radio UTD, I highly suggest checking out their updated website: www.radioutd.com

Download: .APK

Skills: Java GitHub Android Android Studio


PokéFace 2.0

This is a watchface that I created for the Pebble smartwatch using C/C++ with the CloudPebble IDE. It is a recreation of the popular Pokémon Blue/Red title screen for the Game Boy. Like the original title screen, it features monsters being swapped out by sliding out and replacements sliding in. Due to the limitations of the Pebble smartwatch, I had to recreate a lot of sprites in a monochrome format while still retaining their original artstyle. Pokémon featured in this watchface are: Arbok, Arcanine, Blastoise, Bulbasaur, Charizard, Charmander, Gyarados, Hitmonlee, Kedabra, MewTwo, Nidoqueen, Squirtle, and Venasaur.

Download: .PBW

Skills: C/C++ Pebble Pixel Art CloudPebble IDE


The Cockpit 2.1

The Cockpit is a retro-style game that pits a lone chicken against raging traffic. The player navigates the busy streets in order to reach the hen on the other side. This game also supports 2-players where the first player to reach the hen 6 times wins- But don't be fooled! This game isn't as easy as Frogger or Crossy Roads! Cars are insanely fast and frustratingly hard to predict. There are explosions all over the place and even cars crashing into each other!

The left player controls their green chicken using the standard arrow keys on the keyboard while the right player controls their orange chicken with WASD.

This game's retro look and playstyle was inspired by older games such as Frogger and Dig Dug. I made this for Windows in GM to perfectly fit my personal arcade machine's asthetics and theme.

Download: .EXE

Skills: Game Mechanics Pixel Art GM Windows


Chicken Launcher Vita - 1

Chicken Launcher is a fun lil' game I made for the Playstation Vita based off of Kitten Cannon where you shoot a chicken as far as you can. Try to hit springboards and TNT to give you a big boost, but watch out for spikes! Your high score is recorded and saved. If you think you get a big high score, Tweet me a pic!

Download: .ZIP

Skills: C/C++ PS Vita Graphic Design


Chicken Launcher Arduboy - 1.1

Chicken Launcher is a fun lil' game I made for the Playstation Vita and ported to the Arduboy based off of Kitten Cannon. Shoot a chicken as far as you can, trying to hit springboards to give you a boost, but watch out for spikes! Your high score is recorded and saved. If you think you get a big high score, Tweet me a pic!

Download: .HEX

Sketch Code: .INO

Skills: C/C++ Arduboy Arduino Pixel Art


Train Dodge 1.1

Who's brave enough to play chicken with a train? Stand on the track as multiple trains come at you full-speed... The closer they get to you before jumping off the tracks, the more points you'll rack up. (You'll also lose points for jumping off of the track too early.) Dodge as many as you can, but beware! If you don't jump off in time, you'll be hit!

Download: .HEX

Sketch Code: .INO

Skills: C/C++ Arduboy Arduino Pixel Art


Suit Shooter 1.2

Launch suits of cards at falling cards in order to create matches and score points. Watch out, though! Missing cards will hurt you! The cards start out falling slowly, but get faster as you score more points and regain health.

Download: .HEX

Sketch Code: .INO

Skills: C/C++ Arduboy Arduino Pixel Art


Arduboy Assistant 1.1

Arduboy Assistant is a program that allows you to manage an Arduboy's EEPROM as well as test several hardware and software components. You can view raw EEPROM data, back it up through the Arduino IDE's serial monitor, restore EEPROM data the same way, and even clear the entirety of the EEPROM data. Additionally, you can do a button test, LED test, sound test, serial test, and screen test.

Download: .HEX

Sketch Code: .INO

Skills: C/C++ Arduboy Arduino Serial Communication


Chicken Launcher 1.0

LimeLight is a program designed as a Apple's Spotlight clone for Windows. You can set custom shortcuts, search Google, run other processes quickly from any other window.

Download: .ZIP

Skills: C# Windows


Tropic Explorer 2.1

Tropic Explorer wasn't a game, but it was a precursor to what could be an online game. This project incorporated several different API's and libraries within Unity to create an online environment where multiple (up to 20) users could connect, chat, and interact. There are no gameplay elements within Tropic Explorer, but there are several creative locations to explore. In order to run this and connect, my personal server must be running the back-end software, and you must know the connection information.

Download: .ZIP

Skills: Networking C# Javascript 3D Unity Windows


Image Regradiater

This is a program that I made in order to test a new image processing and masking technique that I created called regradiation. In order to use this program, you must input both a source image, and mask image. Both images will have all of their pixels sorted, retaining the location data for each pixel. The gradient mask's color data is swapped into the source image's data, and the pixels are sorted back to their original location, leaving very beautiful results. Images with very similarly-shaped curves tend to have the best results.

Regradiation can look very similar to pallet swapping, but it is actually a new technique. Results can vary greatly depending on the difference between two images' curves. If the curves are 1:1, regradiation is pallet swapping, however the more the curves mismatch, the greater the difference in application will be.

Note that when running the program, the images must both have the same amount of pixels. Usually, this means that the resolution of the two images must match exactly.

Download: .EXE

Skills: Image Processing C# Visual Studio Windows


SocketClient Web Browser

Another project for a class, SocketClient is a text-based web browser. It's built in Java, but does not realy on HttpUrlConnection. Instead, it relies solely on socket communication, directly with the website. This means that several modern webservers may see the connection as outdated and reject the request, so when using this, keep that in mind.

To access a URL with this class in a commandline interface, use: java SocketClient [url] where the [url] parameter is the URL that you would like to view. This URL may be formatted in to include ports, subdomains, authority, and an extended path.

When viewing a page, the

tags are extracted and formatted for viewing, as are linebreaks. Images are noted on their own line while their contents are saved locally into the current working directory.

Download: .CLASS

Skills: Java Networking


Pebble Transporter Android

This is a simple Android application that opens the camera on a device and actively searches for a QR code. (The user can optionally upload an image they have on their phone.) The program takes the QR code, downloads the Pebble application or watchface from the internet, and passes the file directly to the Pebble Android application.

This application was designed for developers who use the CloudPebble IDE to compile their code. It cuts out the steps of having to compile the application locally, connect their device through USB, use a compatible Android file browser to find the specific file, then launch with the Pebble application intent.

Download: .APK

Skills: MIT App Inventor 2 Pebble CloudPebble IDE Image Processing Networking Android


ToChars 1.3

ToChars is an online tool that converts monochromatic spritesheets into character code that can be used in various situations, most noteably creating bitmaps in C/C++ programs. By default, it outputs into hexadecimal, but you can also output data to binary. There are several other options, such as changing padding and adding an offset to the sprites.

Link: Web Application

Skills: PHP jQuery Javascript Bootstrap Web


Korean Portal & Quiz

I created this project to help keep notes when studying the Korean language. It can be difficult to learn for many people who do not practice every day. I decided to make a web application that I could use to keep my notes and to study daily. As I progressed and learned more, I wanted a way to easily add more sections and more words to study in a fun quiz/game section.

This site was created from scratch, only being built off of Bootstrap for theming purposes. In order to store words and data online, I created a prototype to a unique database system called SealDB that I eventually developed into using on a larger-scale system for a few clients, including Thumbs Up Discounts. This prototype database system still works, but writing permissions has been disabled so the public can't write data to it.

Link: Web Application

Skills: jQuery Javascript Bootstrap SealDB Web


Personal Portfolio

If you're on my website, looking at my portfolio, then odds are, you don't really need to read this entry. If you're interested in what it took to make this page, then go on ahead!

This page is a single page, based off of Bootstrap 3.3.6 for responsive theming, and uses jQuery and Javascript to handle delivering different sections and data. There's a lot of basic custom work put into this. Go ahead and look at the source code to see for yourself!

Skills: Javascript jQuery Bootstrap CSS HTML Web


HRS Roofing

HRS Roofing is a Houston-area restoration and roofing company. Their site is built off of Wordpress with a custom theme. For the ease of the admin, there are some customized plug-ins, too. Some sections of the site are still being finalized and updated.

Skills: PHP CSS HTML Wordpress Graphic Design Web


Eternal Carnage Character Creator

In order to speed up the development of another personal project, entitled Eternal Carnage, I developed a program that can allow a user to quickly create and edit characters. Instead of hard-coding in aspects of characters into Eternal Carnage, I wanted to allow quick editing and modification to ensure even quicker turn-around time for balancing patches. This program included the design and implimentation of a file architecture that encapsulates the character's metadata, images and sprites, hitbox data, trajectory and projectile information, along with frame and sequence data.

This program will not be publically released, until after Eternal Carnage is further in development.

Skills: C# File Architecture Metadata Visual Studio


Colliding Universes Card Creator

Another project that I have had in development is a card game called Colliding Universes. Instead of being designed to be very serious and realy mostly on strategy and high-level meta-play, this game is based around fun and quirky mechanics. As a whole, colliding Universes is very close to being finished.

To keep a record of the 500+ cards, I created a file system that holds information for each card, including metadata, image data, stats, and other specifics. This card generator program takes all of that data and generates mock-ups of what the cards would look like, then generates high-quality PNG images that can be used in printing these custom cards.

This program will not be publically released, until after Colliding Universes is released from development.

Skills: C# File Architecture Metadata Visual Studio


FanMate 1.0

FanMate is a remake of a popular program for the ol' Palm Pilot, originally created by PalmMate, with the same name. The software is a quirky joke program that is described as "an application to keep you virtually cool... as the hot days of summer approach..." My recreation for the Playstation Portable is virtually identical.

This program has almost no functionality, but it's one of the first applications I created, so it deserves a special little place in my heart.

If you have a Sony PSP on 3.XX custom firmware, you should be able to download this .PBP and run it. (Extract the contents of the .ZIP file into X:/PSP/GAME/) If you are using a newer version, you'll have to pick up a self-signer. Have fun and stay cool!

Download: .ZIP

Skills: C/C++ Pixel Art PSP


The Curse of Konacotl

"You are one of the few survivors of a plane crash in the middle of a mysterious jungle. While searching for safety, you stumble upon a forgotten temple containing an ancient idol. Unbeknownst to you, the idol is protected by a curse that drives you and your party to madness and jealousy. To win this game, be the last to succumb to the dangers of the jungle and the attacks of your crazed companions."

This board game was developed by myself and a few friends for a class. We designed the gameplay mechanics, running through countless iterations creating different prototypes in order to find the perfect balance in gameplay. We created digital assets for the board, spinner, cards, and character pieces, then fabricated each part. The result is a fun and exciting game to play with a group of friends. (2-4 Players)

Rules: .PDF

Skills: Graphic Design Game Mechanics Physical Prototyping Fabrication


Royal Tee

Royal Tee is a game where 2 or 4 players compete in a 12x12 board in order to claim the most amount of spaces on the board. The game ends when all spaces have been claimed. Mechanically, the game could be discribed as a mix between Tron and Dots, with multiple players.

This board game was developed by myself and a few friends for a class. While designing the gameplay mechanics, I programmed several different quick prototypes. This was especially helpful since the game could have used a large, uncertain quantity of playing pieces. Once the mechanics were balanced and finalized, I created digital assets for the board and helped frabicate the rest of the game. The result is a quick, yet strategic, game to play with a group of friends. (2/4 Players)

Rules: .PDF

Skills: C# Graphic Design Game Mechanics Rapid/Digital Prototyping Physical Prototyping Fabrication


Midngight Stash

Midnight Stash is a game designed for 3 to 5 players, where one player controls a number of bullies while the other players control their own trickortreater. The trickortreaters move around the neighborhood collecting as much candy as they can before all of the lights go out; all the while bullies attempt to take away their hardearned sweets. This game consists of 24 rounds, which are represented by each quarter-hour until midnight.

This board game was developed by myself and a few friends for a class. Because this game had so many variables that needed to be kept in consideration, I programmed a few iterations of digital prototypes. Once the mechanics were balanced and finalized, I created digital assets for the board, including creating the skeuomorphic design, then helped frabicate the rest of the game. The result is a quick, yet strategic, game to play with a group of friends. (2/4 Players)

Rules: .PDF

Skills: C# Graphic Design Game Mechanics Rapid/Digital Prototyping Physical Prototyping Fabrication


CRAIT'S LUNCHBOX

Originally intended as a blog-style website for my personal hobbies and interestes, this was the site that I used to post public releases for applications that I developed. Since this was my personal site, of course I am going to have a custom theme! (It even matches the theme of TeleCommand!)

Skills: PHP CSS HTML Wordpress Web

• • • • • C#

• • • • C/C++

• • • • Java

• • • • • Python

• • • • Sift

• • • • • PHP

• • • • • Javascript

• • • • • jQuery

• • • Angular

• • • • • CSS

• • • • • HTML

• • • CoffeeScript

• • Ext JS

• • • SQL

• • • Actionscript

• • • • MATLAB

• • • • LUA

• • • GM

• • • HB++

• • • • • Ore

• • • • • Visual Studio

• • • • • Adobe Photoshop

• • • Adobe Flash

• • • • PyCharm

• • • • Android Studio/IntelliJ

• • • • Eclipse

• • Tableau

• • • Xcode

• • • • Arduino IDE

• • • MATLAB

• • • • • Microsoft Word

• • • • • Microsoft Excel

• • • • • Microsoft PowerPoint

• • • • • Sublime Text

• • • • • Notepad++

• • • • Playstation Mobile Suite

• • • Unity

• • • Google Sketch-Up

• • • • • GameMaker: Studio

• • • • MIT App Inventor 2

• • • • • Audacity

• • • • • Bootstrap

• • • GitHub

• • • • • Wordpress

• • • • • phpBB

• • • • Google Maps API

• • • • Yellow Pages API

• • • • Yahoo Locals API

• • • • Yelp API

• • • • • CloudPebble IDE