TidyContact Email

Started

2024

Tech

JavaScript

full stackexpresssveltemysqlbullawsherokumemory management

TidyContact Email is a pay-as-you-go service provided by 4Site Studios, it serves to take in a CSV of customer emails and output the list of valid, existing email addresses from that file. I was brought in as a Full Stack Contractor to work on this project.

beginnings

The baseline of the application and choices were made initially by 4Site before I got introduced to the project. That being a Svelte frontend hosted on Vercel, and an Express backend with a Prisma-backed MySQL database hosted on Heroku. My job was to lift the project off the ground, introduce the paywall, add additional logging, and make the product run more efficiently without needing to shell out more for expensive server upgrades.

development

During development, many considerations had to be made between allowing for greater sizable uploads vs requiring the customer to split the payload. Ultimately it was decided that a maximum of 1 million emails could be uploaded for processing in a single transaction. That meant adapting the server to handling payloads of 1 million without memory overflow, and restricting any larger files. Easier said than done, as memory management is not exactly JavaScript and Node's strongest suit. I took many approaches to best handle these large payloads without overloading the webserver, which led to a combination of Unix-level executions and file buffers.

dashboard

In addition to improving memory management and delivery times, a web dashboard was also created that reports the status of active jobs, batches, and lists out any errors as they occur in real time. Any errors will fire off an alert message that tags the relevant people in the company Slack workspace. This was made possible by logging within the application directly to Axiom, and it allows for a high-level overview of the runnings of the application.