Hi! I'm Angus Stien-Lehmann.

I make things with
React

A frontend developer with full-stack experience, specializing in React and Node.js, with a passion for creating polished and useful web applications.

Skills

React
JavaScript & Node.js
TypeScript
Git
Docker
PHP
SQL & NoSQL Databases
Cloud Computing Platforms (eg. AWS)
HTML & Templating Engines
CSS Preprocessors & Styled Components
Creating & Consuming APIs (REST/GraphQL)
Code Linters & Formatters
Static Site Generators
Web Scraping
Responsive Design
CSS Frameworks & Libraries (eg. Tailwind/Bootstrap)

I also have some varying degree of experience and proficiency with other frontend JavaScript frameworks like Svelte and Vue, and other programming languages (such as Python, Java, Clojure, and C/C++). However, my chief interest is web development.

Qualifications

Diploma of Information Technology
Front-End & Back-End Web Development
TAFE Queensland
2022 – 2023

Projects

🥇Full-Stack Web Application
The Discord Awards

A full-stack application built with React and PHP, currently in use by hundreds as a platform for online communities to host award events.

Utilizing Discord OAuth2 for login, this web app facilitates the nomination and voting processes, allows whitelisted moderators to sanitise user input and vet and reject entrants, and provides a beautiful and shareable record of past results.

ReactREST APIMySQLContinuous DeploymentAuthorization & Authentication
💪Full-Stack Web Application
High Street Gym

A full-stack TypeScript application built using React and Node.js, the High Street Gym website enables users to register accounts and sign up to attend gym classes created by designated trainers (using role-based access control).

Per specifications, the website utilises the Ant Design component library and also features XML import with DTD validation and basic social networking functionality such as user profiles, public blogs, comment systems on blog posts & classes, rich text and drag-n-drop form inputs, and admin content moderation tools.

Server-side, Prisma and Zod are used atop MySQL for complete type safety.

ReactTypeScriptMySQLREST APIPrismaZod
TypeScript NoSQL REST API
Weatherman

A REST API built with TypeScript and Node.js, intended to serve as an intake system for weather recording sensors for use in student research projects. Users must register an account to gain an API key to authenticate all future requests.

Zod schemas are used to validate all inputs and outputs, and Prisma is also used for end-to-end type safety when interacting with the database — a cloud MongoDB instance utilising horizontal distribution methods and time-to-live indexes to automatically invalidate inactive account credentials.

Additionally, all API endpoints include inline documentation which is used at buildtime to generate an OpenAPI specification, presented via Redoc.

TypeScriptNode.jsMongoDBREST APIPrismaZod
🤖Multi-Purpose Chat Bot
Dragon

A Discord integration written in Node.js, Dragon offers more than 50 unique features to creative communities, as well as administrative and moderation features to assist the organizers of said communities with demanding managerial tasks.

Online continuously since 2017, Dragon currently serves more than 10,000 users across 80+ communities every day, and has an ever-growing feature set.

Node.jsWebsocket99.9% Uptime
🏆Server-Rendered Event Website
Cauldron Cup

A PHP site rendered via Twig templates, built for the organization of creative writing competitions.

I was brought on to this pre-existing project to perform progressive enhancements, upgrading legacy code to add OAuth2 login and additional interactivity (such as markdown submission previews and on-site voting functionality) and integrating two disparate backend systems together to expose additional metadata, achieving the project goal of improving user experience.

I also created Docker images to accelerate development and deployment to the production server.

PHPMySQLDockerTwig (Template Engine)

Contact

If you'd like to contact me, I'm available at the email address below. I am open for hire.

Angus Stien-Lehmann
theangush@gmail.com