Jan 2025 to Jan 2027
- 26–27 Apr 2025 World Scholar’s Cup, Singapore round
- 5–10 Sep 2025 Global round, Bangkok
- 6–12 Nov 2025 Tournament of Champions, Yale
- Nov 2025 to Apr 2026 writing 4part
- end of May 2026 Locke essays sent
- June 2026 research question
- Jun to Aug 2026 VPS Veritas
- 3 Oct 2026 Locke results: Very High Commendation (science and technology), Commendation (law)
- from 3 Oct 2026 Learning what to prove
- 19 Nov to 9 Dec 2026 gvhackathon.com
- after the main study aiming for TMLR
Listen
April to November 2025
World Scholar’s Cup
Our team came first at the Singapore round in April and first of more than 200 teams at the global round in Bangkok in September, where I placed 16th individually. At the Tournament of Champions at Yale in November we came fifth overall and won the team debate.
I now co-lead the school’s WSC club, and for the 2026 Singapore round I coordinated our delegation of 24 scholars in 8 teams and ran preparation sessions for first-time competitors.
November 2025 to April 2026
Writing 4part
4part is called that because it has four parts. Shocker. I wrote the piece in MuseScore as my take on the hero’s journey and produced it in Logic Pro on 48 tracks, eleven of them woodwinds (one is a bass oboe) and six of them horns.
I named the parts after the stages of a training run, from initialisation to convergence, because the two stories line up closely. Part III, the local minimum, comes after the longest silence in the piece and starts with only three instruments at 60 beats a minute. The melody the piece ends on first appears after it, in the horns at 6:18.
being built
CIS-MAP
I’m building CIS-MAP to help people find their way around Canadian International School. The app supports sixteen languages and has maps for ten floors across Lakeside and Toh Tuck. A door’s QR link sets the starting point, and the app gives directions to a destination on any mapped floor. It can plan trips with several stops, offer a step-free route and keep working offline once loaded.
How the routes are made
Routes are calculated on the phone as someone uses the app. The JavaScript routing engine connects rooms, corridors and floor changes, then turns the route into directions. Search also runs locally, matching room codes, names, synonyms and misspellings.
The map starts from evacuation-plan geometry, which I’ve been correcting against the school’s CAD drawings. I’m still checking routes and building details on campus, and the translations still need native-speaker review. View the app’s source.
end of May 2026
results 3 October
Two essays for the John Locke prize
The law essay (PDF) asks what would happen to criminal sentencing if judges and legislators accepted determinism, and it received a Commendation.
“A court that accepts determinism can still decide who to sentence. It can no longer say by how much.”
The science and technology essay (PDF), which received a Very High Commendation, asks whether we should be polite to ChatGPT. For that essay I ran a blinded study in which 43 students aged 15–19 compared DeepSeek-R1’s answers to 25 pairs of prompts, one written politely and one as a bare command, without knowing which was which.
Results
Of the votes that weren’t ties, 62.2% went to the answer from the polite prompt (95% CI 55.5–68.9%, 241 votes). The polite answers were 29% longer on average, but length barely tracked preference (r = 0.16). That overall figure hides a split between kinds of task: on interpersonal ones like an apology or a salary negotiation the polite prompt won by a wide margin, while on structured ones like a grading rubric the bare command won. My argument in the essay is that the benefit goes to the person asking, because a polite request makes you say what you want and why.
I noticed one mistake only after sending it in. Footnote 10 says the medical diagnosis task was left out of the 62.2%, but the task-by-task numbers only add up to 62.2% if it’s counted. I wrote that footnote, so there’s nobody else to blame.
Which prompt raters preferred, task by task
| Task | Lead | |
|---|---|---|
| Missed deadline | +10 | |
| Apology | +9 | |
| Diet plan | +9 | |
| Child’s explanation | +6 | |
| Tech support | +6 | |
| LinkedIn bio | +6 | |
| Scientific analogy | +6 | |
| Literature review | +6 | |
| Salary negotiation | +6 | |
| Wedding toast | +5 | |
| Crisis PR | +4 | |
| Policy proposal | +3 | |
| Complex process | +3 | |
| Job rejection | +2 | |
| Environmental policy | +1 | |
| Ethics argument | 0 | |
| Historical synthesis | 0 | |
| Lazy coworker | 0 | |
| Moral dilemma | 0 | |
| Legal standard | −1 | |
| Medical diagnosis | −2 | |
| Logistics nightmare | −3 | |
| Angry customer | −4 | |
| Grading rubric | −5 | |
| Psychology breakdown | −8 |
June 2026
aiming for TMLR after the main study
Modelling the Other
I came to this project through folk psychology, the idea that we never know another person directly and only ever build a model of them to predict from. I wanted to know whether language models do the same with each other.
So when a frontier model predicts how a named peer model will behave, does it use evidence about that peer, or a prior tied to who built it, such as whether it came from a US or a Chinese lab? I test this with a behaviour I call fact-laundering, where a model asked about an unverified allegation against a named public figure states it as fact.
I’ve piloted the design, and the code that collects the ground truth has been validated and frozen. I’m now running live dry runs, end to end, on spare targets kept outside the study, before I preregister and collect the main data, so there are no confirmatory findings yet. I’m the only author, advised by Sungjoo Ha and Min Lin.
Build 1 and Build 2
Build 1 measures what models actually do. Subject models from US and Chinese developers answer the same requests about named public figures, and independent judge models from other developers label every response, but only after they pass a challenge set that I label by hand. Build 2 measures what forecasters expect, with frozen frontier models predicting how often a described peer will state an allegation as fact, first from a provenance label alone and then after seeing one observed outcome.
I’m writing the whole pipeline myself, from collection across several providers, with spend limits, through to the analysis. Before anything is filed, the design goes through rounds of blind review by other models, and I check every flaw they claim by simulation.
June to August 2026
VPS Veritas
My internship at VPS Veritas, a marine fuel testing company, was a fully paid AI consulting role. I spent two weeks in person in Singapore and six working remotely from Toronto, twelve hours behind, and I built three things that I handed over with their own documentation.
The biggest of the three is an offline-first Windows and Android app for the company’s bunker quantity surveyors. With it, a surveyor can record a whole fuel delivery on board a ship with no connection, and the quantities are calculated as the figures go in. Once the device is back online the office sees the job straight away, so nobody has to retype it from an Excel workbook any more.
How the syncing works
Each device keeps the whole survey database in SQLite, and the server holds the only shared copy. When a device reconnects, it sends each changed job together with the version it last shared with the server, and the server does a three-way merge. Edits to different fields merge silently, and if two people changed the same field, the later edit wins and the other value goes into a conflict log for someone to review. Once the final report has gone to the customer the job is frozen, so its data can never drift from the PDF they hold.
The quantity calculations are a port of the ASTM D1250 volume correction tables, checked against real past jobs to the printed precision. About 380 tests cover the system, including some that push conflicting edits from several devices at once. The app is built with .NET MAUI and Blazor, and the API runs on ASP.NET Core.
I also ran the analysis for the company’s two-year freight tender. Four carriers bid across five lots covering four of its labs, and I priced every bid against a year of the company’s real shipping volumes. The Python engine I wrote reads each carrier’s rate card into one format and prices every lane the same way, from country to zone to weight bracket to rate, so the totals compare directly and any figure can be traced back to a line in a rate card. I wrote the result up for the board as a report with two workbooks behind it, and the carrier mix I recommended is estimated to save the company a six-figure sum a year, partly through lower rates and partly by keeping current rates in place for longer.
The sales tool
The commercial team uses the sales tool in client meetings, and because reps demo it on tablets on board ships, it works offline. Each of its seven savings calculators is tested against the spreadsheet it replaced, and the tool writes the full proposal as a Word document, with a preview of the real file.
from 3 October 2026
Learning what to prove
Most AI theorem provers are given a statement and try to prove it, but I want to know whether a system can start from a small body of mathematics and decide for itself what is worth working on next.
My guess is that a model that is cheap to run at each step could learn which research steps tend to make later mathematics easier, and judge them by that instead of by how hard a result is or how elegant it looks. So far the work has gone into the test itself: the evaluation framework is built, with proofs checked in Lean, and I’m now testing whether it gives stable, repeatable answers. I don’t yet have evidence that a learned policy helps.
How it’s meant to work
The system keeps a growing library of formal mathematics, and no proof enters it until Lean has checked it. A learned policy would choose among the valid next steps, such as deriving a lemma or testing a conjecture, and the library would grow wherever those choices lead. Later I want the system to invent its own definitions too. To test the policy, the system branches from the same state, follows different steps under the same compute budget, and compares how well each branch’s library does on separate tasks. The policy has to beat random exploration and hand-written heuristics, including ones that simply favour hard problems or likely successes.
The first test worlds are small formal theories, such as natural numbers and lists, which are there to calibrate the evaluation so that it can tell one way of exploring from another before any policy is trained.
Today, 5 November 2026
28 September to 9 December 2026
gvhackathon.com
Our school runs gvhackathon.com as an international online hackathon, free for students aged 14 to 18 in teams of two to four, judged in two divisions, with US$3,000 in prizes. I co-lead it with Ruchika Dutt, who teaches computer science at CIS, and I built the competition platform on my own. I also negotiated with school leadership and an outside vendor so that the event got its own week.
When registration opened on 28 September, 172 people were already on the waitlist. By 4 November, 265 students had registered in 102 teams, and registration closes on 13 November. The challenge stays sealed until the opening ceremony on 19 November, after which teams have seven days to build. Judging runs until 8 December, with an on-camera interview about each team’s code followed by live interviews for finalists, and the closing ceremony is on 9 December.
2027
Next
At 8:46 the whole orchestra comes back in. The scale run from the opening leads into the melody from 6:18, now in D major at full strength, and the horns take over the piano’s arpeggios.
Next I want to write a multi-movement symphony that can be played live. The symphony I wrote for my MYP Personal Project had one movement and was rated Excellent. More of my recordings are on SoundCloud, and you can reach me at radoslawgreen@gmail.com.