map

Blake Morgan

Professional Geologist / Hobby Web Developer

Exploring the southeast through geotechnical engineering by day and coding side projects by night.

Selected Projects

Key to Symbols:
Front End
Serverless
Full Stack

NeoPromisance

A remake of a classic multiplayer turn based game translated from PHP to full stack javascript. While the game mechanic formulas are taken from the original PHP code, many systems were written from scratch or heavily modified. The game revolves around players building empires, managing resources, interacting with one another, and competing to achieve the highest net worth among all participants.
The front end is built with React and Vite for the single page application experience. User and empire data is managed with Redux Toolkit. The back end is a Typescript Node.js Express server with a Postgres database. TypeORM is used to communicate with the database. The game is currently live and playable as the last few features and gameplay tweaks are worked on. The project is split into two repos, one for the front end and one for the back end.
Last Commit: 07/02/2024
Last Commit: 07/02/2024
ReactViteMantine UIRedux ToolkitTypescriptNodeExpressPostgresTypeORM
Screenshots
screenshotscreenshotscreenshot

USGS Quakes

This site is built with Next.js and Tailwind CSS to display data from the USGS Earthquakes API. The site showcases a featured earthquake, displays the ten most recent earthquakes above a certain magnitude, and offers a search filter for exploring the entire earthquake catalog. SWR is used to check for new recent earthquakes without reloading the site. Each quake has a details page that shows either a shakemap or the location as well as recent nearby quakes. The event descriptions include human impact and a tectonic summary based on available data, providing users with comprehensive earthquake insights.
Last Commit: 08/31/2024
Next.jsServer Side RenderingTailwind CSS
Screenshots
screenshotscreenshotscreenshot

Atlanta Parks

A site built with Next.js, Supabase, and Mantine UI components. The site utilizes static site generation, loading data from the Supabase database during the build process. It includes an admin page feature enabling park management, including adding, editing, and deleting parks. The site has a search page that allows filtering from many different criteria, full text search of the park descriptions, and a location search to find parks near the user. I compiled the data to create a valuable resource for Atlanta residents, enhancing their access to park information. Users can also submit information about parks to add or correct any details.
Last Commit: 04/16/2023
Next.jsStatic Site GenerationSupabasePostgresMantine UI
Screenshots
screenshotscreenshotscreenshot

Album Survivor

My first large original project (and it shows). On this site, visitors are presented with a series of albums and their tracks. Users vote each day for their least favorite track and the track with the highest number of votes is eliminated until the best song survives. Registered and non-registered users can participate, with registered users having access to their voting history. Steps are taken to try and prevent users from casting multiple votes each day and a daily vote archive is saved. Admins have the ability to manage albums and tracks by adding, deleting, and editing content.
Last Commit: 01/04/2021
ReactClass ComponentsMaterial UIReduxFirebaseNodeExpressCron Jobs
Screenshots
screenshotscreenshot