My friends call me Bernie - I'm a frontend developer by day, and an aspiring code god by night.
I'm currently professionally focused on frontend development, but my skills don't end there. When I have free time, I like to tinker with hardware (arduino/micropython), backend development (supabase), systems development (rust), 3D printing, design, poetry and music. I've recompiled my 3D printer's firmware too many times to count at this point.
I have an incurable curiosity for technology and a passion for building things that people like using.
Over the last decade I've had the opportunity to work on some amazing projects in a variety of industries. I've worked in Renewable Energy, Telecoms, Advertising, and Finance! Come with me to see what I've done over the years.
I tend to build stuff in my free time and I have made some things that I am proud of.
Some close friends got together and thought of a way to remember their lost loved ones, Final Words was the answer. A platform to remember those you love, built by a family that want to cherish their own lost loved ones.
I built and maintained this platform from 2024-2025. Initially I was the sole developer on this project and onboarded a friend to help out with delivering new features.
This was the first time I had worked with Laravel Livewire, Stripe integrations and building a fully blown e-commerce website from scratch - so it was an interesting journey to go from zero to hero.
Built an MVP in less than a month, and rapidly moved to a working product that we were happy with.
I started working on this in late-2023 while seeking employment, and finished the designs in figma. For about a year I just had a URL link straight to the figma prototype. I decided to finish it off in 2025 after having a lot of pressure to find a job in a small amount of time.



Obtaining all the visual assets for past projects is a real pain - if I could give any designer/developer advice; make screenshots of your work!
Have a look at the analytics
QRky.app is a QR Code Creation platform for everyone that boasts URL shortening and visitor tracking to ensure your traffic ends up in the right place.
While I was on an extended vacation I needed something to keep my hands busy, so I started getting to work. By using Supabase, DaisyUI and NextJS I was able to move quickly and get a working MVP up and running in less than 5 days.
I used this project as an excuse to learn how Supabase works, as well as something that could integrate into my other projects. I also gave myself a short timeline so that I could start and finish this while I was on vacation.
From 2020-2021, I built all the tech for tf2048.io - an Ethereum NFT collection of algorithmically generated 3D robots. Set in a parallel 90s timeline, machines built by humans seized control, then crossed into our 2024 to “invade” as collectibles. We built the backstory, website, contract, and mint flow so the narrative, the interface, and the on chain logic speak the same language. Every touchpoint reinforces the idea that these bots arrived here by design, not by accident.
Learning to navigate the Ethereum ecosystem in the pre-LLM world while building a solid narrative for this project was a huge challenge, but it was the most fun I've had building something with friends. We ultimately were not able to market our project well, and missed the wave completely. In hindsight, probably for the best.
bunq is a European neobank that offers a range of personal and business banking services, including accounts, cards, and various financial management tools, with a focus on user-friendliness and international travel.
I grew the frontend team by over 50%, addressing a general lack of capacity that enabled the delivery of larger features, and tackling of more technical debt.
bunq Web is the main web application that bunq customers interact with on a desktop or laptop. It serves tens of thousands of users from all across Europe and had to be compliant with PSD2 standards, as well as adhering to the PCI-DSS standard.
Balancing prioritization of delivering new product features and addressing technical debt was a major challenge for this ongoing project, especially considering it was written in a completely custom, in-house framework.
baraka is an investment platform that empowers it's customers to make informed and strategic long-term investment decisions.
I was the sole Frontend developer in the company, and built or improved all of the internal and customer facing web interfaces.
I was tasked with keeping getbaraka.com up to date with the current brand direction and ensuring it is usable, performant, and easy to maintain.
I led a complete rebuild of the WordPress based Frontend to a component based NextJS website. Content is fed in from the same WordPress instance that had been the website, but now acted as a headless CMS.




We had a very short deadline for this project so the main threat to this project was time. Also, we had no design system in place for the web. So I worked closely with the designers to make one that worked well with our brand and was easy to understand and maintain.
Between 2022 and 2023 we completed 2 Website redesigns, each of which the development was completed in just under a month. Along with these redesigns, I also
I was tasked with taking over and applying a redesign of our back-office administration dashboard.
I created custom components that align with the new design, which was based on internal research identifying team struggles. To keep timelines short, I reused the existing component library, and added custom CSS and business logic to align it to the desired designs.
In cases where components did not exist, they were created from scratch for that specific task.



The platform was lacking a lot of documentation and there were parts missing from the new designs. This came up during testing and after launch where I had to make several last minute additions. This was a good challenge as I had to work closely with our customer service agents to tend to their needs and build out parts that were needed.
The UI was originally cluttered and everything was loaded on a single page with hard to navigate tabs and lacking a consistent design language. I helped standardise the design and build reusable components that helped in speed of creating new features. The enhanced app also helped:
I was tasked with taking the incomplete newsletter platform and pushing it over the finish line. Beyond that, my job was to maintain the platform to allow the internal content team to deliver a high quality daily newsletter, and also provide any visual updates that will keep daily communications in line with our brand.
A single development sprint was completed in 1 month to test and finalize the full-stack platform. This included an emergency pivot to a different email delivery service just after the sprint was concluded.




This project was started and abandoned without any documentation. It was a huge challenge to get it off the ground and sculpt it into something that was usable.
The content team was very happy because we could now accommodate their requests for custom features.
Afrihost is a South African internet service provider, providing a number of services, including fiber internet, fixed wireless, mobile services, VoIP, and web hosting.
I was part of the Brand team responsible for managing all customer-facing pages, emails, and campaigns, which contributed to winning multiple ISP of the Year awards.
I was responsible for building unique NuxtJS pages with custom components and designs for each unique product that Afrihost offers. These pages are deployed on bare metal servers via Laravel Forge.
The designs for each product were unique and required a new approach for each build. This made it challenging to reuse components, but I worked closely with the design and UX team to extract all reusable colours, styles and components to make it easier to deploy.
An increase in user sign-ups during campaign periods. Better customer trust for specific demographics.
I was challenged by the design team to modernize our newsletters and transactional emails. The designs were directly modeled after our main web page designs and made to look better than any other ISPs emails.



Mail clients are inherently challenging to work with, so we had to do extensive testing and iteration to ensure that our modern designs were working correctly on as many popular email clients as possible. Additionally, we had to ensure that we didn't exceed strict, self-imposed file size limits. This required a very intentional and strategic use of images.
We elevated newsletters and transactional emails to fit within the company brand, ensuring they appeared modern while maintaining email standards.
I was tasked to build a uniform sign-up experience that can be reused across multiple product sites and multiple domains.
We developed a single VueJS package that could be imported into any of our NuxtJS based landing pages and apps. This package is completely configurable to cater the specific product, theme, and flow it is placed within.




With a large variety of different product offerings and sign up flows, it was challenging to make them all responsive and easy to use across every device. Another challenge was that many of the APIs this form interacted varied significantly, which required a great deal of collaboration across different teams.
TBWA is an international advertising agency that works with major brands. Their goal is to make brands part of cultural phenomena and keep these brands top of mind in the general populace.
I was a part of the digital team that delivered ad assets for 5 major brands in South Africa. I helped build an innovation hub where we encouraged creatives to think outside the box and develop their digital ideas.
I was briefed to take award-winning designs and make them an interactive reality.
I delivered a custom-built, native HTML and JS single web-page with interactive elements that elevated the already great designs.



The page was only designed for desktop and in a very static format, so I had to work closely with the designer to make sure it was engaging in a way that enhanced the overall campaign.
Added to the entire campaign that won multiple design awards.
I was part of the development team that showcased the entire DOOM product range in an engaging way.
We developed a self-hosted WordPress site that served as a headless CMS paired with a frontend built in Angular 2. We ensured that content creators could easily keep content up-to-date in a straightforward, and well-known interface.




This was my first project working with any reactive frontend framework in a professional setting. I had to learn fast to make sure we could hit deadlines, which we did.
This effort resulted in an award-winning design brought to life.
ED Systems was a software development agency that transformed clients' ideas into reality through software.
Here, I had the opportunity to work with clients who had incredible ideas, and I not only developed software for them but also helped build their businesses. Many of the solutions required copywriting, design, asset generation, and video creation.