Chirath Soithong GitHub Résumé PDF

Project 03BuzzeBees, BangkokData Scientist InternJun–Aug 2025

Helping an overseas AI client decide which data it could use.

Scope agreed with clientAlso at BuzzeBees: an early prototype that predicts ad returns

BeforeAn open question: which of the company’s data could help?AfterData sorted into three groups. The client agreed on data for selected products.

Bangkok at night from high above: glowing orange ribbons of an expressway interchange loop between lit buildings, and the city's lights stretch to the horizon under a dark sky
The Makkasan expressway interchange at night, Bangkok. Photo: aotaro, CC BY 2.0, via Wikimedia Commons (cropped, lightly softened)

The 60-second version

Project 03 · BuzzeBees
Situation
Omnisient, an AI and data company from South Africa, asked which of the company’s data could help train its models.
What I did
Spoke with the client in English, gathered what existed from the product and data teams, and helped sort it into offer now, needs more information or a partner’s OK, and not suitable.

One open question

  1. Offer now
  2. More information or a partner’s OK
  3. Not suitable
One open question, sorted into three groups the client could decide on.
Result
The client agreed on data for selected products. I also handed an ad-return prototype to a senior colleague to develop further.
So what
The aim: turn an open question into clear choices the client could decide on.

The situation

An overseas AI client asked which of the company’s data could help train its models.

BuzzeBees is a loyalty-service provider in Bangkok. Omnisient, an AI and data company from South Africa, visited to discuss which of the company’s data could be useful for training AI models.

The talks were in English, and I was allowed to speak with the client directly.

Exhibit 1From Cape Town to Bangkok

Scroll to follow the line · drag to turn the globe

Illustrative picture: a globe with a line from Cape Town, South Africa, where Omnisient was founded, to Bangkok, where BuzzeBees is. The line is labelled: the talks, in English.

Illustrative Omnisient was founded in Cape Town. The talks were with BuzzeBees in Bangkok.Source: my BuzzeBees internship, Jun–Aug 2025.

Who I worked with

I spoke with the client, and brought in the product and data teams.

I talked through the client’s data needs with them directly. My English and my recent machine-learning work helped me follow the technical side.

Inside the company, I took the client’s questions to the product team and to a senior data scientist, and brought the answers back to the talks.

Exhibit 2Who asked what, in order

Scroll to play the exchanges

Illustrative sequence. The client asks me which of the company’s data could help train its models. I ask the product team what data we have, how much, and how it is stored; they answer. I ask a senior data scientist to pull the data that fits the client’s use; the data is pulled for the talks. I bring the client the three groups we sorted, with the data’s rows, columns and rough size.

Illustrative The gist of each exchange, not a transcript.Source: my BuzzeBees internship, Jun–Aug 2025.

What I did

I found out what data existed, how much, how it was stored and how it could fit.

  1. Asked the product team what data the company had.
  2. Found out roughly how much there was and how it was stored.
  3. Looked at how it might relate to what the client wanted to use it for.
  4. Worked with a senior data scientist to pull the relevant data for the talks.

Exhibit 3What we found out about the data

Point at a number
RowsColumns
  1. What it is. What data the company had, from the product team.
  2. How much. Roughly how much of it there was.
  3. Where it is kept. How the data was stored.
  4. How it fits. How it might relate to the client’s use.
  5. Its shape. The team showed the client the expected size and structure: rows and columns.
Illustrative The stack stands for a data set.Source: my BuzzeBees internship, Jun–Aug 2025.

Three groups

We sorted the data into three groups the client could decide on.

Some data could be offered right away. Some needed more information or a partner’s OK first. Some was not suitable, or unlikely to be approved.

Exhibit 4Which data could the client use?

Scroll, or drag the cards yourself

Offer now

  • Data setReady to offer
  • Data setReady to offer

Needs more information or a partner’s OK

  • Data setNeeds more information
  • Data setNeeds a partner’s OK

Not suitable

  • Data setNot suitable for the use
  • Data setUnlikely to be approved

Illustrative Each card stands for a data set. We sorted them as a team.Source: my BuzzeBees internship, Jun–Aug 2025.

What the client decided

The client agreed on data for selected products.

  • Which data to use. The client chose from three clear groups and agreed on data for selected products.

The team also showed the client the expected size and structure of the data, as rows and columns.

Exhibit 5The talks, in short

  1. The client · Omnisient
    Which of your data could help train our models?
  2. Me, for the team
    We sorted it into three groups: what we can offer now, what needs more information or a partner’s OK, and what is not suitable.
  3. Me, for the team
    Here is the shape of the data: rows, columns and roughly how big.
  4. The client
    We agree on the data for these selected products.
  5. Outcome
    Client agreed on data for selected products
Illustrative demo The gist of the talks, not a transcript. marks the decision.Source: my BuzzeBees internship, Jun–Aug 2025.

Also at BuzzeBees

I built an early prototype to predict whether boosting a post pays back.

Partner Facebook pages post products with an affiliate link. The company pays to boost a post and earns a commission when people buy. The question: how much to spend on a boost for the best return? I handed the prototype to a senior colleague to develop further.

Exhibit 6How a boosted post earns a commission

Scroll to follow one post
  1. Pick a product

    that suits a page’s audience

  2. The page posts it

    with an affiliate link

  3. Pay to boost the post

    the boost spend

    −Money out
  4. People buy

    on Shopee or Lazada

  5. A commission comes back

    the company’s revenue

    +Money in

The prototype’s questionHow much to spend on a boost for the best return?

Illustrative The card stands for one partner’s post, from product to commission.Source: my BuzzeBees internship, Jun–Aug 2025.

What I built

I linked the money spent on boosting posts to the commissions they earned.

  1. Wrote SQL queries that link Facebook ad spend, impressions and clicks with commissions and orders from Shopee and Lazada.
  2. Matched the two sides through shared tracking IDs, so spend and commission sit side by side.
  3. Worked out the return measures: click-through rate, cost per click, return on ad spend and return on investment.
  4. Built an early model to predict the return, and handed it to a senior colleague as a prototype to develop further.

Exhibit 7Two sides of a boosted post, side by side

Scroll to join them

Illustrative picture. From Facebook ads: tracking ID, boost spend, impressions and clicks. From Shopee and Lazada: tracking ID, commission and orders. The two are matched on the tracking ID and sit side by side, with four measures worked out: click-through rate, cost per click, return on ad spend, and return on investment. Return on ad spend is commission divided by boost spend; return on investment is commission minus boost spend, divided by boost spend. Then an early model predicts the return; it was handed to a senior colleague.

Illustrative Column names in plain words.Source: my BuzzeBees internship, Jun–Aug 2025.

What happened

The client agreed on data, and my prototype went to a senior colleague.

Scope agreed with client

The client agreed on data for selected products. My manager told me my part helped the talks finish sooner.

I handed the ad-return prototype to a senior colleague to develop further.

So whatThe aim: turn an open question into clear choices the client could decide on.

SkillsClient communication · Requirements scoping · Cross-team coordination · Data preparation

Exhibit 8Three results, front and back

Point at a card, or tap it, to turn it
  • The client

    Agreed on data for selected products.

    What the client saw

    Three clear groups, and the data’s rows, columns and rough size.

  • My manager

    Told me my part helped the talks finish sooner.

    What I did

    Spoke with the client directly, in English, and brought in the product and data teams.

  • The prototype

    Handed to a senior colleague to develop further.

    What it holds

    Ad spend and clicks next to commissions and orders, the return measures, and an early model to predict the return.

What came out of the client talks and the prototype.Source: my BuzzeBees internship, Jun–Aug 2025.

Built with

  • Databricks, data pipeline
  • SQL, queries
  • Python, prototype
  • pandas, data preparation
  • scikit-learn, testing the prototype

For the client talks I worked with the product and data teams. The early ad-return prototype, handed over to a senior colleague, used SQL on Databricks and Python.