You are on page 1of 12

AQ Early Warning

_______________

California State University, Monterey Bay

Computer Science Capstone Proposal

_______________

Ryan Barrett

Fall 2021

1
TABLE OF CONTENTS

Executive Summary of Proposal ...............................................................3

BACKGROUND AND APPROACH ...............................................................3

Project Description .........................................................3

Issue: Fast Changing Air Quality Causing Health Issues .........................................3

Solution: Mobile App to Alert When Air is Unhealthy ...........................3

Evidence of Need .............................................................................3

Project Goals and Objectives .......................................................................4

Goals ................................................................................................4

Objectives ........................................................................................4

Environmental Scan .....................................................................................5

Stakeholders and Community ......................................................................5

Approach and Methodology ........................................................................6

ETHICAL AND LEGAL CONSIDERATIONS ...............................................6

PROJECT SCOPE ...........................................................................................7

Timeline and Budget ..................................................................................7

Resources ...................................................................................................8

Milestones ..................................................................................................8

Risks and Dependencies ............................................................................9

Final Deliverables and User Testing ......................................................................................10

REFERENCES ............................................................................................................11

APPENDIX

USABILITY TEST SURVEY ..............................................................12

2
Executive Summary of Proposal

This project is a mobile application that allows users to enter an acceptable air

quality threshold that they are comfortable with and will provide recommendations

based on that user information. If the air quality at their current or requested location

exceeds the threshold they will get a push notification warning them to get inside and

reduce strenuous activity. This application will also be able to display projected air

quality over the coming days, and track the status of nearby wildfires which may be

impacting air quality.

Part I

Background

A huge issue facing many people living in areas of the world that are prone to

wildfire or other factors that can reduce air quality is that on any given day they may not

actually realize the air quality is poor. There are numerous negative health effects

caused by breathing air that is of poor quality, some of which may not be immediately

noticeable on the day to day. Another issue is that especially in wildfire prone areas,

even if you’re trying to keep an eye on the air quality, it can shift fast with a change in

the wind, leaving people with their windows open thinking the air is fine. AQ Early

Warning will be able to notify users when the air quality gets above a certain AQI

threshold which they will be able to set. This allows users to not be constantly checking

air quality, and allows people who may be more sensitive to pollution than others to set

their own bar for notification. Having this information being pushed live to devices allows

users to have their minds at ease, as well as reduces the latency between realizing the

3
air quality is bad, and taking steps to ensure their safety such as closing windows. The

largest impact of this is reducing the users exposure to potentially harmful pollutants.

Project Goals and Objectives

Goals

● Users can sign into the app and register a threshold for air quality that they are

comfortable with.

● Users will receive notifications warning them to be safe when air quality in their

area exceeds the provided threshold.

● Users will be able to see the air quality forecast for the coming week on a home

screen.

● Users will be able to see wildfire updates / warnings which may impact their air

quality or general safety.

Objectives

● Simplify the daily life of people living in areas suffering from poor air quality.

● Create a reliable API which can act as a platform for multiple applications in the

future.

● Push out a solid MVP which can help people to live healthier lives.

Future Project Improvements

● Web and Android applications to mirror the functionality of the IOS app.

4
● More detailed wildfire tracking, including active wildfire map and evacuation

areas.

● Wildfire path prediction model

Environmental Scan

There exist a large number of weather applications such as The Weather

Channel, or AccuWeather that provide daily air quality forecasting, as well as sites such

as PurpleAir which provide accurate sensor based air quality readings in individual

neighborhoods. However apps dedicated to air quality monitoring and alerting seem to

be very few and far between, leaving a lot of opportunity in the space. My app will stand

apart by focusing exclusively on air quality, and digging into providing as timely as

possible alerts which are tailored to individual neighborhoods using sensor based APIs.

Additionally, many of the most popular air quality applications are web based, by

developing for native IOS my goal is to reach users who may be more inclined to use

mobile applications rather than continuously visit websites.

Stakeholders and Community

People likely to use this app would be those who live in wildfire prone areas such

as California, or areas which struggle with pollution from other sources. Likely users

may also be people who either suffer from health conditions making them more

vulnerable to pollution, such as Asthma, or health conscious individuals who are

concerned with the potential long term harm to their well-being that pollution could

cause. The likely user would be a person who spends a good portion of the year

5
checking AQI readings to determine if they need to close their windows or wear a mask

outside, and would benefit from automating this process so that they have one less

thing to worry about during their day.

Approach/Methodology

The first step will be to outline the MVP feature set and outline which of the APIs

will support which feature. Another early step will be to outline the data model that will

be used for user related information storage and application features. The backend will

be built first and tested using Postman. Once the backend looks good development

effort will be turned completely to the frontend, and throughout the frontend

development feedback will be gathered from a variety of testers which can then be used

to pivot, improving user experience.

A core focus of the process will also be user testing. Feedback will be gathered

and changes to the project can be made based on feedback. The project will be using

an agile development approach, where features are built quickly, tested, and fail quickly.

This allows us to more quickly build the right feature set.

Part II

Ethical and Legal Considerations

As this will be a free app which provides information there are limited ethical

concerns, however one point to note is that quality of information may be worse in

underprivileged areas. This is because much of the data used to measure air quality

comes from individuals buying air quality monitors, placing them around their homes,

and allowing that data to be shared. In areas where there is less money there is less

6
likely to be the same number of monitors as in wealthier areas. In order to address this

concern a major goal of the project needs to be to ensure that crowd sourced

monitoring is only one aspect of the overall picture painted by the app. Additional data

sources such as traditional weather station monitors and fire tracking data will also be

leveraged to ensure a healthy data supply for all areas. As this will be a free open

source app there are limited legal issues, the main things to address will be using the

open source Github licenses as well as ensuring that the all 3rd party API terms of

service are correctly observed.

Part III

Project Scope

The project will have a Java Spring Boot backend server, PostgreSQL database,

and IOS app as the frontend. It will also make use of several publicly available APIs

such as purple air, aerisweather, and cal fire as data sources. The backend server will

manage calls to the various APIs as well as managing user logins and updating user

information and preferences. An IOS app was chosen for the initial implementation

because it is quick to develop and provides access to the native interfaces needed to

send the kind of notifications the app requires.

The core timeline for this project will be as follows:

Week 1

● Create data model & schema

● Investigate and document 3rd party APIs required for initial features

● Spin up database and apply schema

Week 2

7
● Mock UI feature flows

● Use mocked features to build core backend endpoints and test via

Postman

Week 3

● Start on the mobile app, build out login flow on frontend + backend

● Build air quality threshold feature + push notifications

Week 4

● Build UI flows powered by 3rd party integrations

Week 5

● Testing and feedback

Major milestones will be:

1. Completion of a Postman collection containing all the 3rd party HTTP requests

that the backend will require.

2. Completion of the backend server itself, including cloud deployment.

3. Completion of the core frontend functionality, allowing users to login, store air

quality threshold, and receive push notifications when air quality exceeds their

settings.

4. Completion of the frontend features powered by 3rd party APIs.

5. Completion of usability testing.

Resources Required

Other than a computer and the internet the main resources for the project will be

third party APIs the backend will need to consume. The APIs planned for use are Purple

8
Air, Aeris Weather, and Cal Fire. Additionally the project will rely on Spring

documentation, and Apple developer documentation.

Risks and Dependencies

The biggest risk to the project as described originally is that the APIs planned for

use end up not working in the way that was originally anticipated. This would result in

either a feature being cut from the final project, or a feature working differently than

originally intended. To mitigate this risk, several of the APIs chosen for the project have

some overlapping functionality. This means that if one API falls short, another can likely

pick up the slack and power the originally planned feature. In the worst case scenario it

should be possible to find other APIs that may also be able to meet the original goals.

Final Deliverables and User Testing

The final deliverables for this project will be a backend codebase that will be

running in the cloud, and an IOS app deployed either to Apple’s TestFlight beta program

or fully on the app store. Usability testing will be conducted by first personally testing on

several devices, and then sending out a test build to a handful of people. Feedback will

be collected via Google Forms. The goal of my focus group is to be diverse. Some

people will be from areas with frequent poor air quality, and others will be from areas

with more healthy air. The group will also be made up of a variety of ages and will range

from software developers to people who are not very tech savvy.

9
References

AccuWeather. (n.d.). Local, national, & Global Daily Weather Forecast. AccuWeather.

Retrieved October 24, 2021, from https://www.accuweather.com/.

Apple Developer Documentation. (n.d.). Retrieved October 24, 2021, from

https://developer.apple.com/documentation/.

Cal fire. California Open Data. (n.d.). Retrieved October 24, 2021, from

https://data.ca.gov/organization/cal-fire.

Documentation: Aerisweather API. AerisWeather. (n.d.). Retrieved October 24, 2021, from

https://www.aerisweather.com/support/docs/api/.

Interactive, T. W. C. (2008, November 8). Weather - the weather channel. App Store.

Retrieved October 24, 2021, from

https://apps.apple.com/us/app/weather-the-weather-channel/id295646461.

Purple Air. Retrieved October 24, 2021, from https://api.purpleair.com/.

Spring Framework Documentation. (n.d.). Retrieved October 24, 2021, from

https://docs.spring.io/spring-framework/docs/current/reference/html/.

10
Appendix A

(survey available at: Google Forms)

11
12

You might also like