Gabriella Scott

Projects

University Projects

Here are some of my most memorable university projects.

WhatsApp-Based Language Data Collection for the SA-CDI

BScHons Computer Science · Stellenbosch University · Child Language Development Node

In progress

My Honours research project: replacing a mobile app with an accessible WhatsApp questionnaire so users can contribute without installing anything.

The SA-CDI project is gathering Communicative Development Inventory responses from caregivers across South Africa to establish early-language development norms in the country's official languages, with a target of roughly 20,000 responses. An earlier pilot used a Flutter app, but asking caregivers to install software created real barriers around data cost, device storage, and digital literacy. My project delivers the same questionnaire through WhatsApp, a platform most caregivers already use, with no installation at all.

I'm building the system in Python and Flask, using Twilio for WhatsApp messaging, Firebase for storage, and soon Azure neural text-to-speech wil be used so caregivers with lower literacy can hear each question read aloud. It runs in English, Afrikaans, and isiXhosa, persists session state server-side so a questionnaire can be paused and resumed across conversations, and pseudonymises participant data to stay POPIA-compliant. Alongside the engineering, the work is structured around three research questions: how the WhatsApp interface compares to the original app, which text-to-speech system serves each language best, and how the interface holds up under usability evaluation.

  • Working button-based prototype in the Twilio sandbox, with a WhatsApp Flows version prepared for migration once a Business Account is approved.
  • AgileUX co-design with linguists, fieldworkers, and caregivers throughout.
  • Schema-compatible with the research team's existing Firebase pipeline, so responses drop straight into their analysis tools.
PythonFlaskTwilioFirebaseAzure Speech (TTS)WhatsApp Business API

Maternal Health WhatsApp Chatbot & M&E Dashboard

Group project (team of three) · Madwaleni community, Eastern Cape

Completed

A WhatsApp chatbot and staff-facing dashboard co-designed with a South African NGO running a First Thousand Days programme.

We developed a WhatsApp chatbot with a monitoring-and-evaluation dashboard for an NGO supporting caregivers in their child's first thousand days. The chatbot delivers approved parenting and health content in English and isiXhosa through a menu-based, on-demand model, so it never sends unsolicited messages.

It answers frequently asked questions using a retrieval-augmented generation pipeline constrained to vetted sources, with content curated from other NGOs (Wordworks and Side-by-Side), and flags out-of-scope or clinical questions for human review rather than answering them itself. The backend runs on Flask and SQLite with Twilio for WhatsApp integration, and the React dashboard gives staff analytics on engagement, question categories, and retention to support evidence-based decisions. We worked in a user-centred, co-design process with NGO (Layita) staff, with attention to anonymisation, consent, and cultural sensitivity.

  • RAG constrained to vetted, NGO-approved sources; clinical queries escalated to a human rather than answered.
  • Menu-based, on-demand interaction with no unsolicited messaging.
  • Dashboard surfacing engagement, question categories, and retention for programme decisions.
FlaskSQLiteReactTwilioRAG

Campus Carpool App

Final-year undergraduate group project (team of six) · Stellenbosch University · Client: Gendac

Completed

A undergraduate final-year group project for the software company Gendac: an Android app that matches Stellenbosch students for shared rides to and from campus.

In my final year of undergrad, we built the Campus Carpool App for Gendac, a software company that brought us the brief as a real client. They wanted an Android app that connects Stellenbosch students with similar travel routes and schedules so they can share lifts - splitting fuel costs, cutting emissions, and easing the pressure on campus parking, while giving students a safer and more flexible alternative to driving alone or relying on public transport.

We built it with .NET MAUI and C# on an Azure backend, using Google Maps for routing and distance estimation and GitLab for version control and issue tracking. Students verify with their university email and an OTP, then set themselves up as a driver or passenger, lay out a route with departure and arrival windows, and get matched with compatible students. The driver then adds the cost so that the potential passanger can view the cost of the ride, matched users are connected through WhatsApp.

  • Route- and schedule-based matching.
  • Student-only access via @sun.ac.za email verification with OTP, and driver/passenger modes with WhatsApp-based contact.
  • Safety-focused design: mutual ratings, and POPI-compliant location-data handling.
.NET MAUIC#AzureGoogle Maps APIGitLab

Other Projects

This Portfolio Website

Personal project · Ongoing

In progress

A passion project built to showcase my work and let people get to know me beyond my CV.

I built this site because a CV and a GitHub profile only tell part of the story. I wanted somewhere I could show the projects I've enjoyed working on, explain the thinking behind them properly, and let a bit of my personality come through; not just a list of technologies I've touched.

It's built with Astro and Tailwind CSS v4. I designed it to start from a clean, simple foundation and grow more expressive over time, layering in details like the polaroid-style photos and fade-up transitions once the basics were solid rather than trying to get everything perfect in one pass.

  • Custom design system built from scratch with Tailwind v4's CSS-first configuration.
  • Built iteratively: starting minimal and adding personality-driven touches like handwritten captions and polaroid framing.
  • A living project: sections like Projects & Adventures are still being filled in.
AstroTailwind CSS v4TypeScript

Ionospheric Current Modelling at SANSA

Scientific Computing Intern · South African National Space Agency (SANSA), on-site · June 2025

Completed

A scientific-computing internship refactoring a Python codebase that models ionospheric currents from South African and Namibian geomagnetic observatory data.

As a scientific-computing intern at SANSA, I worked on a Python codebase implementing Spherical Elementary Current Systems (SECS). SECS is a technique for modelling ionospheric currents from the geomagnetic field measured at ground observatories, in this case across South Africa and Namibia. My focus was making the existing scientific code cleaner, more configurable, and faster to run.

I refactored what had been a single script into modular, configurable functions, using dataclasses and config files to separate the science from the parameters so runs could be set up without editing the code. I implemented the conversion of raw magnetic field components into the form the SECS calculations required, and optimised the data-processing pipeline by moving it onto vectorised pandas operations rather than slower row-by-row handling.

Lastly I translated the data onto a visible map, using Cartopy. This allowed one to view the direction and magnitude of the magnetic currents on a map of South Africa.

  • Restructured a monolithic script into modular, configurable functions driven by dataclasses and config files.
  • Implemented conversion of raw magnetic field components into the inputs required for SECS calculations.
  • Optimised data processing with vectorised pandas operations for faster, cleaner runs.
Pythonpandascartopy

CSV-Flow - Data Workflow Desktop App

Freelance Software Developer · 29CPmax (Remote) · Aug 2025 - Feb 2026

Completed

Six months of freelance work maintaining and extending a Java desktop tool for building and running configurable CSV data workflows.

CSV-Flow is a Java-based desktop application for building CSV data workflows - a tool aimed at end-user productivity, with support for configurable actions, scheduling, and licensing and updates. I joined as a freelance developer for six months to help maintain and extend it, working remotely for 29CPmax.

I started by getting to grips with an existing codebase, tracking down and fixing bugs to improve stability and performance before moving on to new functionality. From there I built out features that extended what the tool could do, including improvements to the workflow editor and to the user-facing operations people rely on day to day. The application is built and packaged with Maven.

  • Diagnosed and resolved existing issues to improve the stability and performance of a live codebase.
  • Implemented new features extending the tool, including workflow-editor and user-operation improvements.
  • Worked within a Maven-based build and packaging setup, focused on end-user productivity.
JavaMaven

BE RUG BE - Brand Showcase Website

Personal project · Built for a friend

In progress

A showcase site for a French rugby ball brand, built as a favour for a friend - presenting their flagship balls with links out to buy.

BE RUG BE is a French rugby ball brand, and I'm designing and building their showcase website as a favour for a friend. Rather than a full storefront, the site focuses on presenting the range clearly and sending visitors out to purchase, so the emphasis is on clean product presentation and brand feel rather than checkout logic.

It centres on the three flagship balls - the Alpha-T5 for training, the Elipse for match play, and the Shark for competition - each with its own presentation and an outbound link to buy. It's built with Next.js using the App Router and TypeScript, styled with Tailwind CSS, deployed on Vercel, and version-controlled through GitHub. The foundational architecture and component structure are in place, with content and asset integration still ongoing.

  • Three flagship products - Alpha-T5 (training), Elipse (match), and Shark (competition) - each with outbound purchase links.
  • Showcase-focused: presentation over full e-commerce, keeping the build lean and the brand front and centre.
  • Foundational architecture and component structure complete; content and asset integration in progress.
Next.js (App Router)TypeScriptTailwind CSSVercel