Skip to content

Instantly share code, notes, and snippets.

@livmaria7891
Last active January 2, 2017 18:21
Show Gist options
  • Save livmaria7891/5848c17775c94ee567328c89e5b28ca7 to your computer and use it in GitHub Desktop.
Save livmaria7891/5848c17775c94ee567328c89e5b28ca7 to your computer and use it in GitHub Desktop.
Capstone Project Proposal

#A To Do List/Routine Keeper for Distractible Humans

Problem Statement: Unlocking a phone and opening an app to access a single item on a to do list can be time consuming, and it's far too easy to find oneself distracted by all of the fun features a phone has to offer. Additionally, many to do list apps do not allow users to save lists they may want to reuse.
Draft Feature Set: This app will allow users to interact with their to do lists directly from their phone’s lock screen and save lists for future use (a feature that’s great for people trying to establish new habits and routines).

###MVP

  • When a user opens the app, they will see the option to add a new list
  • When a user opens the app, they will be able to view their saved lists
  • For new lists, users can add each step they'd like to complete in order
  • For new lists, users have the option to add the supplies they need complete the list
  • Users can edit a saved or new list by adding, deleting, editing, or changing the order of steps
  • When a clicks on a saved list, they have the option to begin, edit, or delete the list
  • When a user chooses to begin a list, the steps will appear one by one either in the app or on their phone’s lockscreen. If the user has entered supplies that are needed to complete this list, the supplies list will appear first.
  • When the user completes a step, they can click ‘Next’ (from the app or lock screen) and the next step will appear. This will continue until each step of the list has been iterated through
  • The user may also mark a step complete from within the app (if they decided to complete a list in a different order than the way it’s listed)
  • When each step of the list has been completed, the user will be notified that they are finished

####Stretch Goals

  • A user can set up an account and login
  • Categories can be added to existed to existing lists to make finding them easier
  • Steps in a list can be set with a timer (example: meditate for 15 minutes). A sound notification will let the user know when the time is up
  • Users can use one list as a starter template for another (a general morning routine can be used as a starter template for a morning routine that is slightly different than the typical routine)
  • Saved lists can be nested inside other lists (for example a list for preparing to go on a trip may include an existing list of ‘Clean the House’)
  • Routines can be set up with reminders
  • Reminders can be reoccurring
  • Users can customize the lists/categories they see when they open the app
  • Predictive suggestions are made when a user is entering steps
  • Users can ignore or skip and come back to steps in the list

###Draft Technology Choices

Swift
React Native
Jest for testing
JQuery Mobile
SQLite Database
OAuth

Considering: RubyMotion

I'd like to consider backend frameworks a little further

#AutoPilot Product Plan

###Problem Statement

A series of experiments led by Professor Kathleen Vohs at the University of Minnesota demonstrated that making decisions throughout the day--whether pleasant, difficult, or mundane--wear down a person’s mental energy. Other studies led by Professor Roy Baumeister at Florida State University have shown that depleted mental energy reduces a person’s self-control and ability to make smart decisions throughout the day. Autopilot is an iOS app that helps users reduce the number of decisions they make while performing mundane tasks during the day. Additionally, it allows users to interact with the app from the lockscreen to reduce potential distractions while performing their everyday routines.

###Market Research

Different types of apps exist to help people organize their daily lives and build new habits. Primarily, these types of apps include to do list apps, habit tracking apps, and reminders. While these types of apps can help a user conserve mental energy by reminding them of what they want to accomplish or provide motivation to perform a task, they don’t take the decision making aspect out of everyday routines.

###User Personas

Autopilot’s is target audience is adults and young adults who are fluent with their iPhones. Ideally, they understand how to use lockscreen notifications and widgets.

This app is designed for a two different types of people. Both types of people prefer to use their phones to organize their tasks and their schedules.

The first type is the person who is looking for ways to boost their productivity and understand that ‘routinizing’ mundane tasks can help preserve mental energy for more important tasks. This type of user will appreciate that the app ‘makes the decision’ about which task to perform next so they do not have to waste mental resources on each time they perform something routine.

The other type is person has many tasks to juggle or has many distractions in their daily lives (whether it’s a job with frequent interruptions, a family, or a busy mind). This type of user will appreciate that the app keeps track of where they are in a task so they don’t have to waste time remembering on their own after an interruption.

###Technology Selections

Swift
XCode
Quick (for testing)
SQLite

###Wireframes

Wireframes for this project can be found here.

@PilgrimMemoirs
Copy link

The MVP idea is totally doable and has a lot of great ideas to add further functionality to.
Technically, there are a lot of great challenges! I like making this into a mobile app for iphone and even making widgets for the lock screen.

A good timeframe for building this out would be to make the app itself, explore push notifications and then work on the widget.

I suggest diving right into swift and building that way, you'll have a lot more control and options to further enhance this app.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment