I'm a freelance web designer and software engineer with a focus on building clean, modern digital experiences. Basically, I build really cool websites.
I've been working with code since 2013, developing a strong understanding of both design and underlying architecture. My work extends across the full stack, including front-end development, back-end systems, and database design.
I focus on clarity, performance, and detail in every project, ensuring the final result is both visually strong and technically sound.
download cv
My background combines formal education with continuous self-directed learning across software development and technology.
I completed high school with a strong academic focus in Information Technology, Engineering Graphics and Design, Physics, and Mathematics, and I am currently pursuing a Bachelor of Science in Computer Science through the University of South Africa.
I have also completed a certification in Full Stack Software Engineering and Web Development through Stellenbosch University and HyperionDev, as well as a Generative AI programme for software engineers through WeThinkCode.
Alongside this, I have developed my skills through full-stack training covering front-end, back-end, databases, and areas such as AI and cybersecurity.
I have gained experience as a coding tutor, systems analyst, and technical editor, contributing to work associated with companies such as Cisco, Oracle, Salesforce, NVIDIA, and Apple, as well as roles in cybersecurity and IT support at Amazon.
A selection of web projects that reflect my approach to design and development, with a focus on clean structure, usability, and attention to detail.
full portfolio
Designing clean, modern interfaces with a strong focus on clarity, structure, and visual balance.
Creating cohesive digital identities that communicate purpose, personality, and consistency across platforms.
Crafting intuitive user experiences that prioritise usability, flow, and meaningful interaction.
Building layouts that adapt seamlessly across devices while maintaining consistency and performance.
Working with structured data to design efficient queries, optimise performance, and support scalable systems.
Developing robust, scalable applications with clean code, efficient architecture, and attention to detail.