Luka and Oskar were impressed by the amount of sensors available in the provided bus. The data was quite large and varying in form, so the logical challenge was to make it understandable to the passenger. Consequently, Bill the Brilliant Bus Display was created.

What it does

Bill uses the provided sensors to show the data on the screen. In other words, he shows what's going on inside the bus. When the bus accelerates Bill shows the speed as bumps and hills along a 2D track. He informs you of the next bus stop and replaces the normal "stop" display text. Additionally, he provides information on the efficiency of the bus driver as the day progresses.

How we built it

The web frontend uses PIXI.js to render 2D graphics with WebGL. For the physics, Matter.js was used. The backend is implemented using Elixir & Phoenix. The backend pushes API data to the frontend through Websockets every second.

Challenges we ran into

The largest problems occurred not in the design phase, during implementation. Some technical decisions made at an early stage turned out to be limiting extent to which the implementation could reflect the original design. The biggest of these was the decision to use a full fledged 2D physics engine, when a much simpler hand made solution would have been more flexible.

Accomplishments that we're proud of

Luka and Oskar are proud of the idea. The visualised results are what they were aiming for and the Bill the Brilliant Bus Display looks to be doing his job well.

What we learned

Keep it simple stupid, both in the design and the implementation.

What's next for Bill the Brilliant

As one can see from Bill's devious smile, he's already planning on taking over the world. He's going to be customisable to different countries and bus companies, for example the statistics shown can depend on the available data and sensors. Bill the Brilliant Bus Display is only growing stronger and we hope you'll meet him one day.

Built With

Share this project: