Theo Holroyd and Ollie Gerety share a common passion - they both love coding.
But until recently it was hard for the two pupils at King's College School, Cambridge, to work together on a program.
Theo is blind and the method used by the school to introduce children to simple coding concepts just did not work for him.
Scratch, used in hundreds of primary schools, is a visual program, which involves dragging coloured blocks of code around a screen and then watching an animation.
But now Microsoft has developed a physical programming language to make coding accessible to anyone with a visual impairment.
Code Jumper consists of a series of pods, each of which contains a single line of code, representing a set of commands.
They can be joined together in different sequences to create a program - and Theo and Ollie have helped test and refine the system.
The woman leading the project is Cecily Morrison, a computer scientist at Microsoft's Cambridge research laboratory.
She had a personal reason to think about the problem of teaching visually impaired children to code - her son was born blind six years ago.
"We wanted to understand the world that he was going into," she explains, "and we found very quickly that many of his older friends wanted to learn to code and there were no options available to them to learn to code at this young age."
She and her Microsoft colleagues quickly decided that what children needed was something physical - "something that could they could have in their hands and that would make sense to them in their world".
Music is also a part of it - each pod can be programmed to play a certain note and the young coders can put them in different sequences.
"There are dials on the pods, which they can turn to change the sound or the duration of the commands they have in their program," Ms Morrison explains.
Just as with Scratch, this is a basic introduction to the concepts of programming, and children can then move on to other more sophisticated coding languages.
It has worked for Theo.
"From not being able to code at all it's enabled me to understand all these concepts and then be able to move on to Python which is accessible," he says.
When I ask Theo whether he now wants a career in technology he interrupts me to say, "Definitely!" and outlines his plan to make phones and computers more accessible to blind people.
After four years of development, Code Jumper is now about to go on sale to schools in the UK, US, Canada, Australia and India with plans to roll it out worldwide over the next five years.
Cecily Morrison hopes this invention will be used by all children: "We don't want to take these blind children out of their mainstream classes to code but rather give them a tool that all of the children in their class - and they too - can use together so they can code together with their sighted peers."
That is certainly working for Theo and Ollie.
Watching them co-operating to put together a Code Jumper program, it's clear the two friends are having fun and learning a lot.