Patrick Ouano

Study Abroad — 33.9249° S, 18.4241° E

Six weeks in Cape Town, learning who the software was really for.

Scrum Master and technical lead for Housing Assembly, through EDU Africa. May 30 – July 11, 2026.

Sitting on the summit of Table Mountain overlooking the bay

Overview

Program
EDU Africa
Dates
May 30 — July 11, 2026
Location
Cape Town, South Africa
Role
Scrum Master & Technical Lead

A study abroad software engineering internship in Cape Town, South Africa, from May 30 to July 11, 2026, through EDU Africa. Six weeks on-site with Housing Assembly, a grassroots housing rights organization, serving as Scrum Master and technical lead.

We delivered a website refactor, an AI chatbot available on web and WhatsApp, and a searchable document library staff can maintain without touching code. The audience is tenants and residents of poorly built government housing, almost entirely on mobile — which drove nearly every technical decision we made.

Acknowledgment

Special thank you to Dr. Sanethia Thomas, Ping Neo, Naomi Harrell, EDU Africa, and Housing Assembly.

Application

What we shipped, live on their domain.

Everything below is live on Housing Assembly's own domain. The chatbot sits on every page, and the resource library is staff-maintained through a form.

housingassembly.org.za

Open ↗
The Housing Assembly homepage, headlined Decent Housing For AllVisit site

Website Refactor

Rebuilt key pages for a cleaner, faster, mobile-first experience.

HTML5/CSS/JS, Vercel, GitHub Actions CI/CD

The refactored Housing Assembly homepage

AI Chatbot

Answers housing questions from Housing Assembly's own documents, cites sources, and escalates to staff instead of guessing. Available on web and WhatsApp.

n8n orchestration, RAG over a vector store, Meta Cloud API

The Michael Blake chatbot answering a question about eviction rights, with a link to continue on WhatsApp

Online Resource Library

A searchable document library staff update themselves through a simple form, no code required.

Google Forms/Sheets pipeline feeding the site and chatbot

The Document Library page showing 215 searchable resources filtered by category

Lessons

Seven weeks, week by week.

Week 0 was pre-departure client discovery. Weeks 1 through 6 were on the ground in Cape Town.

Week 0

Client Discovery (Pre-Departure)

Before flying out, our team prepared and ran the initial client interview with Housing Assembly over Zoom, built around a structured question set covering project vision, the online library, the chatbot, and their existing tech stack.

  • Organized the interview by category so it covered scope, budget, audience, and long-term maintenance
  • Learned Housing Assembly's core goal: making housing resources accessible and raising awareness of housing policy
  • Locked in two constraints that shaped everything after: a mobile-first audience, and a hard rule that the chatbot escalates rather than hallucinates

Week 1

Arrival & Project Pitch

Landed in Cape Town and moved straight into planning. Built personas and user stories with the team, then delivered our project pitch presentation.

  • Took the lead on finalizing the product and sprint backlogs
  • Learned how to break user stories into structured, assignable sprint tasks
  • Biggest challenge: mapping five user stories to sprint items without overloading Sprint 1

Week 2

Refactor & Architecture Planning

Split the week between development and planning: refactoring the existing website into a cleaner structure, and planning the n8n workflow with a teammate.

  • Restructured the site so the chatbot widget would have somewhere clean to slot into
  • Set up a CI pipeline to check pull requests and gate merges — first time building one from scratch
  • Identified the blocker that shaped the next two weeks: n8n needed cloud hosting before two people could work on it together

Week 3

Research & Project Update

A lighter, research-heavy week. Presented progress to the cohort, then researched hosting and WhatsApp integration.

  • Compared hosting options and real costs for moving n8n off local machines
  • Mapped out what WhatsApp Business integration would require before committing
  • Learned that some blockers are logistical, not technical — account setup required in-person 2FA with the client

Week 4

Building the Workflow & Pipeline

Shifted from planning into building. Implemented the n8n workflow, connected it to the chatbot widget, and stood up the deployment pipeline.

  • Set up hosting on Vercel with GitHub Actions, automating deploys
  • Wrote the system prompt defining how the agent behaves and responds
  • Learned that a lead's job is making the pipeline boring, so teammates can ship without waiting on anyone

Week 5

Cloud Migration & First Usability Test

The heaviest build week. Migrated n8n to Railway, kicked off the WhatsApp integration, and fixed several user-facing chatbot issues.

  • Got n8n stable on Railway after extensive troubleshooting
  • Fixed conversation memory persisting across refreshes, and markdown rendering
  • Ran the first usability test with Housing Assembly staff, surfacing problems we'd never have caught ourselves

Week 6

Launch, Handoff & Documentation

The final push. Completed the WhatsApp integration end to end, delivered the final presentation, and turned to handoff.

  • Finished the WhatsApp flow — distinguishing WhatsApp from website traffic, correct formatting through Meta
  • Traced why documents weren't reaching the vector store and got the library fully loaded
  • Wrote handoff documentation so staff and future developers could maintain everything after we left

Reflection

I came in as Scrum Master expecting to mostly run standups and keep the backlog clean. What it turned into was my first real experience leading a project technically — making the architecture calls, owning how we shipped, and constantly weighing what would be fun to build against what a small organization with no engineers could actually keep running after we left.

WhatsApp was the clearest example. We could have stopped at a chat widget on the website and it would have looked good in a demo. But the people Housing Assembly serves are on their phones, and WhatsApp is what they already open every day, so we spent weeks getting it working properly there instead. That's the lesson I keep coming back to: the best decision usually isn't the most impressive one, it's the one that meets people where they already are. Same reason we built a way for staff to update the document library themselves — anything that needed a developer was going to quietly stop being used the day we flew home. The moment that stuck with me wasn't a deploy going green. It was watching Kenneth and Kashiefa move through the chatbot during testing without needing us to explain a thing.

Then there was Cape Town itself. I'd never been anywhere like it. Standing on top of Table Mountain looking out over the city, or walking through Robben Island and realizing how recent all of it is, gave me a kind of context you can't get from a classroom. Working with people whose day-to-day is shaped by that history, on something meant to actually help their community, changed how I think about what this work is for. I left with more than a project — a better sense of what it means to build something for someone other than yourself.

The team with Housing Assembly staff at the Activist Cafe

With Housing Assembly staff at the Activist Café