← Back

Projects

For each project: the problem, the technical decisions and the results.

Garage Management PWA

/ Duarte & Raposo

Backend · Full-stack development · 2024

A car garage kept repairs, vehicles and parts on paper. Looking up an old repair meant searching through folders, and a missing part was only noticed when it was too late to order it.

Problem

  • There was no history: repairs were recorded on loose sheets, with no link between the vehicle, the customer and the parts used.
  • Stock was tracked by eye. A missing part was often only noticed with the vehicle already on the lift, waiting for it.
  • The internet connection in the warehouse failed frequently, so an online-only solution was not an option.

Technical decisions

  • A SQL Server database organised around three entities: vehicles, repairs and parts, so that the history is recorded from day one.
  • A REST API in Node.js, with the business rules (for example, when a part runs out) kept separate from the routes, which makes them easier to test.
  • The application was built as a PWA so it can be installed and work offline. Records are stored on the device and synchronised when the connection returns.
  • Docker to ensure the same environment on my computer and on the garage's server, and to simplify reinstallation in case of failure.

Results

  • Paper records were eliminated: every repair is recorded and can be looked up by vehicle or by customer.
  • Stock is updated automatically as parts are used, and the application raises an alert when an item is running low.
  • The server and database were installed on the garage's premises; I was responsible for the installation and maintenance.
  • Node.js
  • REST APIs
  • SQL Server
  • Docker
  • React

RheinfallCamping

/ Personal project

Design · Design and development · 2024

The website was outdated, had no visual identity of its own and, when shared on social media, showed no image, title or description.

Problem

  • The previous website lacked a consistent look, and how it appeared when shared had never been considered.

Technical decisions

  • I redesigned the website in Figma before starting development, to define the look and content first.
  • I configured the Open Graph meta tags so that every shared link shows the correct image, title and description.

Results

  • The website now has a consistent look and is displayed correctly when shared on social media.
  • Figma
  • Web
  • Open Graph

VR Environment Simulation

/ Academic project

Games/VR · Development and 3D modelling · 2025

A 3D environment to explore with the Meta Quest 3 headset. The main challenge was keeping the image smooth, since the headset has far less graphics power than a computer.

Problem

  • The headset runs standalone, without a computer, and has limited graphics power. Excessive detail in the scene reduces smoothness and harms the experience.

Technical decisions

  • I modelled the objects in Blender and kept the polygon count under control from the start, rather than reducing it only at the end.
  • I used Unity with URP and tuned the rendering to the limits of the Meta Quest 3.

Results

  • The environment runs smoothly and was tested directly on the headset.
  • Unity URP
  • Blender
  • Meta Quest 3