Image
 

Release Wave is a website where a team curates the best in upcoming music.

The website features an admin interface where authenticated users can upload content and manage a ton of fully custom features. The site uses Prisma ORM to handle the various database queries.
 
An example of a Release page.
An example of a Release page.

Content types

The most basic content type featured here is a Release, which is associated in turn with an artist. We also have a ton of other content types; all of the content types are fluid and fully manageable. Associations like Genres, Related Artists, and Posts associated with Releases are all set up using Prisma.
There is even an automated Newsletter that is distributed using Postmark, which is fully managed within the admin and uses React to render its contents.
 
The admin interface has a ton of different content types.
The admin interface has a ton of different content types.
 
 
The admin portal has screens like this for all of the various content types.
The admin portal has screens like this for all of the various content types.

2024 and beyond

Moving from Rails API + Frontend App to a single app
Version 1.0 of Release Wave had two systems deployed––a backend Rails API and a frontend web app using Next.js. Both of these services were deployed separately and utilized an Ansible playbook for deployments that was finicky and often problematic. In 2024, I opted to move it off of this complicated stack and chose to migrate to use TRPC to allow for a full-stack experience. By moving away from a microservices pattern and moving everything into a single codebase, the development is now swift and easy. The site is deployed on Vercel and no longer requires the complicated deployment steps it did to deploy prior.
Andrew Martin is available for hire
Available for Hire
I am currently accepting inquiries for new programming projects, particularly those architecting, building, or contributing to sophisticated web applications using modern tooling and frameworks (think TypeScript, React, GraphQL, Node.JS, Elixir, or Ruby on Rails).

You can also e-mail me at hello@andrewmart.in or download my resume.