Portfolio Site

This very site! My personal portfolio.

vue
TypeScript

This website was created using the Vitesse Template that was stripped back to only relevant features.

As a fun fact, this website was designed entirely in greyscale, before small pops of colour were added to enhance frugally. The theme was inspired by sci-fi, however instead of a lightshow I decided to take a more 'bare essentials' terminal-reminiscent approach.

Anything that I expect could change is highly dynamic, such as a simple JSON file for the project listings, using more maps and dictionaries elsewhere like in the skill tree for minimal editing.

Each page was designed as a showcase in itself, with something meaningful done on each page to demonstrate my handling of web development. The skill tree requires a solid knowledge of CSS, the bio uses basic trig and timing, etc.

This project took 4 weeks to complete, working in spare hours.

Property Valuation Reporter

A utility to generate real estate reports.

vue
TypeScript
Strapi

This is a university project produced in a team of three for a local client.

The client instructed us to create a tool that takes in the many pieces of data about a real estate property, and generates an editable report using that data.

Multiple alternative solutions were sought, but in the end we decided to go with a web app as we had much more control than some existing database solutions, and the languages of the web were more familiar to the team, especially considering my previous Vue knowledge.

From an education standpoint this project is designed to expand our knowledge of Agile development, Git/GitHub, and client interaction.

This project has taught me personally how valuable it is to use existing tools where they meet most criteria, instead of re-inventing the wheel. Strapi CMS is a great example of this, allowing us to save a lot of time developing API endpoints and database queries.

Scorebore

A quiz presentation app with multi-monitor support

vue
TypeScript
In Progress
Tauri

This is a desktop app being produced for a teacher to provide a solution that can present quizzes to students and track their teams. While other solutions exist, this particular solution aims to be low-tech (students don't require devices), and provide a contemporary look and feel.

The approach in this project was tight sprints (1-2 weeks) with client feedback at the end of each, including negotiating scope creep

Tauri was used for this solution, a powerful native wrapper using Rust that required almost no configuration to get working.

The goal for the app is that it could be used by any teacher or entertainer, so the interface is being kept as simple as possible. Each quiz can be created with a single validated YAML file.

A simple message system is used to communicate JSON data between windows. Vue's Pinia store made it super easy to sync data.

Uni Club Conference Website

A temporary informative site with Q&A

vue
express
Docker

This website was requested for me to make in order to bridge the gap between our online and in-person participants, as well as provide a convenient central location for the conference information.

The site was built from scratch using basic Vue knowledge, with the most notable aspects being the Timetable and the Q&A

The timetable was generated on demand using a simple JSON-like object to input the time-blocks. Vue then put this together, even with a modal that showed up on click to display the finer details with no extra effort on my part.

From the front end, the Q&A form was rudimentary, but it did require me to build the backend using Node.JS. This was an important lesson in finding alternatives, as Netlify on a free plan would have served just as well with minimal effort. For this custom backend I used IaaS to deploy it, managing the Debian instance, and later turning to Docker to simplify the installation process.