Personalize Theme

*Theme settings will be saved for your next visit

Hi, I'm Brendan.

I do bitsmithing and dabble in pixelmancy.

about me

I graduated in May 2020 from Cal State Fullerton with a Bachelor's of Science in Computer Science.

I'm a fullstack developer with 5 years of programming and web development experience.


current focus

Recently I've been creating projects using Angular and .Net Core.

download my resume
  • JavaScript
  • C++
  • HTML5
  • Java
  • CSS3
  • PHP
  • SQL
  • Python
  • Docker
  • Flask
  • React
  • Android
  • Git
  • GitHub
  • NodeJS
  • Angular
  • .Net Core
  • C#
  • AWS
  • Firebase
  • Entity Framework
  • Typescript

some of my past projects

multiplayer drawing game

A multiplayer drawing game that supports up to 12 players. Players are given a prompt to draw and other players have to guess the original prompt from the drawing. Correct guesses and good drawings win points!

Uses HTML, CSS and JavaScript (Angular) on the frontend. I learned a lot about using the Canvas API. Saving images drawn on the canvas to, and retreiving from, the backend. .Net Core backend and signalr to maintain websockets. Dockerized frontend and backend to host from AWS EC2 instances. Git and GitHub for version control.

wrinkle brain games

With social distancing making it harder to spend time with friends and family, I created a sort of gaming platform to connect with loved ones via games on your phone.

Backend uses .Net Core 3.1 as a web server and message hub using signalr. Players, trivia, questions, answers and scores are all retrieved from RESTful endpoints. The frontend uses Angular and Bootstrap for styling.

hacker memory game

A memory game available on the wrinkle brain games platform. Using a cyberpunk aesthetic, the player goes toe-to-toe against an A.I. firewall trying to keep the player out of the system. Players ('Hackers') with high scores are displayed in the Hacker Lounge.

Mostly a frontend game, the styling is CSS3 and Bootstrap. The animations use the anime.js library. The game logic is written in JavaScript to record the "bot's" moves and the "hacker's" moves. When the A.I. catches the player because they forgot the order, their progress is persisted to a Sqlite database.

wine cellar

A 21st century digital wine cellar. This app serves as a one-stop-shop for the wine connoisseur who is digital savvy and wants to track his or her collection.

Custom + responsive UI/UX. The frontend uses the web trifecta, HTML, CSS and JavaScript. The backend uses Google's Firebase to store wine information. Wine images are served from an AWS S3 bucket.

starcraft unit guessing game

A card flipping guessing game using the units from Starcraft 2.

The frontend uses HTML, CSS and JavaScript. The backend uses .Net Core web api to deliver units and to persist user scores in a Sqlite database.

secure banking app

I took a web security class during my last semester at Fullerton. We learned about many of the vulnerabilties inherent with using JavaScript in an application. We learned to seal and freeze objects, how to secure against XSS attacks, sanitizing inputs, check for NaNs and undefineds, avoid implicit conversions, use 'strict mode' and other JavaScript gotchas. Basically, avoid ever writing a banking application in JavaScript was an important take away.

The frontend uses plain old HTML, CSS and JavaScript. The backend uses node.js with quite a few security-based libraries. Bcrypt is used to salt and hash passwords, helmet is used to enforce content security policy. User information is stored in a MariaDB database.

farmzoids

The capstone of my Artificial Intelligence class was a group project where we programmed some bots ("farmzoids") to plant and harvest on a small little farm. We gave them directives to fetch water, plant seeds, harvest fruit when it was ready. It's fun watching them travel around the farm going about their business.

The frontend uses HTML and a JavaScript library called p5 which simplifies drawing to the canvas element.

flask api

Built a simple little book database API using the Python micro-framework, Flask.

It's just Python and Flask on the backend, with a Sqlite database persisting books.

job finder

I searched software developer jobs on five different job search sites in order to get a better understanding of the types of skills employers are looking for in the area. I built up a csv database of sorts, gathering data on about 25 positions from each job site. That data was converted to JSON and cleaned for consistency. The app builds a word cloud which increases the size of the keyword relative to its frequency. Having several years experience and having a degree in Computer Science were almost always the top requirements across sites.

HTML5, CSS3, and vanilla JavaScript for the frontend. The backend is a node.js server which reads from a few JSON files.

music microservices api

While taking a Web Backend Engineering class, I had a group project with two other students and we built an mp3 download API. We took turns performing developer and devops roles over the course of the project. We used a Linux virtual machine to spin up several instances of our API. A makefile was used to simplify starting the various microservices and seeding the api with music information.

An entirely backend project, we used database sharding to increase our horizontal scalability. We used memcached to cache mp3 requests and reduced access times down from 100ms to just 8ms.

study guide tool

A simple little web app I used to study for tests in my Computer Communications class. Each chapter has its own section. Questions and answers are randomized. The app shows the test-taker areas where he or she needs to study more.

HTML5, CSS3, and JavaScript.

pokedex

A pokedex page that uses Typescript and fetches pokemon data from a pokemon API. From a tutorial, but I wanted some more experience with Typescript and using RESTful APIs. I love the cards and the pixel-art for the pokemon.

HTML5, CSS3, and Typescript.

rock paper scissors

A simple web-based rock paper scissors app.

HTML5, CSS3 for the frontend. On the backend, it uses ejs, embedded JavasScript templating engine, and Node.js.

algorithms to learn big O

During my algorithms class, we implemented many interesting algorithms in order to get a better understanding of time-complexity and big O notation. The above screenshot is from a dynamic-programming implementation of longest-common-substrings and sub-sequences.

Built with C++.

github finder

No-frills React app to look up GitHub users using the GitHub API.

HTML5, CSS3 and React for the frontend. Talks to the GitHub API to retrieve users.

secure chat app

As a final project for my computer security class, I built a crytographically secure chat application.

Uses HTML5, CSS3 and React for the frontend. On the backend, it uses socket.io to enable instant communciation between users over web sockets. It also uses cryptico.js to create secure public and private keys so users can chat securely. Node.js is used as the server to distribute keys and messages.

ecoquest

An Android app to gamify trash collection. Users gain badges and points for cleaning the environment. When users pick up trash, recycling and other detritus, they are rewarded. The goal is to create healthy competition between users and have a tangible positive impact on our environment.

Uses Java and the Android operating system.

get in touch