Home
Nu-Bath: Photo Companion Mobile App

Nu-Bath: Photo Companion Mobile App

to : After being burned by other companies, Mike needed to get his idea off the ground.

Showcase & Media

Video Case Study

Post Mortem Discussion

Project Discussion

The Gunner Team breaks down the project

Wireframes

Check out wireframs of this project

Screenshots

Check out photos of this project

Architectural Diagrams

Check out architectural diagrams of this project

Problem

What was the problem to be solved?

Nu-Bath president, Mike Cusumano works with commercial entities such as hotels and resorts, offering them a better solution to a common problem.

As anyone with an old bathtub or who's stayed at a hotel knows, the bottom of bathtubs wear out.

Firstly, the bottom of the tube doesn't actually touch the floor, so there is a gap that compresses and pops back up when stepped on.

After repeated use (usually just over a year), the bottom begins to wear out and eventually cracks.

At hotels and resorts (and even homes), replacing the tubs every year isn't feasible, so the solution has been to put a bathtub liner over the bathtub.

This hides the crack and prevents some leakage, but just masked the problem.

The liners are put over top of the tub and a material is put between the liner and the tub to give it cushion.

However, because the liners either aren't sealed or crack themselves, moisture gets between them and sits there, eventually creating mold.

This has led to lawsuits against hotels.

Mike has a different solution that involves creating just a new floor and using a cutting-edge adhesive to bind the surfaces, leaving no room for moisture.

These floors are much better, too, and Mike offers a life-time warranty for them.

The problem, however, is that Mike is filling so many orders, keeping up with them is tough.

Currently, whenever there is a tub that needs to be replaced, he, or someone else familiar with the technology has to go to the site and take exact measurements of the broken tub.

This isn't ideal as Mike is filling orders across the country and can't be everywhere at once.

As an attempt to solve this problem, Mike encouraged foreman, working for the hotel/resort, to take a photo of the tub and send some basic measurements so he could create the floor from the photo.

The problem, however, is that if the photo is not taken when the phone is level, the photo isn't useable because it distorts the dimensions.

Solution

What was the proposed solution?

After discussing the problem, Gunner and Mike concluded that a downloadable mobile app that automatically takes a photo when the phone is level would solve this problem.

The foreman would stand on a raised level, tap a button and then the app would wait for the phone to become level and take a photo.

The foreman would then add two basic measurements, and the app would email this information directly to Mike.

Challenges

What challenges arose during the project?

Collecting the measurements via a form and then emailing the data is simple.

Even automatically taking a photo is easy.

The challenge is figuring out when the phone is level.

Technical

What was the technical approach to the project?

With a tight deadline, Gunner wanted to use as much existing code as possible, so it will leverage Open Source technologies whenever possible.

Because the app must be available on both iOS and Android devices and be downloadable from both app stores, Gunner will build it using React Native.

Additionally, Gunner will use the Expo SDK, which makes taking photos easy.

Expo also offers a consolidated API for the phone's gyroscope, which Gunner can program to alert the app when the phone becomes level.

The app won't be storing the data - only passing it along via email, so Gunner will use Amazon SES to send the emails and Amazon Cognito and AWS IAM through AWS Amplify to authorize and authenticate access to SES so the email server can't be used by anyone else.

The photos themselves will be stored on Amazon S3.

Gunner will use Android Studio and Xcode to build the apps and deploy them with Fastlane.

Prior to deploys, the app will run automated tests on itself using Jest to make sure no bugs have been introduced.

Finally, for design, Gunner will use Adobe Photoshop and Adobe Illustrator to create the mockups and Material UI to create the React components.

Management

What was the project management approach to the project?

Gunner will use the Agile model to manage the development of this application.

Specifically leveraging Scrum with a Research Sprint to kick off the project followed by Feature Sprints and Bug Sprints until the project is completed.

Each sprint or iteration will last one week and end with a deployment of the app.

Architectural Description

What platform was built for this project?

The architecture for this project is minimal as the only backend component required is the email server, which Amazon will fully manage.

Gunner will provision this server using the Serverless Framework, which allows for repeatable setup as well as easy splits between the staging environment and the Production environment.

Gunner will use Git with remote repositories on AWS CodeCommit for Source Control to ensure the code was backed up and versioned.

As always, Gunner created a separate AWS account for the new client and manages it from the parent organization.

This protects each client in the case of a breach.

Lessons

What did you learn from working on this project?

Gunner has used the Expo SDK in the past but never the gyroscope API.

The biggest lesson was how to use that API to tell when the phone was level.

Benefits

How did this project benefit the client?

With the new app, Mike will be able to fill more jobs at less cost.

Additionally, since the photos will be accurate, he will save cost on inaccurate deliveries.

Why Gunner?

Why was Gunner selected for this project?

Mike already had bid this project out to a couple other companies, but neither could deliver.

Gunner offers all new clients a 30-day, risk-free trial with our services, so Mike doesn't have to worry about being burned again.

On top of that, the total project timeline was less than 30 days, so the initial buildout should not cost Mike a dime.

Related Projects

What are similar projects Gunner has worked on?

[object Object]

Shudi Mobile App

Both Shudi and Tubstr relied heavily on Expo and AWS Amplify for front-end and deployment work and the Serverless Framework for back-end deployment

Proficiencies

What tools, techniques and methodologies were used on this project?

[object Object]

Adobe Illustrator

Create logos, icons, sketches, typography and complex illustrations

[object Object]

Adobe Photoshop

Photoshop is Adobe's photo editing, image creation and graphic design software.

[object Object]

Agile

Agile software development refers to a group of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams

[object Object]

Amazon Cognito

Simple and Secure User Sign-Up, Sign-In, and Access Control

[object Object]

Amazon S3

Object storage built to store and retrieve any amount of data from anywhere

[object Object]

Amazon SES

Flexible, affordable, and highly-scalable email sending and receiving platform for businesses and developers

[object Object]

Android SDK

Android is a mobile operating system developed by Google, based on a modified version of the Linux kernel and other open source software and designed primarily for touchscreen mobile devices such as smartphones and tablets.

[object Object]

AWS Amplify

AWS Amplify is a toolchain which includes a robust feature set for simplifying mobile and web application development.

[object Object]

AWS CodeCommit

AWS CodeCommit is a fully-managed source control service that hosts secure Git-based repositories.

[object Object]

AWS IAM

Securely control access to AWS services and resources for your users

[object Object]

Babel

Babel is a compiler for writing next generation JavaScript

[object Object]

ES6

The next version of JavaScript

[object Object]

Expo

Expo is a free and open source toolchain built around React Native to help build native iOS and Android projects using JavaScript and React.

[object Object]

Fastlane

Fastlane connects all iOS and Android deployment tools into one streamlined workflow

[object Object]

Git

Fast, scalable, distributed revision control system

[object Object]

Gradle

Gradle is a build system for the JVM

[object Object]

JavaScript

JavaScript is the world's most widespread programming language, powering the Internet.

[object Object]

Jest

Jest is used by Facebook to test all JavaScript code including React applications.

[object Object]

Material UI

Material UI is a CSS Framework and a Set of React Components that Implement Google's Material Design

[object Object]

React

React is a JavaScript library for building user interfaces.

[object Object]

React Native

React Native is a framework for building native mobile apps with React

S

Scrum

Scrum is a framework for project management that emphasizes teamwork, accountability and iterative progress toward a well-defined goal.

[object Object]

TestFlight

TestFlight makes it easy to invite users to test your apps and collect valuable feedback before you release them on the App Store.

[object Object]

Xcode

Xcode is an iIDE for macOS containing a suite of software development tools developed by Apple for developing software for macOS, iOS, watchOS, and tvOS