Brian Adams

Brian Adams

Brian Adams

Web Application Developer

________  ___  __    ___  ___       ___       ________      
|\   ____\|\  \|\  \ |\  \|\  \     |\  \     |\   ____\     
\ \  \___|\ \  \/  /|\ \  \ \  \    \ \  \    \ \  \___|_    
 \ \_____  \ \   ___  \ \  \ \  \    \ \  \    \ \_____  \   
  \|____|\  \ \  \\ \  \ \  \ \  \____\ \  \____\|____|\  \  
    ____\_\  \ \__\\ \__\ \__\ \_______\ \_______\____\_\  \ 
   |\_________\|__| \|__|\|__|\|_______|\|_______|\_________\
   \|_________|                                  \|_________|
TypeScript
TypeScript
NextJS
NextJS
React
React
Redux
Redux
Node
Node
Express
Express
Jest
Jest
Postgres
Postgres
HTML
HTML
CSS
CSS
SCSS
SCSS
Python
Python
Flask
Flask
Java
Java
Git
Git
TypeScript
TypeScript
NextJS
NextJS
React
React
Redux
Redux
Node
Node
Express
Express
Jest
Jest
Postgres
Postgres
HTML
HTML
CSS
CSS
SCSS
SCSS
Python
Python
Flask
Flask
Java
Java
Git
Git

________  ________  ________        ___  _______   ________ _________  ________      
|\   __  \|\   __  \|\   __  \      |\  \|\  ___ \ |\   ____\\___   ___\\   ____\ 
\ \  \|\  \ \  \|\  \ \  \|\  \     \ \  \ \   __/|\ \  \___\|___ \  \_\ \  \___|_
 \ \   ____\ \   _  _\ \  \\\  \  __ \ \  \ \  \_|/_\ \  \       \ \  \ \ \_____  \
  \ \  \___|\ \  \\  \\ \  \\\  \|\  \\_\  \ \  \_|\ \ \  \____   \ \  \ \|____|\  \
   \ \__\    \ \__\\ _\\ \_______\ \________\ \_______\ \_______\  \ \__\  ____\_\  \
    \|__|     \|__|\|__|\|_______|\|________|\|_______|\|_______|   \|__| |\_________\
                                                                          \|_________|

[brian@portfolio]$ pwd

/home/brian/Thought-Grove

[brian@portfolio]$ catimg thought-grove.jpg

thought-grove.jpg

Thought Grove

[brian@portfolio]$ cat thought-grove.md

Thought Grove is a social study platform. Users create study decks which use a spaced repetition algorithm to help users learn more efficiently. These user created decks are then shared in a public marketplace where other users are free to vote on, comment on and subscribe to these decks. Users can also create groups which feature a public form where group members can discuss various topics. Groups also feature a bulletin board where group founders can organize events like group study sessions. This project is currently being worked on and close to being completed.

[brian@portfolio]$ neofetch

Built With

TypeScript
React
Node
Express
Postgres
CSS
HTML

####################################################################################################

[brian@portfolio]$ pwd

/home/brian/WebServer

[brian@portfolio]$ catimg webserver.jpg

webserver.jpg

WebServer

[brian@portfolio]$ cat webserver.md

A WebServer built from scratch, that implements a subset of HTTP 1.1. This WebServer provides functionality for the basic HTTP methods (GET, PUT, PATCH, POST, DELETE), Auth, CGI Scripting, Basic Caching, and Concurrency. This project was a great opportunity to develop a technical understanding of the HTTP spec, and web fundamentals.

[brian@portfolio]$ neofetch

Built With

Java

####################################################################################################

[brian@portfolio]$ pwd

/home/brian/Platformer

[brian@portfolio]$ catimg platformer.jpg

platformer.jpg

Platformer

[brian@portfolio]$ cat platformer.md

Inspired by retro games like Castlevania and Super Mario Bros, made using TypeScript and PixiJS. I decided against using a game engine when building this project. Instead I used this project as an opportunity to solve problems like tile maps, enemy logic and looping parallax with my own implementations. This project was a great opportunity to focus on my typescript fundamentals and organization of larger project structures.

[brian@portfolio]$ neofetch

Built With

TypeScript
Python
CSS
HTML

####################################################################################################

[brian@portfolio]$ pwd

/home/brian/nol-blog

[brian@portfolio]$ catimg nol-blog.jpg

nol-blog.jpg

nol-blog

[brian@portfolio]$ cat nol-blog.md

This is a blog that is currently being built for a wellness coach. This site will soon be a production site and used on a daily basis. The site is built on NextJS, and is statically generated. I choose to build with NextJS for the great dx and ux, as well as the flexibility it offers so this site can grow as the client's needs grow. This blog uses Sanity for its CMS where all the blog data is authored by the client. After a posts is authored a webhook triggers a build process where the project is statically regenerated. This site also offers the client flexibility to change the content of the site as they see fit, without developer intervention.

[brian@portfolio]$ neofetch

Built With

TypeScript
NextJS
React
HTML
CSS

####################################################################################################

[brian@portfolio]$ pwd

/home/brian/Elder-Law-Form

[brian@portfolio]$ catimg elder-law-form.jpg

elder-law-form.jpg

Elder Law Form

[brian@portfolio]$ cat elder-law-form.md

This is an application used to onboard new clients at a local law office. This application is currently being used in production today. It is a complex form featuring 7 pages of various form elements, including dynamic fields that expand to add more fields if needed. This application is animated with Framer Motion, which gives the progress bar and card animations a more polished and natural feel. This application leverages React Hook Forms which helps with form validation and dynamic elements. The onboarding application uses a Flask backend which parses the data collected into a shape the client desires, as well as notifies and serves the data to the attorney when a potential client submits the form.

[brian@portfolio]$ neofetch

Built With

JavaScript
React
Express
Python
Flask
HTML
CSS

________  ________  ________   _________  ________  ________ _________   
|\   ____\|\   __  \|\   ___  \|\___   ___\\   __  \|\   ____\\___   ___\
\ \  \___|\ \  \|\  \ \  \\ \  \|___ \  \_\ \  \|\  \ \  \___\|___ \  \_|
 \ \  \    \ \  \\\  \ \  \\ \  \   \ \  \ \ \   __  \ \  \       \ \  \
  \ \  \____\ \  \\\  \ \  \\ \  \   \ \  \ \ \  \ \  \ \  \____   \ \  \
   \ \_______\ \_______\ \__\\ \__\   \ \__\ \ \__\ \__\ \_______\  \ \__\
    \|_______|\|_______|\|__| \|__|    \|__|  \|__|\|__|\|_______|   \|__|

[brian@portfolio]$ curl

--header "Content-Type: application/json"

--request POST

--data '{

  "sender_email": "your email here"

  "sender_name": "your name here"

  "message": "your message here"

}' /api/messages