Hi, I'm Grant Pieterse.

Turning ideas into interfaces.

I'm a front-end developer who loves building things for the web. I specialise in Vue, TypeScript and creating clean, responsive interfaces that people enjoy using.

Who I Am

Building things has always been what drives me — and programming is the best tool I've found for doing that. I've been learning and creating on the web for over 10 years, not because I had to, but because I genuinely love it. What started as a fascination with how websites worked grew into a deep commitment to understanding every layer of the stack, from markup and styling through to application logic and APIs.

Front-end development sits right at the intersection of everything I enjoy: the visual craft, the logic of solving problems, and the satisfaction of shipping something people actually use. I care about the details — clean structure, readable code, and interfaces that feel intuitive without drawing attention to themselves.

My primary stack is HTML, CSS, JavaScript, TypeScript and Vue, with additional experience in Nuxt for static and server-rendered applications. I also have working knowledge of back-end technologies including NestJS and PostgreSQL, which gives me a broader understanding of how front-end and back-end systems fit together — something I find genuinely useful when building full-featured applications.

I hold an IT Diploma from Unisa and I'm someone who genuinely enjoys the work. Development isn't just a career path for me — it's where I'm most in my element. I'm currently seeking a junior front-end developer position where I can contribute to a real product, keep growing, and build things that matter.

Currently looking forJunior Front-End DeveloperBased inSouth AfricaEducationICT Diploma, Unisa

What I Work With

My core focus is front-end development — building responsive, accessible interfaces with modern web technologies. I also have practical back-end experience which helps me collaborate across the full stack and understand the bigger picture of how applications are built and deployed.

Front-End

  • HTML
  • CSS
  • Bootstrap
  • Tailwind CSS
  • JavaScript
  • TypeScript
  • Vue
  • Nuxt

Back-End (familiar)

  • NestJS
  • SQL
  • PostgreSQL

Tools

  • Git
  • VS Code
  • AI-assisted development (Claude Code, Cursor)

What I've Built

Pipeline

A full-stack job application tracker built to manage the entire job hunt in one place. Log applications, move them through status stages, add notes and links, and keep track of what needs follow-up. Built with a Vue 3 frontend, a NestJS REST API, and a PostgreSQL database — with JWT authentication throughout.

  • Vue
  • TypeScript
  • NestJS
  • PostgreSQL

PieCade

A collection of classic arcade-style mini games built entirely with vanilla web technologies — no frameworks, no libraries, just pure HTML, CSS and JavaScript. Each game is self-contained and focuses on clean game logic, collision detection, and smooth browser rendering without relying on any external tools.

  • HTML
  • CSS
  • JavaScript

Ultimate Outlander

A utility site for the Ultima Online Outlands community that generates vendor management scripts directly in the browser. The app uses string manipulation and regular expressions to produce correctly formatted, game-ready script output — no server required.

  • HTML
  • CSS
  • JavaScript
  • Regex

ShowMeAMovie

A movie discovery app that helps you find something to watch. Browse, search and filter films pulled from a live movie database API. Built with Vue and Nuxt for fast page loads and a responsive layout that works cleanly across desktop and mobile.

  • Vue
  • Nuxt
  • Bootstrap

Southern Cartographer

A portfolio site built for a professional cartographer to showcase their maps and projects. A real-world client project focused on clean presentation, visual storytelling, and letting the work speak for itself. Built with vanilla HTML and CSS with an emphasis on layout, typography and performance.

  • HTML
  • CSS

Get In Touch

I'm currently open to junior front-end developer opportunities. Whether you have a role in mind, a question, or just want to say hi — my inbox is open.

grant@grantpieterse.com