Boxby

Boxby is a project I built along with my team of 5 people in RMIT ITS Hackathon 2019. The theme was "An Equal Community", which led to the idea of building a platform that caches the internet and provides an isolated offline version.

The name Boxby was inspired by The Box from the TV series Silicon Valley.

TechStackGithubDemo
NodeJSRepositoryVideo
EJS
AR.JS
Python
Bash

boxby3

Purpose of the project

Similar inventions to Boxby were built to solve the problem of social equality however, most of them were unsuccessful1. Despite the cheap price, such devices can not be considered useful if they provide no consequential benefit to the community.

By learning from the areas in which others have failed, we believe that limited education resource is the core problem which leads to social inequality. The Internet is the most powerful tool to help people to achieve better educational outcomes, however many areas and countries face limited to no internet connection with their devices. Rural areas in Australia are also known to face similar issues2.

boxby6 boxby7

The Process

Boxby was mainly configured at the operating system level to provide the most efficient network delivery. It ran off an old Raspberry Pi 3, an HDD with a wifi router. They were all well connected and packaged together within a box.

At the software level, Boxby runs a NodeJS server to provide a real-time API. For the front-end, I chose to use EJS to keep it lightweight but still provide all the user experiences.

It provided offline services such as Khanacademy, NPM, Canvas, Wikipedia, ... .

For augmented reality, we first planned to follow a server side rendering using ARJS 3. However with the limitation of power from the Raspberry Pi. However with the limitation of power from the Raspberry Pi, we decided to use client rendering instead. This decision included some limitations but still allowed us performance stability.

A solution to this problem would be deploying Fog Computing instances which will then do server rendering on Cloud.

Problems

If you're wondering if this small device will heat up overnight, since it is equipped with its own wifi routing system and running a backend server continuously to deliver a real-time API, the answer is:

Yes it will.

To overcome such a problem, we had to tear the system down to as small as possible and takes turns to watch it overnight during the 24 hour hackathon.

The idea was also pivoted many times during the day to meet all of the judges' desire as each judge has their own opinion on how the system can benefit the community.

This caused a time and cost increase to the project. In order to overcome this, all the components were built in micro services level, which allowed for future reusing if necessary.

Lesson learned

Scrum plays an important role to keep the whole team in sync with the project, especially in situations where a lot of changes occur. This project allowed me the chance to learn how to communicate with my team members more efficiently using Scrum methodology.

Winning a trip to SFO was an invaluable experience. Thanks to our sponsor Capgemini, I was able to receive valuable information from meetings with Google Home Product Manager and some of the great minds at Facebook, Uber, and the Intel developer team. My experience with these professionals significantly helped reshape my perspective and allow for a deeper understanding of the tech industry.