The MyUoB Android App

A demonstration of an Android app I built for students at the University of Birmingham.

I spent about one working day a week for 8 weeks building an Android application for students at the University of Birmingham. The primary purpose of the application is to let students register their attendance to lectures automatically, and track the lectures that they have attended throughout the academic year. It also provides some additional functionality to enhance the student experience on campus.

drawing drawing

The app login and main menu screens.

As shown above in the menu, there are three main features that the app presents: recording attendance to lectures, viewing an attendance dashboard, and an easy-to-use timetable.

Recording lecture attendance

The current method of recording attendance is by gathering signatures on a sheet distributed in-class by the lecturer. In addition to the manual overhead of entering this information in a database, it is far from foolproof: you can just have your friends sign the sheet for you!

The app lets users record their attendance through capturing their location and elevation, and checks the timetable information to verify whether students are indeed where the course is taking place at the time; with an electronic record being generated and transmitted to the University.

drawing drawing

The lectures taking place at the current time for the student, and the location confirmation screen.

Attendance dashboard

The app also lets users view their attendance record over the academic year. This functionality exists since attending a certain number of lectures each term is compulsory for the purposes of the student visa for international students. The app tells them whether they satisfy the requirements for their visa.



Additionally, the app provides an easy-to-use academic timetable of lectures and seminars, together with a method to get directions to a lecture location via Google Maps.

The timetable main view.

drawing drawing

The detailed information screen for a lecture, and the directions obtained through the app.


Aside from the usual native Android stack, the app uses:

  • Realm for local storage. I found it intuitive and easy to use, and the query language certainly beats writing SQL by hand (or the overhead of layering yet another abstraction layer over a local database). It's also very fast.
  • Android-Week-View: a nice little library for displaying calendars.
Did you like this post? You can follow @VictorDarvariu on Twitter.