Photograph
  • Specialties: AI Systems Architecture, Golang, GCP | 10+ years of development experience
  • Languages: English, Chinese
  • Date of Birth: August 16, 1996
  • Location: Taiwan/South Africa
  • Availability: Immediately
  • Contact: ghvvilson@gmail.com
  • GitHub: github.com/HappySaila
  • Professional: CertificateClaude
taivara.com

Day to day

The team is 18 developers. Standups are on Monday, Wednesday and Friday, one-on-ones are every second week 80 hours a month, 1,000 a year, is the par benchmark, and my own goal is 100 a month and 1,200 a year.

Most of the developers travel the world. I worked from Taiwan between 24 July and 23 August 2026.

The organisation

Taivara is a development house in Columbus, Ohio, with 50+ years of experience across business consultation and end-to-end software development. It was founded in 2011, and it works with Fortune 100 and mid-cap companies across the United States. Over half of the software engineers hold the “Claude Certified AI Architect Professional” qualification. Taivara is an Anthropic partner. Claude Code and agentic software are what the team learnt and uses in everyday.

The role

For the first 3 months I was at Taivara and Accelera Digital Group at the same time, from July to October 2024. Since then I have been sole contractor at Taivara.

Why I took it

2 friends I went to highschool and university with were already at Taivara, I had a strong referral. The deciding factor over Accelera Digital Group was the nomadic remote lifestyle. The US timezone created asynchronous workflow.

The work

The main project is the frictionless credit loan white label. Bread Financial own the product, and they provide loan instalments and split payments through Comenity Bank in the United States. Their partners put their own name on the white label.

The work is ticket-driven, and the tickets arrive already architected. Claude Code and agentic tooling are the primary way that delivery happens. Backend tickets are Ruby and Rails Front end tickets are TypeScript. Content and configuration tickets are YAML and JSON.

Alongside the product I built the automation test app, which exercises the application’s workflows end to end with Playwright. That work is finished and handed off, and queries on it still come back to me.

Outcome

In 2025 I billed over 1,000 hours. Taivara paid for my Claude Certified AI Architect Professional exam, and I hold the certification.

Why I’m still there

The stack, the remote arrangement and the contract terms are what keep me. I am still an AI Architect by title. I now work as a sales representative for the firm. I find work for myself and partnerships for Taivara, in Taiwan and China. Work has died down, and engineers at the firm are looking for new work, myself included.

References

adg.io

Day to day

The work was remote, on South African hours. A normal week had 1 Google workshop, Betika’s internal meetings and an Accelera sync. Betika worked in 2-week sprints, with sprint planning, grooming and a retro at the end.

The organisation

Accelera Digital Group is Google Cloud’s largest partner in Africa It works across Africa, Europe and the Middle East on data analytics, AI and machine learning, security and cloud modernisation. It has since been named Google Cloud Partner of the Year for Africa twice, in 2025 and 2026. The team did cloud migrations and held the Google partner relationship. This meant full access to Google’s tooling, their people and their offices.

The role

The role was for a senior software engineer that would lead clients through migrations. I was given the Betika contract. The role overlapped with the opening months at Taivara.

Why I took it

Accelera offered remote work at senior level for good pay. The role carried a Google partner status.

The work

The work was migrating the company’s existing clients onto GCP. I was responsible for Betika, a betting house running a hosted product that needed to move.

I studied Betika’s hosted product first, to learn what it was built on. I worked inside their own product management lifecycle alongside their team. I ran training at Google’s workshops in Johannesburg. The trained us how to migrate clients case by case.

Outcome

Betika was migrated to GCP.

Why it ended

I wanted to persue a full career in the remote Taivara position. I had found the perfect work/life balance there. I was burnt out running both posts. The accelera work had little in it for me. I was migrating a betting house into GCP. The project was there to let people bet on a high-frequency FIFA gaming platform. I went full time at Taivara.

References

scrums.com

Day to day

The job was 09:00-17:00, Mon-Wed-Fri in the office and the rest remote. The team ran daily standups and a weekly grooming session on a 2-week sprint plan.

The organisation

SovTech is a development house, and it builds enterprise software for its clients. It was founded in 2012 and rebranded as Scrums.com in 2024. It is a South African company, and it works with international clients. Its client list includes Standard Bank, Vodacom, Deloitte, Ernst & Young and Transport for London. More than 400 companies have used it, and it works from offices in Johannesburg, Cape Town, London, New York and Nairobi.

The role

I was a software engineer put on a client project.

Why I took it

It paid better than Celbux. I was working as an independant contractor. It was a larger and more corporate with high value clients They had highly skilled development teams and daily lunches. It enabled me to continue paying for my home loan.

The work

The project was GK4, a German utility-measurement company working at high scale. The solution was built around IoT devices that measured hot water use, cold water use and electricity use. 1 device per source in a room, for every room on a floor, every floor in a building, and every building in a developer complex. The system handled the whole information lifecycle. From getting readings off the devices through to presenting them on a dashboard. The entire project was conducted in German, the codebase included.

I worked on everything before the dashboard. Readings were collected off the meters, passed through a message broker, and written into a time-series store.

Outcome

My quarterly report recorded that I performed on par with what was expected of me.

Why it ended

I left because the work held no interest for me Developing and maintaining that software was too challenging for the reward it carried. Nothing in the project drew me in, not the German, not the utility-measurement problem underneath it, and not the tech stack. The development lifecycle was too strict. I averaged 180 hours a month over my last 2 months there. I took the openings at Taivara and Accelera Digital Group instead.

References

celbux.com

Day to day

Day to day was a daily standup within a team of 10, then writing and reviewing code.

The organisation

Celbux builds mobile vouchering banking solutions. For 10 years the company specialised in South African government disbursements, paying out to NSFAS (National Student Financial Aid Scheme) students. NSFAS is South Africa’s national student funding body, and its NSFAS Wallet runs on Celbux. Students draw their allowances at partner merchants nationwide, and the withdrawals carry no charge. Celbux is a Google partner and the product is built on GCP. The product rests on smart money, spend is locked into a voucher number, and the voucher is redeemable across the country.

The role

The role was for a senior software engineer to assist leading the development branch of the company. I was responsible for a number of large-scale projects in the R&D department. Taking the job meant relocating inland to South Africa to Centurion.

Why I took it

I had been out of work for 8 months, and I was interviewing at a number of companies through OfferZen. Celbux was fintech and used Golang and GCP heavily. They wanted their Java monolith rewritten into Golang microservices.

The work

The main project was converting the company’s Java monolith into Golang microservices hosted on GCP. I owned projects across the whole lifecycle, blueprint, design, implement, test, deploy and support. I maintained the GCP resources and the billing budget.

The R&D half of the job was bringing in new business. I built client-curated demos. I stood up prototypes in SIT environments to satisfy what the business had promised. I built KYC tooling and I ran dev teams.

Outcome

We built a data-driven API, a bulk disbursement vouchering tool, a guarantee testing engine and a new front-end webapp. We completed the rewrite of the legacy system. The system ran government disbursements of millions of rands weekly, to NSFAS students and to farm workers. The throughput was the main asset. Processing large volume of transactions per second. I learned Golang and GCP, Pub/Sub, Datastore, BigQuery, App Engine, Cloud Functions, Compute Engine and Kubernetes. I learned high-volume systems, self-scaling, cloud pipelines, the differences between the cloud technologies, where Java and Golang differ, and SOLID coding principles. My brother and I bought an apartment in the same city for 2 million rand.

Why it ended

The company ran out of funds and faced liquidation. A business of 32 employees shrank to 3. Many were retrenched. My brother became CTO. There was no money left for promotions. My title and my salary never moved since I joined. I had a home loan to maintain and 3 cats to keep. A needed new income. Celbux continues to survive on a stream line team.

References

  • James Wilson, CTO
    Brother; engineer alongside me at Celbux, now its CTO
    james@celbux.com
blockbytes.net

Day to day

I designed the logo and split it into layers and elements. I went through 3 to 5 rounds with an illustrator. We brainstormed ideas and decided what to keep, what to cut and what to change. I kept every layer separate in Photoshop, so it could be exported and animated in After Effects. I labelled each element’s motion, so the After Effects animators knew how the logo should enter and exit.

The organisation

Blockbytes is a game studio and an official Minecraft Marketplace partner, working with Mojang Studios and Microsoft. It builds content for the Minecraft Marketplace on Bedrock Edition, and its add-ons and maps reach players worldwide. It was founded in 2020, it runs on 40 contractors, and it has released large-scale projects on the Marketplace. My brother already owned the company when I started working there.

The role

I was the lead designer and animator on the studio’s logo. I project managed the work myself.

Why I took it

It was a passion project and an investment in my brother’s business, not a job. I did it for free because I wanted him to succeed.

The work

I owned the specification, the creative direction and the detailed requirements. I ran the work through the studio’s graphic artists and animators.

Outcome

Ensured the logo is created and animated to the high quality standard the game studio demanded. The logo live on their website and the animated version is attached.

Why it ended

The logo was delivered.

References

github.com

Day to day

The day began with the mailbox. There were many email enquiries about orders that needed processing. We had good relationships with the factories. Our pricing was good. Updating the website, took phone calls constantly, and drew up contracts and invoices for potential buyers. A large part of the week went into tender applications. We applied twice for government contracts, and to hospitals. The rest was face-to-face meetings with buyers, and streamlining our own processes.

The organisation

Masks For Africa was a venture I started with my brother James at the beginning of COVID, to sell personal protective equipment into the South African market. It was never formally constituted, no registration, no premises and no staff. It was a supply line from Chinese factories to South African buyers, and the software the two of us wrote to run it.

The role

I ran the South African end with James. Our business partner was in China and handled the factory side. I built and ran the software, and I did the selling.

Why I took it

I took it because I needed money. The teaching job in China had fallen through, and I had lost around R30 000 on plane tickets that were never flown. I set out to use the contacts I already had. Those contacts came out of the TEFL course, in China, where the factories were. I thought I would make a lot of money during the crisis.

The work

I coded the online store and the order management system behind it by hand in Golang, hosted on GCP. I built automated invoicing pipelines alongside them. We automated lead generation. We scraped LinkedIn for procurement managers. You can see this work in action on the attached promotion video.

Outcome

We made no sales and took no profit. There was no salary and no drawings, and by the end I was out of pocket on the hosting for our own tools, on top of the cost of the months spent unemployed. Multi-million-rand jobs came close and did not land. The tenders went the same way. Time lost to scams. Lost contracts due to insufficient credentials. The venture left behind the software, a microservice architecture built from Luno skills.

Why it ended

The problem was capital. Our clients wanted the stock in South Africa, and every serious lead wanted to view it before committing. The factory pipeline we had in China required 50% upfront, and the minimum order quantities on offer were beyond the capital we had. We did not have the import and export expertise to close that gap. I gave up on it and pivoted back into the tech industry. The architecture we had built is what I put in front of people, and it landed me at Celbux.

References

  • James Wilson, Co-founder
    Founder of Blockbytes, co-founder of Masks 4 Africa, CTO at Celbux
    james@celbux.com

Day to day

The class was 6 pupils, and I taught 3 lessons a day. Each lesson had to be written and prepared before it ran, materials, exercises and speaking work. Preparation was the larger half of the day and teaching the smaller. I worked to the Chinese school day from South Africa, 6 hours behind it.

The organisation

Zhongshan Jizhong Sanxin Bilingual School was founded in 2001 in Sanxiang Town, Zhongshan, in Guangdong province, close to the Zhuhai border and the Macau crossing. It is a private, fully boarding bilingual school. It teaches from kindergarten to an international high school stream, on a campus of several thousand students. It hires foreign teachers directly to teach the English side.

The role

The post was teaching English to elementary classes. It required a qualification. The trainging course was in person in Cape Town and ran in 2 parts. The 120-hour TEFL/TESOL programme was through The International TEFL Organization, and the 20 Hour Practical TEFL Teaching Course through TEFL SA. The practical half covered teaching practice with feedback, discipline and classroom management, elicitation, concept checking, error correction, drama and role play, pronunciation, and teaching young learners. The theory half covered grammar structure and how to teach it, materials creation, evaluation and testing, and the integrated skills of listening, speaking, reading and writing. The school sponsored the work permit. The Chinese Z visa was issued as single entry, valid for 6 months.

Why I took it

I had studied simplified Mandarin at the University of Cape Town in 2014, and I wanted to accelerate the language. Teaching English was the way in.

The work

COVID closed the borders and I never flew. I taught the class remotely from South Africa. The school set the level and the class. I prepared and taught the lesson.

Outcome

I never taught on site and I never took up the residence permit. I left with a few weeks of remote lessons. I kept the 2 TEFL qualifications.

Why it ended

The school cut my pay because I was still in South Africa and not in Zhongshan. At the reduced rate the position no longer covered me. My funds ran out and I forfeited the post. I started Masks For Africa with my brother James.

luno.com

Day to day

The team was 6 engineers, plus its own product owner and scrum master. Work ran in sprints with sprint planning, grooming, a retrospective and a daily standup. The job was on site at the Cape Town CBD office, 09:00-17:00, Mon-Fri.

The organisation

Luno is a retail cryptocurrency exchange and wallet. It was founded in Cape Town in 2013 as BitX and took the Luno name in 2017. It is one of the largest crypto exchanges in Africa, with millions of customers across more than 40 countries. Digital Currency Group acquired it in 2020.

The role

I joined as a backend engineer on the rewards and wallet team.

Why I took it

Pay, balance, and a company I actively wanted to work at. Luno had a reputation for better pay and for a better life alongside the job. The other half of it was the stack. I had built everything I knew on old tech. Moving to Golang on AWS was the expansion I needed.

The work

The team I was assigned to owned the wallet and the rewards product. The wallet is where customers hold and move their crypto, and rewards is the incentive layer built on top of it.

Outcome

I was paid a 13th cheque for the work I did there. There was no promotion: I joined at level 2 and left at level 2.

Why it ended

I resigned to live and work in China as a language teacher. The spent the rest of the year acquiring a TEFL qualification, work permit and visa.

References

aciworldwide.com

Day to day

The backend office team was 15+ engineers. Work ran in 2-week sprints against sprint goals, with sprint planning, grooming, a retrospective and a daily standup. The job was on site, 08:00-17:00, Mon-Fri.

The organisation

ACI Worldwide builds white-label banking software. It is listed on NASDAQ, and more than 1,000 of the largest financial institutions and intermediaries worldwide run its software. Its flagship product is Postilion, a payment switching, ATM driving and card management platform. Commercial banks, regional financial institutions and payment processors run it, in South Africa and internationally. Most of the largest South African banks are on it.

The role

I joined as a junior engineer on the backend database team.

Why I took it

Pay and domain. Deliberately unable to find good work in games development. Java/Python and SQL were the strongest things I carried out of the degree, and this job wanted both. It was also my first step into fintech, and I remain in fintech today.

The work

The team owned the SQL and the raw data behind Postilion. The backend that ran against it was Java. The other half of the job was level 3 support, which handles real-world issues raised by the banks themselves. Support was a rotating position and the hardest one on the team to hold. I rotated into it 3 times.

Outcome

I was promoted to intermediate. I earned it by volunteering to take the level 3 support rotation over the Christmas holidays. My pay went from R310,000 a year to R360,000.

Why it ended

The promotion came with a raise that did not match what the industry was paying for the same work. I left for Luno.

References

uct.ac.za

Day to day

Lectures and workshops ran Monday to Friday, 4 courses a semester, 2 semesters a year for 3 years. Practical and theory exams came round as a matter of routine.

Afternoons went to tutoring and to my societies. I was a Computer Science tutor in my second and third years, paid R5000 a month. In second year I tutored the first-years, and in third year I tutored the second-years. I tutored privately alongside that.

My extracurriculars took the rest of it:

  • Latin and Ballroom Dance Society: 3 years. Reached advanced grade in the third year. In the intervarsity competition, placed 5th for Latin and 3rd for ballroom.
  • UCT Gymnastics Society: 3 years, and a place on the national trampoline dodgeball team for South Africa and UCT.
  • Chess club: played for the club, with an online rating that reached 2100.
  • Capoeira society: trained in Brazilian martial arts.
  • Computer Science Society: a member; it ran the coding competitions, game jams and hackathons.

The organisation

The University of Cape Town is South Africa’s oldest university and the highest-ranked on the continent. Its Computer Science department is in the Faculty of Science, on the upper campus on the slopes of Devil’s Peak.

The role

1 Bachelor of Science, taken with 2 majors: Computer Science and Computer Games Development.

  • First year: Computer Science 1015 and 1016, Mathematics 1000, General Physics A and B, Mandarin 1A and 1B.
  • Winter term: Introductory Statistics.
  • Second year: Computer Science 2001 and 2002, Computer Games & Simulation, Systems Analysis, Systems Design & Development, Business Intelligence Analysis, Introduction to Astronomy.
  • Third year: Computer Science 3002 and 3003, 3-D Distributed Games Design, C++ With Applications, Applied Statistics.

My family paid for it and I took out no loans.

Why I took it

I chose UCT for that ranking, and I had been fascinated by computer technology for as long as I can remember. At school I was victor ludorum for Computer Applications Technology. I loved producing electronic music and digital art on my PC. The games design degree drew me.

I wanted to major in Mandarin, making my degree a triple major. I dropped the Mandarin and finished with 2 majors.

The work

The teaching ran across 5 programming languages. Assembly and C++ covered the low-level half: how a machine actually executes, memory, and the cost of what you write. Java covered object-oriented programming. Python covered scripting and the coursework that was about the problem, not the plumbing. C# covered Unity and OpenGL game development.

Group project work ran alongside the courses for most of each term: a small team, a deadline that did not move, and code that had to work in front of someone else.

Outcome

I completed a bachelors degree: BSc Computer Science and BSc 3D Distributed Games design.

Why it ended

The degrees were finished and I did not continue studying. I went into the backend database team at ACI Worldwide.

blablablastudios.comfuzzylogicstudio.io

Day to day

Both jobs were on site, 09:00-17:00, working with the team. Each studio had 10+ engineers. The week ran on the usual ceremonies: a daily standup and a weekly backlog grooming.

The organisation

I did 2 internships, each 1 month long, and both were at games studios. Blablabla Studios makes gambling games that run on slot machines in casinos around the world. It designs the slot games and the art and animation behind them for the iGaming industry, for operators across Europe, the Americas, Asia and Australia. Fuzzy Logic Studio makes games in Unity, using AR and VR. It builds immersive training and visualisation for enterprise clients, and its portfolio includes Aston Martin, Anglo American, Hyundai, Nissan, Renault and Network Rail.

The role

Both were in my final year at the University of Cape Town. I was at Blablabla Studios in January and at Fuzzy Logic Studio in July. I did them alongside my coursework.

Why I took it

I needed line items on my CV, commercial work before I had my degree. I wanted a job in the games development industry. Both firms were local, and both agreed to take me onto the team for the experience. Neither studio had a vacancy to fill, and neither internship was paid.

The work

At Blablabla Studios the games ran on an engine called Mobile Mil, and we wrote them in JavaScript because the Unity gambling licence was far too expensive. I worked on the integration with the maths model: the game makes an API call, the call returns the spin result, and the game then shows that result to the player. I also tested the games and fixed bugs for the month.

At Fuzzy Logic Studio I worked on 2 projects, 1 AR and 1 VR. On both projects I got small, scoped tasks, and I did not own an area of the work. I built features and tested them myself, and I also fixed bugs. I took my own changes through the studio’s CI/CD pipeline.

Outcome

At Fuzzy Logic I used a CI/CD pipeline for the first time. At Blablabla I integrated into an API for the first time.

Why it ended

Neither job was open-ended. I went back to finish my final year at the University of Cape Town.