Welcome To My Portfolio

Hey! I am David Camacho an undergraduate at UC Berkeley with an interest in system architecture and artificial intelligence. I take pride in creating anything that can display my creaitivity and passion for a subject. Apart from programming, in my free time I enjoy playing guitar, analyzing films, and video editing.

Skills

Although my skills are still developing, I take pride in my ability to adapt and learn how to adopt new tools, environments, and work ethics when necessary. I am open-minded and am willing to learn whatever the task demands.

  • Programming, Debugging, and Designing in Python, Java, and C/C++/C#
  • Creative and passionate about all of my projects.
  • Leader and team worker.

Projects

My initial exposure to programming began once I enrolled at UC Berkeley. This introduction to computer science inspired me to pursue personal projects and additional endeavors where I tried challenging myself to continue learning. For the past 2 years as an undergraduate, I have worked as a student researcher for the Algorithms for Computing in Education (ACE) Lab at UC Berkeley, taught CS to underrpresented high schoolers in SMASH, and developed + designed personal projects such as the IrukaBot.

IrukaBot [Automated Manga Translation]

[Work in progress] IrukaBot is a Twitter bot developed using the Tweepy API and the Manga-Ocr library in Python. Upon a user's request, it takes a manga/comic panel from a Twitter thread, and translates all of the Japanese characters into English to remove the language barrier of shared and untranslated art. The translated text is then automatically photoshopped and placed into the designed speech bubble.

Legend of Hug [Procedurally Generated Labyrinth Game]

Top-down Collect-A-Thon game written in Java that uses seeds to generate a labyrinth. Labyrinth layouts are deterministic with their seed. Utilizes custom sprite/tile engine. Includes full UI implementation, power-ups, tunnel vision, item descriptions, alternate endings, music, and sound effects! Demo Video:

Chip-8 Emulator

Fully playable CHIP-8 interpreter that can run any CHIP-8 rom file to be played on your personal computer. This project was a learning experience to explore my interest in computer architecture. [Work in Progress] 1. Save states to allow players to return to the game on command | 2. Sprite coloring algorithm to give the games a new coat of paint.

GitLet [Local Recreation of GitHub]

Local version control system with features identical to Git such as commits, branches, merging, logging, and more. Written in Java with files serialization implemented to save local files.

NumC [Numpy but in C!]

Matrix multiplication is notorious for being resource intensive when implemented naively. Libraries like Numpy exist to optimize performance for this and addtional mathematical operations. NumC is an exercise to recreate major matrix operations such as addition, subtraction, and multiplication while utilizing Intel Intrinsics to have matrix calculations calculated in parallel. What results is a 700% speed increase from the naive implementation.

Projects In Pre-Production

Algo-rhythmic!

Virtual reality game created using Unity. Utilizes custom music algorithm that extracts metadata to create a custom rhythm game maps. First-person shooting controls with rhythm based gameplay corresponding to curated map from aforemention algorithm. Prototype released on my Itch.io page.

IrukaBot Final Version
Working version of IrukaBot connected to a server that runs on command. Removes user reliability to download and run locally.

Who Is The Artist?

AI based bot that locates original artist of stolen art pieces on social media. Utilizes reverse image search and natural language processing to distinguish 'promotional' accounts that focus on reposting art and the true source artist.

Capturing Interactive Entertainment

Additional website containing collection of my virtual photography throughout the years. Expect consistent updates with new images and details, but some images will leave the site to avoid clutter! Visit the website!

Resume