Hi, there! I'm Wandile :)

Welcome to my digital abode! I'm from the beautiful Kingdom of Eswatini. My journey into tech started at age 13 with an old Pentium computer and has led me to become a passionate software engineer.

I am an ALX-certified Full-Stack Software Engineer with a strong background in Mathematics and Information Technology education, back-end development, cloud infrastructure, and scalable web applications. I am driven by a passion for building technology that empowers businesses, educators, and creatives. My career blends hands-on engineering expertise with an entrepreneurial mindset, enabling me to design and deliver solutions that are both technically robust and strategically impactful. My engineering journey is grounded in formal training and real-world application. I hold a Certificate in Software Engineering from ALX, where I spent two years developing full-stack systems and collaborating on production-ready software projects. I also hold a Diploma in Education, specializing in Mathematics and Information Technology. I am currently pursuing a Bachelor of Science in Computer Science at the University of the People to deepen my theoretical foundation and expand my long-term impact. I am deeply passionate about using technology as a catalyst for opportunity — especially in Mathematics and Information Technology education. This includes strengthening digital infrastructure in Africa, supporting learning through open and accessible resources, and enabling independent creatives to build and monetize their work on a global scale. I welcome collaborations, partnerships, and conversations around software engineering, education, cloud technologies, and artificial intelligence.

Thank you for visiting! I'm excited to see where this journey leads. Feel free to get in touch or read my blog :).

Professional Exprerience

The Knowledge Institute (Feb 2021 - Dec 2021)

Software Engineer

As a Software Engineer working remotely, I collaborated with a diverse developer team to create user-friendly, responsive, and visually appealing web pages. My role involved utilizing modern front-end technologies, including HTML, CSS, JavaScript, and React, while adhering to web development best practices and focusing on creating optimal user experiences. Additionally, I contributed within an Agile framework to facilitate continuous improvement and feature development.

Blogs

Few-Shot Prompting, Reasoning Control, and Power-User Commands

Today was a big step forward in prompting techniques and conversational control. I focused on moving beyond basic chat interactions and into intentional prompt design—specifically few-shot prompting, reasoning control, and user-driven prompt modifiers.

Designing a Reusable System Prompt for a Reliable Chatbot

One of the most important lessons from Day 4 of building my LLM chatbot was realizing that how you instruct the model matters just as much as the code that calls it. This day was all about designing a reusable system prompt — a single source of truth that defines the assistant’s role, rules, and behavior across the entire application.

Managing Context and Conversation History

Today’s focus was on building a robust conversational AI loop with Google Gemini and learning how to handle context length and token limits effectively. After a couple of iterations, I now have a stable chat CLI that can manage conversation history without crashing or exceeding model constraints.

Understanding LLM Architecture and Conversation Management

A major insight was understanding that LLM APIs are stateless. Models do not retain past interactions, so conversation history must be explicitly managed by the application. This fundamentally changes how conversational AI systems are designed — without a structured messages array, the model cannot maintain context or produce coherent responses.

My First LLM Request

Today was all about diving into Large Language Models (LLMs) and getting hands-on with Google’s Gemini API. My goal was simple: write a Python script that securely loads my API key, sends a prompt to an LLM, and prints out the response. But as always with AI projects, the devil was in the details.

Projects

LLM Chatbot

Technologies: Python, Google Gemini

This project is the foundation of an AI-powered chatbot built using a Large Language Model (LLM) API. It is a command-line chatbot with token usage tracking, cost awareness, structured JSON outputs, and optimized prompt handling.

Kudu

Technologies: React.js, Node.js, Express, Docker

The open-source web-based code execution platform with a client-server architecture that provides secure, containerized code execution.

File Manager

Technologies: Node.js, Express.js, MongoDB, Redis, SHA1, Base64

A simple file management API in express (Node). This project is a File Management API built using Node.js, Express, MongoDB, and Redis. It provides functionality for user authentication, file management (uploading, retrieving, and managing files and folders), and background processing using Bull for tasks such as generating thumbnails for images and sending welcome emails to new users.

Exampad Web

Technologies: Ruby on Rails, HTML, CSS, JavaScript, PostgreSQL

This project involved building a dynamic web application using Ruby on Rails for backend development, paired with Tailwind CSS for a modern and responsive front-end. The application is designed to serve as a comprehensive quiz platform, allowing teachers to create quizzes, and enabling students to attempt them, with a gamified experience that includes a point system and leaderboards. Key features include Devise for secure user authentication, role-based access control for students and teachers, and a seamless user interface. This project challenged and expanded my skills in full-stack development, reinforcing my understanding of Rails and Tailwind CSS, and ultimately delivering a functional and engaging educational tool.

Rabbit

Technologies: JavaScript, MDX, CSS, HTML

An open-source block-based programming language for tomorrow's developers.

School Attendance System

Technologies: Ruby on Rails, SQLite, ERB, HTML, CSS, JavaScript

This project involved building a robust web application using Ruby on Rails for backend development and Bootstrap for front-end styling. The application includes Devise for user authentication, ensuring secure access for different user roles such as students, teachers, and parents. Key features implemented in this project include student management, attendance tracking, and a responsive UI. Throughout the project, I guided students in understanding the principles of web development, enhancing their skills in both Ruby on Rails and Bootstrap, and fostering a hands-on learning experience. This project serves as a comprehensive platform for managing school operations, demonstrating the collaborative effort and technical proficiency of the students under my mentorship.

AirBnB Clone

Technologies: Python, HTML, CSS, JavaScript

In collaboration with Tg Gemedi from Ethiopia and Tony Ntahe from Rwanda, I had the opportunity to contribute to an exciting project: the AirBnB Clone. Our initial focus was on building a command interpreter, drawing inspiration from the Monty 0.98 bytecode interpreter used in the ALX Holberton Software Engineering program. This interpreter plays a crucial role in managing various AirBnB objects, including User, State, City, and Place. The project involved creating a parent class, BaseModel, to handle initialization, serialization, and deserialization of instances. We established a seamless flow for serialization/deserialization, allowing us to work effortlessly with objects in JSON format. Furthermore, we implemented specific classes for each AirBnB object, developing an abstracted storage engine with a focus on file storage. This laid the groundwork for subsequent tasks, such as HTML/CSS templating, database storage, and front-end integration. The command interpreter, akin to a specialized Shell, enables the creation, retrieval, updating, and destruction of AirBnB objects, setting the stage for an innovative web application.

Bytecode Interpreter

Technologies: C

Monty is a scripting language that undergoes compilation into Monty bytecodes, similar to Python. The language operates on a distinctive stack, employing specific instructions for manipulation. Files containing Monty bytecodes conventionally carry the .m extension. Although not mandatory by the language specification, this extension is widely adopted in the industry. The language enforces a one-instruction-per-line rule, allowing any number of spaces before or after the opcode and its corresponding argument.

Simple Shell

Technologies: C

This is a shell project written in C programming language, completed by myself and Ebimoboere Claudius from Nigeria as part of the ALX Holberton Software Engineering program. The project involved designing and implementing a command-line interface that mimics the functionality of a Unix shell. The shell supports various commands and features commonly found in Unix-based systems, such as piping, input/output redirection, and background processes. The code is well-organized, modular, and adheres to industry-standard coding practices. In addition to the core features, we also implemented several additional features, such as error handling, signal handling, and built-in commands.

printf

Technologies: C

This project involved designing and implementing a custom printf function in the C programming language, completed by myself and Matlotlo Makomane from South Africa as part of the ALX Holberton Software Engineering program. The printf function is a fundamental tool for printing output in C, and our project aimed to replicate its functionality while also adding additional features and improvements. Our implementation supports various format specifiers, including strings, characters, integers, and floating-point numbers, as well as flags such as width and precision. The code is well-organized and adheres to industry-standard coding practices. We also implemented extensive testing to ensure the function's accuracy and reliability.

SaSa

Technologies: HTML/CSS, React, Rails

This is a web-based application platform designed to simplify the process of applying to institutions of higher learning for learners from Eswatini. The platform provides a centralized hub where learners can search for and apply to multiple institutions using a single application. This eliminates the need for learners to navigate through multiple application portals, saving time and reducing the risk of errors. The platform features an intuitive user interface that makes it easy for learners to explore available options and apply to their preferred institutions. Additionally, the platform provides resources and guidance to help learners navigate the application process, including information on admission requirements, deadlines, and fees.

Exampad Mobile

Technologies: HTML/CSS, jQuery (Mobile)

This is a comprehensive educational app designed to provide students of all ages with easy access to a wide range of learning resources. The app features interactive tutorials, quizzes, and study materials that cover a diverse range of subjects and topics, from math and science to history and literature. The app's user interface is intuitive and user-friendly, making it easy for students to navigate and find the resources they need. The app is regularly updated with new content and features, ensuring that students always have access to the latest and most relevant educational resources.

Purple Interpreter

Technologies: FPT, PRG

This is a computer programming language for building GUIs and interface database systems for the MS Windows platform. You can write instructions to the interpreter using plain English and SiSwati. You can clone the project and read the full documentation.

Mini Projects

Intro to (Emacs, Vim, Git/GitHub), C (Basics, Functions, Pointers, Data Structures, Bit Manipulation, Variadic Functions, Memory Management, File Redirection, printf (Project), Shell (Project), Compilation, Heap/Stack, Static Libraries, Linux (Basics, Permissions, Redirections, Syscalls), Social Media, Public Speaking/Stand ups, etc. Python (Basics, Object-Oriented Programming, Interpreted Languages, Test Driven Development, Error Handling, I/O, Web Scraping), C - Data Structures (Stacks/Queues, Doubly Linked Lists, Hash Tables, Binary Trees), C - Algorithms (Sorting, Big O), C - Dynamic Libraries, Linux (Processes and Signals, Scripting, Command Line), Databases (SQL, MySQL), Systems Engineering (Open Systems Interconnection Model, TCP/IP), HTML, CSS, JSON, Unit Testing. Systems Engineering/Devops (SSH, SSL/TLS, HTTP/S, Webstack Debugging, Servers, Web Servers (Nginx), Application Servers (Gunicorn), Configuration Management (Puppet), Load Balancers, Postmortem, Networking, Monitoring), C - Algorithms (Searching), Javascript, JQuery, Deployment, APIs - Flask, Hack Days, Python (ORMs (SQLAlchemy, Templating (Jinja2))), Code Debugging, Regexes Modern JavaScript (ES6, TypeScript, Node JS basic, Unittests), Python (Variable annotations, Async, Unittests and integration tests), Storage (Advanced MySQL, NoSQL, Redis), Back-end (Pagination, Caching, i18n, Queuing system in JS), User Data (Personal data, Authentication - Basic & Session, User authentication), Portfolio project, ES6 Basics, Markdown to HTML, Webpack, ES6 Promises, Developer tools, React intro, ES6 classes, ES6 data manipulation, React component, Typescript, React inline styling, React state, React Immutable, React Redux action creator+normalizr, React Redux reducer+selector, React props, React Redux Connectors and Providers

Formal Education

Certifications

Meta

Meta Back-End Developer Professional Certificate

Introduction to Back-End Development, Programming in Python, Introduction to Databases for Back-End Development, Django Web Framework, APIs, The Full Stack, Back-End Developer Capstone, and Coding Interview Preparation.

Meta

Meta Front-End Developer Professional Certificate

Introduction to Front-End Development, Programming with JavaScript, Version Control, HTML and CSS, React Basics, Advanced React, Front-End Developer Capstone, and Coding Interview Preparation.

Google

Google IT Support Professional Certificate

Technical Support Fundamentals, The Bits and Bytes of Computer Networking, Operating Systems and You: Becoming a Power User, System Administration and IT Infrastructure Services, and IT Security.