I am a co-founder and the Head of Engineering at the Hub of All Things (HAT). The HAT is a personal data store and a multisided platform technology that allows you to see, control and share your personal data. Originally getting involved in the initial research project I was part of the team that formed a spin-off to bring the idea into "the real life". In the team I lead all engineering work on building the ecosystem, ranging across the full stack, cloud infrastructure, third-party resource integration while maintaining the team's flexibility and agility to adjust to business needs while pushing the boundaries of the most bleeding-edge technologies.
I consider myself both an entrepreneur and an academic. I have earlier co-founder and was the CTO of Cambridge Coding Academy, an organisation with the ambitious goal of revolutionising Computer Science education. I helped bootstrap the organisation with no external funding into an operational business that delivers value to customers ranging from secondary school kids to software engineering professionals and organisations in the UK and internationally.
I completed my PhD at the Computer Laboratory, University of Cambridge in March 2016. My PhD was on the Design of Energy-Efficient Mobile Communication Protocols, although I have worked on a wild variety of problems and projects throughout. I was a member of the Networks and Operating Systems group, part of Systems Research Group, working with Prof. Jon Crowcroft as my advisor. My PhD was partially sponsored by T-Labs, Germany. I also received my BA in Computer Science from the University of Cambridge in 2011.
HAT Data Exchange (HATDeX), Head of Engineering
2015 October - current
HATDeX is the operational hand of the HAT ecosystem. It is a social enterprise with a mission to promote the growth of a global network of HATs and HAT data exchanges.
The Hub of All Things (HAT) R&D, WMG, University of Warwick, Senior Reserach Fellow
2015 February - current
The Hub of All Things liberates your data from the corporate silos and brings it to you, in your own personal hub where you have complete control over it. My role is to analyse the various data collected by the platform and reshape it into new verticals through data visualisation, to make sense to the users.
Cambridge Coding Academy, Co-Founder, CTO
2014 August - 2016 May
My primary role at the Cambridge Coding Academy is everything technical - backend systems, automated teaching material processing, teaching support systems, etc. However I am involved in the production of teaching materials on a daily basis.
Telefonica I+D, Internet Systems and Networking Group, Internship
2012 September - 2013 January
My work in Telefonica Research included in-depth analysis of current mobile application communication patterns, their inefficiencies and the impacts they have on a 3G network as well as energy consumption of the mobile device they are running on. It furthermore included proposing a set of optimisations and prototyping a solution on the Firefox OS platform.
Deutsche Telekom Laboratories, Internet Network Architectures group, Internship,
2011 August - 2011 September and 2010 June - 2010 August
In the first summer I initiated the ThinkAir project and implemented its core functionality. The project concerned dynamic code offloading to cloud computing facilities, based on the environmental properties and resource requirements, to improve smartphone performance and battery life. It strongly reinforced my interest in mobile technologies and led to starting a PhD in mobile cloud computing.
During the short period of time in the second summer I took on a few projects that would later blend into my PhD work. The projects were related to mobile cloud computing: cellular infrastructure improvements for more efficient code offloading as well as improving machine-to-machine communication efficiency through virtualization, cloud and code offloading.
Atea Baltic, Software Development division, Internship,
2010 August - 2010 September
During the internship I was working on modifying a few large-scale business applications, requiring to rapidly understand application logic and find the best solutions for the modifications required, as well as quickly learn the unfamiliar technologies.
University of Cambridge Computer Laboratory, Network and Operating Systems Group, Mobile Systems team, Internship,
2010 June - 2010 August
During the summer I worked on the initial stages of the EmotionSense project. The goal of the project was to create a mobile phones based platform for experimental social psychology research. I was involved with the project from the very beginning, which meant creating the core of the system that would be used later, as well as determining what information about user's environment could possibly be extracted and how
National Students Academy, Volunteering,
2008 July - January 2011
Having spent four years in the academy myself, I have volunteered in the organisation a number of times since. I have tried to help whenever I felt like my help would really be beneficial. I have given lectures on computer operating systems to the Computer Science students in the academy as well as on topics related to identity development to all students. I shared my views and experience with the board to help develop the academy further and most recently I helped to participate in the European e-volunteering competition, where we won the second prize.
Cambridge University Technology and Enterprise Club, Sponsorship Team,
2008 October - 2011 October
In CUTEC I primarily helped with fundraising activities for the organisation's entrepreneurship-related events, which involved communicating with company representatives and working in a team to meet the goals on time.
2006 - 2010
I have worked on a variety of small to medium sized web projects over the years. Most of the work I have done was a rather long time ago and I barely have time for such work now. However, I do consider new opportunities if I find the projects interesting. Nevertheless, since I was still in high school when I started, I had the opportunity to learn valuable skills very early: communicating with clients, organising my time very well and working both individually and in small, self-organised teams.
Demo: PhoneLets - Offloading the Phone off your Phone for Energy, Cost and Network Load OptimizationTo Appear: MobiCom, Maui, Hawaii, USA, September 2014This demo presents how phone functionality can be offloaded from a smartphone over wireless link to a PhoneLet by sharing one SIM card across multiple devices. This can lead to significant cost and network load reductions by decreasing the number of simultaneously connected mobile clients. Furthermore, it can save energy for the mobile user when connected to a powered PhoneLet by offloading phone functionality. It absorbs the energy cost of online presence and inefficient mobile applications' communication patterns, instead providing connectivity for the user over a WiFi link.
Staying online while mobile: The hidden costsACM CoNEXT, Santa Barbara, USA, December 2013Mobile phones in the 3G/4G era enable us to stay connected not only to the voice network, but also to online services like social networks. In this paper, we study the energy and net- work costs of mobile applications that provide continuous online presence (e.g. WhatsApp, Facebook, Skype). By combining measurements taken on the mobile and the cellular access network, we reveal a detailed picture of the mechanisms selected to implement online presence, along with their effect on handset energy consumption and network signaling traffic. We are surprised to find that simply having idle online presence apps on a mobile (that maintain connectivity in the background, with no user interaction) can drain the handset battery nine times more quickly. This high cost is partly due to online presence apps that are excessively “chatty”, in particular when their design philosophy stems from a similar desktop version. However, we also find that the cost of background app traffic is disproportionately large because of cross-layer interactions in which the traffic unintentionally triggers the promotion of cellular network states. Our experiments show that both of these effects can be overcome with careful implementation. We posit that a two-way push notification system, with messages being sent at a low (regular) frequency and low volume by a network-aware sender, can alleviate many of the costs.
RILAnalyzer: a Comprehensive 3G Monitor On Your PhoneIMC 2013, Barcelona, Spain, September 2013The popularity of smartphones, cloud computing, and the app store model have led to cellular networks being used in a completely different way than what they were designed for. As a consequence, mobile applications impose new challenges in the design and efficient configuration of constrained networks to maximize application’s performance. Such difficulties are largely caused by the lack of cross-layer understanding of interactions between different entities - applications, devices, the network and its management plane. In this paper, we describe RILAnalyzer, an open-source tool that provides mechanisms to perform network analysis from within a mobile device. RILAnalyzer is capable of recording low-level radio information and accurate cellular net- work control-plane data, as well as user-plane data. We demonstrate how such data can be used to identify previously overlooked issues. Through a small user study across four cellular network providers in two European countries we infer how different network configurations are in reality and explore how such configurations interact with application logic, causing network and energy overheads.
Signposts: End-to-End Networking in a World of MiddleboxesSIGCOMM 2012 (demo track), Helsinki, Finland, August 2012This demo presents Signposts, a system to provide users with a secure, simple mechanism to establish and maintain communication channels between their personal cloud of named devices. Signpost names exist in the DNSSEC hierarchy, and resolve to secure end-points when accessed by existing DNS clients. Signpost clients intercept user connection intentions while adding privacy and multipath support. Signpost servers co-ordinate clients to dynamically discover routes and overcome the middleboxes that pervade modern edge networks. The demo will show a simple scenario where an individual's personal devices (phone, laptop) are interconnected via Signposts while sitting on different networks behind various middleboxes. As a result they will be able to fetch and push data between each other, demonstrated by, e.g., simple web browsing, even as the network configuration changes.
ThinkAir: Dynamic resource allocation and parallel execution in the cloud for mobile code offloadingIn Proceedings of IEEE INFOCOM 2012, Orlando, Florida USA, March 2012
Digital video stabilizationComputer Science Tripos Part II dissertation, Cambridge, UK, July 2011This dissertation describes the creation of a digital video stabilization system for correcting unwanted jitters in digital video footage. It describes a distinctive image feature based system and quantitatively measures performance of such system.
EmotionSense: A Mobile Phones based Adaptive Platform for Experimental Social Psychology ResearchIn Proceedings of UbiComp 2010, Copenhagen, Denmark. September 2010Today’s mobile phones represent a rich and powerful computing platform, given their sensing, processing and communication capabilities. Phones are also part of the everyday life of billions of people, and therefore represent an exceptionally suitable tool for conducting social and psychological experiments in an unobtrusive way.</p> <p>In this paper we illustrate EmotionSense, a mobile sensing platform for social psychology studies based on mobile phones. Key characteristics include the ability of sensing individual emotions as well as activities, verbal and proximity interactions among members of social groups. Moreover, the system is programmable by means of a declarative language that can be used to express adaptive rules to improve power saving. We evaluate a system prototype on Nokia Symbian phones by means of several small-scale experiments aimed at testing performance in terms of accuracy and power consumption. Finally, we present the results of real deployment where we study participants emotions and interactions. We cross-validate our measurements with the results obtained through questionnaires ﬁlled by the users, and the results presented in social psychological studies using traditional methods. In particular, we show how speakers and participants’ emotions can be automatically detected by means of classiﬁers running locally on off-the-shelf mobile phones, and how speaking and interactions can be correlated with activity and location measures.