Summer Internship 2019
by Alex and Leila
6th Form Students, Kings College School | Blue Hat Associates
Aug. 2, 2019
"One of our shared passions at Blue Hat is to develop the next generation of UK technology talent. Since 2017 we have been working with schools and universities to improve how programming and technology is taught and to find ways of supporting students to apply technology to solve problems and extend their entrepreneurial drive. We were delighted to be joined by two of their sixth form pupils from Kings College School in July to work on our inaugural Blue Hat Summer Intern Programme. We asked them to share their experiences."
We joined Blue Hat for their Summer Internship Programme and joined a four-week Agile Scrum project to work on a prototype of Fraud Detection system that Blue Hat is developing. Working in two week sprints, we attended a daily stand-up meeting.
During the placement, we worked on a proof of concept for a Blue Hat client. We extended some of Blue Hat's existing big data libraries to improve anomaly detection in payment flows.
The high level design
The Agile Project
The plan was to extend existing transaction processing, improve real-time data processing combining data from multiple sources, and then to develop front-ends to visualise the data to a system user.
In the first sprint we focussed on the data. We both had experience in Python, and we developed a program to handle 2 million payment transactions and simulate a flow of real-time payment transactions. With this raw data in JSON format, we built up streaming data flows into a MongoDB (data collections) and an Elasticsearch (data index). With this data stored, we were able to write software to interact with this data.
To initially understand the data we used Kibana, a front end to the fuzzy logic Elasticsearch database. This allowed us to build graphs and time series dashboards. It was exciting to see data visualisations automatically refresh every second, this allowed our users to see real-time spikes and anomalies in their data. The system allowed the users to apply successive filters to isolate patterns of data points - to drill into unusual data and understand if they are seeing attempted frauds or marketing activity.
We had now built a system to identify anomalies; next we worked on the software to allow actions to be taken.
To conclude the work placement, we had the opportunity to present our project to Dom Couldwell at Google Apigee, and to John Beale and his team at Mi-Pay. It was great to demonstrate the prototype and receive feedback on where the system would be useful, and how it could be improved.
If we were to continue, the next step would be to feed this user feedback into a machine learning layer. This would allow the system to make better decisions reducing future attempted fraud with less irritating false positives.
This was an incredibly unique opportunity to develop our programming skills and gain valuable insight into the reality of having a regular job. We were given significantly more freedom than during our normal school lives - we had the responsibility for managing our time to complete tasks for a deadline, for commuting into London and being punctual, as well as for working effectively from home.
In addition to this independence, there was constantly support for when we needed it and the chance to ask any questions we wanted. Both of us felt that this project provided a great challenge, technically and creatively, by requiring the application of the problem-solving aptitude which we gained.
By using such a wide variety of languages and tools we learnt many new skills and had to work quickly and efficiently to use software programs with which we had no previous experience.