Daniel Santos

Full-Stack Developer with an Engineering Background

Hi there! I'm a full-stack developer with a Mechanical Engineering background.
I'm driven to success, and keen to get involved in projects which extract the best of my skillset.

Take a look below at some examples of my work. Then, reach out to me via my contact handles below.

Tech Stack:

Python
Go
Javascript
Typescript
Node.js
Next.js
React
HTML/CSS
Tailwind
Google Cloud
Docker
PostgreSql

Projects & Past Work

An ever-growing list

Colorboxd - Landing Page Colorboxd - Sorting Page

Colorboxd

Colorboxd is a web app that allows users to sort their Letterboxd lists by the colour of each film's poster. The app authenticates with the Letterboxd API, to allow read-write access to the user's Letterboxd account. The backend uses the K-means method to extract the dominant colour in each film poster, then returns the list sorted by the dominant hue. The user can review the sorted list before committing the changes back to their account.
This project leverages a React with Typescript frontend, Dockerised and hosted on Google Cloud Run. The backend was written in Go, and is hosted as serverless Google Cloud Functions. A CI pipeline was set up for running unit tests and reporting coverage.

Eco-Flyer - Landing Page Eco-Flyer - Results Page

Eco-Flyer

Eco-Flyer was created for those solo travellers who want to fly away somewhere, while keeping the environment in mind. Users can input travel dates, departure location and a budget, and Eco-Flyer presents travel itineraries sorted by the air travel emissions. The frontend is built with Next.js (React). A separate backend, serving as an API for all calculations, was built on Flask (Python). A Redis database handles request and response data, bridging the front- and backend and allowing for results caching. The backend was Dockerised and hosted on Google Artifact Registry, then triggered via Google Cloud Run. API calls are queued with Google Cloud Tasks.

Nugget Notes - Landing Page Nugget Notes - Notes Dashboard

Nugget Notes

Nugget Notes is a tag-based notes app. Designed for people who struggle with staying organised, Nugget Notes is a platform that enables hassle-free note-taking. A tag-based system and intelligent search enables rapid finding of all your nuggets of information on any given topic. Nugget Notes takes the boring out of note-taking.
This full-stack app was created entirely in Next.js with Typescript, with authentication using Auth.js. A PostgreSql database handles all data storage. Unit and E2E tests were implemented using Vitest and Cypress, respectively.

Advent of Code 2023 Advent of Code 2023

Advent of Code 2023

This festive period, I took part in Advent of Code - a set of coding challenges to help save Christmas. I used it as an opportunity to strengthen my skills in Go. I also created a simple Next.js website that can be used to calculate the problem solutions, by triggering the code as serverless functions. The frontend is hosted on Google Cloud Run, with the Go backend hosted as Google Cloud Functions. You can find my problem solutions in my Github repository.

Song Idea Generator - Genre Selection Song Idea Generator - Results

Song Idea Generator

Song Idea Generator is for all the music producers out there who have hit the dreaded creative block. Just choose some genres, and the tool will give you song inspiration for the style, key and tempo of your next project. Back-end functionality is hosted on Flask (Python). The app makes use of the Spotify API to retrieve results for the user.

Retro-Play Main Menu Screen Retro-Play Snake Screen

Retro Game System

Retro-Play is a little project designed to be an emulation of a retro arcade machine, with Snake, Space Invaders and Retro Helicopter. It is built in Python with Pygame. Hi-scores are stored locally (much like an arcade machine) in a database managed in PostgreSql.
This project is still in progress.

Anti-Lock Braking System

I developed an anti-lock braking system for implementation on a formula student car. The program was written in C++ for implementation on an mbed NXP LPC1768 microcontroller. System response time was minimised through use of programming best-practices. The program was developed to communicate with the on-car CAN bus using an MCP2515 CAN controller. Hardware implementation was not possible due to the onset of the COVID-19 pandemic, but simulated results showed a 2% lap time reduction.

Smaller Projects

A selection of some of the smaller projects I've worked on whilst developing my skillset.

Next.js Drum Machine

Next.js Drum Machine

JavaScript Calculator

JavaScript Calculator

About Me

A Developer with an Engineering Mindset

"Make, Break, Fix, Create"

I've always wanted to create things with a purpose. Even when I was just a kid, I was tinkering with Lego Mindstorms and re-programming our patio watering system to reduce waste. I studied Mechanical Engineering, but have since found I can deliver more value through innovative projects as a developer.
I am an immensely driven self-starter, and once I identify my next objective I work relentlessly to reach it. My curiosity is one of my greatest assets, pushing me constantly to challenge and develop my skills.

If I sound like someone you'd like to speak to, use my contact handles below.

Contact

Let's get in touch!