This repo documents the design and development of RecycleHelper, and contains the source code of the three versions developed, as well as testing results and machine learning experimentation.
- About RecycleHelper
- Technologies used
- Access the current app version
- Contribute to further development
- Repository structure
- Credits
- Citation
RecycleHelper is an iOS application designed to improve recycling performance of consumers in the UK. It provides location-specific recycling information that is accessible via a search feature, or by a machine learning scan feature that predicts the material of the object presented to it. The app can also be used to track and provide reminders of upcoming household waste collections, as well as find the nearest Recycling Centre, Supermarket or Charity Shop, for items that can be recycled but aren't accepted in a kerbside collection. Information on various recycling symbols is also provided in-app. To help improve consumers' motivation to recycle, persuasive techniques are employed to improve the user experience and make users feel more positive about recycling. Some examples of techniques include the Mere-Exposure Effect, used in the UI design, as well as social motivation through a recycling tracking feature.
Specific information is currently provided for the following locations:
Country | Location |
---|---|
England | London Boroughs of Barnet, Ealing, Kensington and Chelsea, Newham and Westminster, St Albans (Hertfordshire) Rickmansworth (Hertfordshire), Leeds and Manchester |
Wales | Cardiff and Penarth |
Ireland | Lucan and Dublin |
If the app is used in another location, it will display generic information for the rest of the UK. For more information, please see the Final Report.
RecycleHelper was built in XCode 11.5, using:
Language | Version | Libraries or Frameworks |
---|---|---|
Swift | 5 | AVFoundation, ChameleonFramework, Contacts, CoreLocation, CoreML, FirebaseDatabase, Foundation, MapKit, UIKit, UserNotifications, Vision |
Python | 3.8.0 | CoreMLTools, Matplotlib, Numpy, OS, Pandas, PIL (Image), Random, Seaborn, SHUtil, SKLearn, Sys, Tensorflow (Keras), Zipfile |
RecycleHelper is not yet available on the App Store, as it is still in the Beta Testing stage. Therefore, the current version of RecycleHelper, V3.0 build 7, can be accessed by downloading TestFlight on your iOS device and then following this link to join the testing program. Any Beta Feedback, such as crash reports or bugs found, would be greatly appreciated.
To contribute to development of RecycleHelper, you must have access to a device running MacOS.
-
Download XCode
-
Clone repository
git clone https://github.com/rch16/RecycleHelper.git
- Navigate to latest version directory
cd App\ Development/ Version\ 3/RecycleHelper/
- Open RecycleHelper.xcworkspace in XCode
- App Development: RecycleHelper project, containing entire code for app versions 1, 2 and 3
- Machine Learning: Source code for current and previous machine learning models, as well as experimentation results
- Testing: Results and resources for the rounds of testing completed after development of each app version
- Final Report: The report documenting the design and development process of RecycleHelper, that was the final deliverable for this project
Author: Rebecca Hallam
CID: 01190898
Email: rch16@ic.ac.uk
RecycleHelper was created under the supervision of Dr. Thomas J. W. Clarke, submitted in partial fulfillment for an MEng degree in Electrical & Electronic Engineering from Imperial College, London
If you use RecycleHelper or related work for published work, please cite:
@misc{
title = {{RecycleHelper: A persuasive smartphone app to improve recycling performance}},
author = {Hallam, Rebecca},
year = {2020},
url = {https://github.com/rch16/RecycleHelper/}
}