Professional Documents
Culture Documents
_______________
_______________
Ryan Barrett
Fall 2021
1
TABLE OF CONTENTS
Goals ................................................................................................4
Objectives ........................................................................................4
Resources ...................................................................................................8
Milestones ..................................................................................................8
REFERENCES ............................................................................................................11
APPENDIX
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
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.
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
● 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
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.
● Web and Android applications to mirror the functionality of the IOS app.
4
● More detailed wildfire tracking, including active wildfire map and evacuation
areas.
Environmental Scan
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
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
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
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
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.
Part II
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
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
Week 1
● Investigate and document 3rd party APIs required for initial features
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
Week 4
Week 5
1. Completion of a Postman collection containing all the 3rd party HTTP requests
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.
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
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.
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.
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.
https://apps.apple.com/us/app/weather-the-weather-channel/id295646461.
https://docs.spring.io/spring-framework/docs/current/reference/html/.
10
Appendix A
11
12