Profile photo

James Ball

Forward Deployed Software Engineer @ Palantir
MEng Computing Graduate @ Imperial College London
Oscilloscope artist and osci-render creator

About Me

I'm an MEng Computing (with AI and ML) graduate at Imperial College London. I achieved a First Class Honours with an overall percentage of 84.95%, as well as Dean's list in years two, three, and four.

My final-year project in generative AI uses diffusion models to generate synthetic medical imagery. I explored novel methods of generating fake segmentation mask datasets that lead to state-of-the-art performance, as well as novel methods of generating images larger than a gigapixel in size.

Experimenting with programming, music, and art is a big interest of mine, the best example being osci-renderosci-render; software for creating audio-visual art that you can display on an oscilloscope.

CV / Resume

Proficient in

  • C++
  • Java
  • Python
  • PyTorch
  • TypeScript
  • Apache Spark
  • C
  • Scala
  • Regex
  • Linux
  • Git
  • Perl

Exposed to

  • Dart / Flutter
  • JavaScript
  • C#
  • Kotlin
  • PHP
  • Haskell

Projects

Won 'Best Newcomer's Hack' at IC Hack 20

osci-render

Cross-platform, open-source audio plugin used by 1,000s of music + visual artists for making music by drawing images on an oscilloscope using audio.

Can render 3D objects, images, text, video, and Blender animations on an oscilloscope.

Designed to be extensible, allowing artists to synthesize their own audio + visuals with Lua.

Recently rewritten from scratch as an audio-plugin in C++.

KidneyCaliper

Won 'Winton Capital Applied Computing Prize'

Kidney Diffusion

Final-year research project using diffusion models to create AI-generated medical kidney imagery.

  • Novel method of generating segmentation mask datasets
  • Novel architecture for generating ultra-resolution images >1 gigapixel in size
  • Leads to SOTA performance when used as a data augmentation method
  • Paper accepted for MICCAI DART'23

Developed individually using Python with PyTorch.

KidneyCaliper

Won 'Ocado Technology Group Project Prize'

KidneyCaliper

KidneyCaliper is an automated deep-learning-based workflow for kidney pathologists.

  • Kidney biopsy images automatically annotated and analysed
  • Pathologist's workflow sped-up dramatically
  • Provides valuable statistics that were previously infeasible to obtain
  • Researchers given more insights into which factors make a difference in donor kidney survivability

Developed as a group of 6 for our 3rd year group project using Python and React.

Protectly

3rd highest ranked project in second-year

Protectly

Mobile app that facilitates the physical wellbeing and safety of 18-25 year olds during and after nights out.

  • Track locations of friends
  • Panic button to send SOS to friends when in danger
  • Fake phone call to calm you

Frontend written in Dart / Flutter with backend written in Python / Flask.

Presentation
Snake AI

Achieved full marks in A-Level coursework

Snake AI

An AI that can learn to play snake perfectly using a neural network and a genetic algorithm.

I wrote this in Java completely from scratch to aid my understanding of neural networks.

Other Projects

PlayTogether

Web app that allows musicians to collaborate remotely by playing along with other band members as a backing track, leading to more cohesive music-making.

WACC

Compiler made using Scala for a simple language called WACC. Also added a 'Mark and Sweep' garbage collector, and re-implemented Snake AI in WACC.

Pintos

Various features were built upon a bare-bones operating system in C called Pintos, including running & loading user programs, thread scheduling, virtual memory, and memory mapped files.

Experience

Forward Deployed Software Engineer

Palantir • Full-Time

Aug 2023 - Current

Forward Deployed Software Engineer

Palantir • Internship

Mar 2022 - Sep 2022

I worked with a small team to develop the UK government's Homes for Ukraine platform. This has helped ensure the safe resettlement of over 128,000 Ukrainian refugees in the UK.


I created advanced user workflows for entity resolution, allowing for data deduplication, and cleaned-up and pipelined poor-quality data from disparate sources.


As a Forward Deployed Engineer, my work was client-facing, allowing me to develop my communication skills not just within my team but also externally.

Computer Scientist

Netcraft • Internship

Jun 2020 - Sep 2020
Jul 2021 - Sep 2021

Netcraft specialises in finding and taking down websites that impersonate other companies. They currently perform takedowns for three of the ten most phished companies on the internet.

Perl was the language I used the most, along with JavaScript, MySQL, PHP, and other technologies such as Puppet.


In 2020, I worked as part of a research team, and uncovered new scams and phishing sites including Microsoft support call and gift card scams.

In 2021, I automatically detected and took down telephone scams, spoke to customers about newly discovered covid scams, and worked on sales for web scams to companies worth over $400B.


Regex and Bash were skills that were heavily developed throughout my time at Netcraft; Regex is used all over Netcraft for classifying malicious sites.

My communicative and documenting skills were exercised when writing technical reports about the programs I have been writing and their purpose.

IT Developer

thirtyone:eight • Part-time

Aug 2016 - Oct 2019

thirtyone:eight is a charity that specialises in introducing child-protection policies in churches and offering DBS checks to many UK dioceses.

I worked as part of the IT department; tooling using C#, managing databases using MySQL, maintaining IT systems using Azure, and fixing staff PCs.


The redevelopment of the company website was my largest project; spanning over multiple months, working with multiple developers, and closely communicating with the marketing department.

I heavily used JavaScript, CSS, and HTML, and worked with multiple web frameworks, including Angular and Vue.


Another large project I undertook was the development of a hardware auditing program that gathered information about staff PCs.

Once the data is gathered, it is sent via JSON to a server program that inserts the data into the company database. This required heavy knowledge of Azure, C#, and .NET Entity Framework.

Awards

Dean's List Year 4

Imperial College London

Jul 2023

Awarded for being placed in the top 10% of my cohort and achieving an overall percentage of 84.9%.

Winton Capital Applied Undergraduate Project Computing Prize

Imperial College London

Jul 2023

Annual award to a final-year undergraduate student for an outstanding individual project in applied computing.

Project Showcase Day - Best Presentation

Imperial College London

Jun 2023

Awarded for the best presentation of a final-year individual project at the annual Project Showcase Day, as chosen by the audience.

Dean's List Year 3

Imperial College London

Jun 2022

Awarded for being placed in the top 10% of my cohort and achieving an overall percentage of 85.5%.

Computer Graphics Excellent Technical Achievement

Imperial College London

Mar 2022

Awarded to the most impressive ray tracing implementations and extensions as part of the Graphics course at Imperial.

Ocado Technology Group Project Prize

Imperial College London

Mar 2022

Awarded for the best overall third-year software engineering project at Imperial College London. This was given to KidneyCaliper, our automated deep-learning workflow for kidney pathologists.

Dean's List Year 2

Imperial College London

Jun 2021

Awarded for being placed in the top 10% of my cohort and achieving an overall percentage of 84%.

'Best Newcomer's Hack' at IC Hack 20

Imperial College London

Mar 2021

Awarded for PlayTogether; a web app that allows musicians to collaborate by playing along with other band members as a backing track, leading to more cohesive music-making.

'Best Newcomer's Hack' at IC Hack 20

Imperial College London

Feb 2020

Awarded for osci-renderosci-render; a program for drawing objects, text, and images on an oscilloscope using audio output.