Curtis Campbell

Full Stack Developer, Creative Technologist & IoT Enthusiast

Graduate in Mechatronics & Robotics engineering seeking to explore the intersection between web technologies, hardware devices and user interaction. Strong interests in design, full stack development, IoT , data analysis & visualisation. Currently a MERN stack developer with AWS experience but always learning new technologies

Tools & Tech Stack

Typescript

JEST

React

AWS

Git

Sass

MongoDB

Node JS

Adobe XD

Bash

Arduino

Raspberry Pi

Work History

company's image
Smart BuildingsSep 2021 - Now

Full Stack Dev

Contributed towards the development and delivery of several projects during my time at Smart Buildings. These included React Native applications for smart building commissioning, Room booking platform, Node red automation strategies and more.

company's image
HermesAug 2020 - Sep 2021

Junior Full Stack Dev

Worked within the company's innovation team where I was responsible for developing concepts, producing working prototypes and helping to deliver innovation into live.

P.W.A - digital project catalouge

PWA screen APWA screen BPWA screen C

Designed and built a web app to showcase & provide information about a selection of projects developed by the innovation team. The vibrant, state-of-the-art city centre office served as the perfect location to host client meetings or employee onboarding sessions and this often included a site tour and tech demo. Ordinarily, members of the innovation team would be on hand to talk any visitors through the work we've carried out however, due to the pandemic this was no longer the case. I developed this web app as a means for guests or even employees to learn about the innovative work carried out at the company without the need for any of our team being present. Users are able to scan a QR code or tap the NFC tag attached onto the musem card in order to view relevant information and watch videos about a particular project. I opted to use a web app rather than a native one as it didnt require installation and was OS agnostic making it accessible to the majority of phone users. The designs and user experience were mapped out using Adobe XD, React was used for development and the app was hosted and deployed via AWS amplify.

P.W.A - courier app

PWA screen APWA screen BPWA screen C

The pandemic saw unprecedented changes in various aspects of our society, most notably the way we shop and consume goods. The national lockdown massively accelerated the decline of the highstreet leaving many business owners in a dire situation. Our team embarked on a mission to develop and pilot a sustainable delivery service aimed at supporting local retailers and those within the community who were shielding or otherwise unable to get their shopping during the national lockdown. The scheme aimed to empower retailers who relied on regular footfall to maintain business by providing a same day delivery service using bicycle couriers. The project consisted of two fullstack applications, one enabling retailers to place their orders for collection and the other for couriers. I was responsible for the design and development of the courier app which allowed couriers to view available orders, retailer information and navigation via cycle lanes. The app was designed in XD and then developed in React. A combination of AWS services including Lambda, DynamoDB and Amplify were used for the backend and hosting.

code image

Task automation

Managing to automate the mundane or repetitive tasks has been an extremely satisfying achievement and has freed up my time to focus on more productive activities. I have mainly automated actions surrounding databases including batch updates, collating data from various sources and then formatting it in order to seed tables with test data or performing calculations on datasets and updating the relevant results tables for use in data visualization projects.

voice assistant image

Voice Assistants

Completed the Codecademy “Learn to Program Alexa” course which introduced me to the fundamentals behind developing custom Alexa skills and voice interactions. Following this I was able to get involved with the development and testing of various voice applications including the company’s Alexa and Google voice assistant application which allows for customers to obtain delivery updates, initiate returns and locate parcel shops in their area.

company's image
AQLJul 2018 - Aug 2019

Junior IoT & Innovations Technician

Joined the product development and innovations team as a summer intern but this eventually transitioned into an ongoing role alongside my final year of university.

IoT Water monitoring

example workexample workexample workexample work

I was hired as a summer intern in order to develop the company’s “Sensing Change” project which sought to reduce the use of single use, disposable plastic bottles. By collecting and displaying real time metrics relating to water consumption, the project aimed to influence behaviour and push people towards the use of refillable water bottles. The initial trial was run during the 2018 Cowes Week sailing regatta during which over 3000 litres of water was measured to have been dispensed into reusable bottles Utilising my knowledge of design, 3D printing, electronics and embedded systems, I developed the updated water monitoring devices which were built around LoRaWAN technology allowing for sensor data to be transmitted over long distances. Although primarily used for water, the modular design enabled any type of sensor to be attached making it an incredibly versatile platform for a variety of use cases including environmental monitoring at The Eden Project and the Lost Gardens of Heligan.

RCS image

Rich Communication services

As an innovative telecoms operator, it was only natural for the company to explore developments within the messaging industry, particularly Rich Communication Services. I was tasked with the development of an RCS demo for use as a marketing tool which showcased the features of Google’s RBM platform. As well as delivering a working demo, I produced documentation covering the development process as well as future considerations for the implementation of a full RCS suite as a product offering. Prior to this I had little hands-on experience with developer documentation, CLI, APIs, node js or using Ubuntu however over the course of the project, I was exposed to the aforementioned concepts and this influenced current career path.

Education & Qualifications

MEng in Mechatronics & Robotics with Industrial Placement year

A-levels in Maths, Physics & Computing

12 A*-A GCSEs including Maths, English & Triple Science

Personal Projects

project picture

JSDoc generator

Click me !!!

Next JS app application designed to generate JSDocs for JavaScript functions based on code snippets or prompts. The app leverages vercel edge functions to stream data from the api making for a nice user exeperience as data gets streamed in real time.

project picture

Premium bonds dashboard

Click me !!!

WIP. A quick project to visualise some key metrics from this months premium bonds draw. The app uses the Next JS api routes to fetch data from the Prisma database and then renders the data using Tailwind CSS & Recharts. The app is hosted on vercel and uses a postgres database hosted on supabase.

project picture

RGB LED MATRIX - Spotify

Click me !!!

Forked from another project which uses a Raspberry Pi to control an RGB LED matrix. I`ve modified the script to use websockets to communicate with a node server which queries the spotify API for my currently playing track. The server then sends the data to the pi which displays the track information on the LED matrix.

project picture

Kindle Notes Manager

Click me !!!

Collaboratively worked on a full stack application to manage highlights from an Amazon Kindle Paperwhite. The application allows a user to login, upload their “Clippings” file, make annotations to the parsed data, search for specific content, assign categories and more. Future improvements would see integrations into Notion or social media sites and possibly the addition of some reading metrics e.g, common reading hours, favourite genres etc.

project picture

Personal spotify websocket server

Click me !!!

A few personal projects query the spotify api for my currently playing track. Rather than making multiple individual request, I set up this WS server to make queries to spotify and emit the data via sockets. Still a work in progress but attempts to reaunthenticate once the current refresh token expires. First attempt at dockerising a project

project picture

Smart Mirror

Click me !!!

Designed and built a smart mirror during lockdown which displays the time, weather, calendar updates and my currently playing track via the Spotify API. The mirror uses a simple webpage running on a RPi 4 allowing for limitless customisation and integrations. Currently there is no user input however the next version will explore the use of voice or gesture recognition to navigate through menus.

project picture

Plant Monitoring

Click me !!!

I kept overwatering my plants during lockdown so I developed an Alexa skill that is capable of updating me with the latest readings from various sensors in and around my plant pot. The sensors periodically send updates to a server via MQTT and these would then get added to a database which Alexa has access to. Future additions to the project would include a dashboard and an automated watering system.

project picture

Convenience store webscraper

Click me !!!

One of my earliest fullstack projects was a webscraper that searched for items in my local convenience store’s special offers section. Items could be added to a watchlist and the web app indicated whether there were any available offers relating to watch list items. The webscraper was my first implementation of asynchronous code outside of course materials/tutorial projects and was built using vanilla JS + HTML.