Team Squadlight present Squadlight!

An app that helps friends keep each other safe on a night out.

Squadlight began with a simple, but quite serious user story - I’m on a night out in town with my friends, and someone has gone missing. I want to be able to find them. This grew into an idea for an app that everyone logged into whilst sober, and could be used to help them even when they’re not.

Squadlight tracks your location, and regularly reports it to the people in a room with you. If you go beyond a safe distance, or manually trigger an SOS, Squadlight alerts the other users, and shifts everyone to a clear, high-contrast chat. Your friends can then use the integrated map system to help track you down and bring you to safety.

SquadLight Demo

SquadLight Demo

Team Squadlight

Dan RoutledgePreview: Dan Routledge

Dan Routledge

Sam AshurstPreview: Sam Ashurst

Sam Ashurst

Kieron DayPreview: Kieron Day

Kieron Day

Zsolt KallaiPreview: Zsolt Kallai

Zsolt Kallai

Matthew JonesPreview: Matthew Jones

Matthew Jones

Tech Stack

We chose Flutter because it allowed us to create a mobile app that can be used on Android or iOS and to also challenge ourselves with learning a new language that is similar, but also at times, very different to JavaScript. We opted for MongoDB are it offered a fast way to build a non-relational database that could be utilised in our project. Socket.IO enabled bi-directional communication between our database and the app. We opted to use this alongside Node.js as it allowed us to spend more time exploring our frontend tech.

Tech StackPreview: Tech Stack

FAQs

  • What issues did you have during the project?

    The project held some interesting challenges for us, most noticeably the Object-Oriented Programming paradigm used by Dart which was a nice change from the functional approach used by React.

  • How did you plan the app?

    We created this app using agile working practices, including pair programming and swarm programming. We also utilised Trello to breakdown user stories into smaller tasks and manage our project deadlines.

  • How did you organise your team?

    To keep ourselves organised we utilised Scrum sprints that we shortened from the more traditional 1 or 2 weeks to 2 and 3 days in order to maintain a rapid development cycle. Alongside the sprints we utilised daily stand-ups to ensure everyone was up to date and had no blocking issues.

  • How did you manage version control?

    We used Git to effectively manage branches and merge conflicts. We actively reviewed each other's code in order to fully understand the overall app and enabled pull requests to keep the main branch organised.