Francois le Roux

JUNIOR / GRADUATE SOFTWARE DEVELOPER

I build full‑stack apps, then ship them.

Final-year Creative Technologies student at The Open Window Institute, Pretoria, specialising in Interactive Development. I like taking a project end to end — data model, API, interface — and I'm most interested in full-stack and frontend roles.

Email me GitHub ↗

About

I'm finishing my Bachelor of Creative Technologies in 2026, after starting out across four majors before settling on UX/UI Design and Interactive Development. These days I spend most of my time on the development side — React and React Native on the frontend, and Python, C#/.NET or Node depending on what a project needs on the backend.

I prefer building and deploying my own projects solo, which is why most of what's below is live and in my own GitHub. I'm comfortable working with AI tools (Gemini, ChatGPT) as part of my workflow, and I'm looking for a junior or graduate developer role where I can keep building things people actually use.

React / React Native TypeScript Python / Flask / FastAPI C# / .NET PostgreSQL / SQLite Firebase / Supabase

Projects

A few of the things I've built — tagged as coursework or independent below, solo unless noted.

CV Reviewer

React (Vite), Flask, Google Gemini

Live Independent project
CV Reviewer mockup on laptop screens

Upload a CV as a PDF and get structured, AI-generated feedback — a score, strengths, weaknesses, missing keywords and suggestions — aimed at students and junior developers. JWT authentication with bcrypt-hashed passwords, and five persisted themes on the frontend.

Role — Solo. Built the Flask backend and React frontend end to end.

Process — Built the backend and Gemini integration first to confirm the feedback was actually useful, then added auth and theming once the core loop worked. Ran it against CVs with known weak points to check Gemini's feedback actually caught them before trusting the prompt.

Proof — Deployed and live — try it with your own CV at the link below.

AI's role — I designed the scoring rubric and prompt structure; Gemini generates the written feedback from it, which I validated rather than shipped blind.

SymptomJournal

AI-powered medical companion · React Native, FastAPI, Supabase, NVIDIA NIM

Coursework project
SymptomJournal mockup on mobile screens

A mobile app that replaces anxious symptom-Googling with structured self-tracking: log symptoms, spot patterns over time, and generate a clear summary to bring to a doctor's appointment. AI analysis runs through the FastAPI backend rather than calling the model straight from the app, and the frontend uses a centralized theme system with light and dark modes built in from the start.

Role — Solo. Built the mobile app, backend, and AI integration.

Process — Backend-first, so the AI call and its key stay server-side rather than in the mobile client. Built light/dark theming early, since symptom logging needed to work comfortably at any hour.

Proof — Backend deployed and live — API docs linked below.

AI's role — I built the symptom-logging model and defined what gets summarised; NVIDIA NIM, serving a Llama 3.2 vision-instruct model, generates the written summary, which I check against the raw logged data for omissions.

MonoFact

React Native, Expo, Firebase

Coursework project
MonoFact react application mockups

A swipe-to-judge "fact or myth" quiz game across six knowledge decks, with XP, streak bonuses, an exponential level curve and 27 achievements.

Role — Solo, including the full gamification layer.

Process — Built the swipe mechanic and data model first, then layered gamification on once the core loop was fun on its own. Chose Firestore over a custom backend to move faster on a single-semester timeline.

Proof — Demo video + code linked below.

Projello

React/Electron, ASP.NET Core, PostgreSQL, SignalR

Coursework project Team of 4
Projello management system mockup on laptop screens

A lightweight project management system for construction site crews — a 30-second daily check-in instead of Jira-style cards, milestone tracking, photo-verified updates, a client portal, and one-click voice/video calls for on-site issues.

Role — Integration between the Electron/React client and the ASP.NET Core API, as one of four developers.

Proof — Code linked below; not independently deployable outside the team's environment.

Budget Tracker CLI

Python, SQLite, Rich, Matplotlib

Independent project

A command-line income and expense tracker — add transactions, see totals and balance, and generate a category breakdown chart. Kept deliberately small and modular (a db layer, a Transaction model, and a CLI layer), using Rich for readable terminal tables instead of a GUI.

Role — Solo.

Process — Built the SQLite layer and transaction model first, then added Rich-formatted output and the Matplotlib chart once the core logic worked. Used Python's built-in sqlite3 rather than an ORM to keep it dependency-light.

Proof — Code linked below — clone and run to see the terminal output and generated chart.

Let's talk

Open to junior and graduate developer roles — full-stack or frontend. I'll be at the portfolio event at Emeris Campus on 24 October, or you can reach me directly.

francoislerouxdev@gmail.com GitHub ↗ LinkedIn ↗