Project Requirement Document

Problem Statement

User wanted to write their goals, make plans and take action till they achieve.

Introduction

Goalbook will be an AI-powered goal assistant designed to help users write their goals, create plans, and track progress until they achieve them. Users can break down their larger goals into smaller sub-goals and make progress one step at a time.
The AI will analyze each goal, assisting users in fine-tuning their objectives and creating a workable plan by identifying the benefits they will gain, addressing obstacles, and highlighting the skills and knowledge required for success. In phase one, this section will be pre-programmed, and in phase 2, it will become dynamic and tailored to the user's goal with the help of AI.
Goalbook will send a weekly email to check in on the user's progress, without overwhelming them with unnecessary notifications. A detailed activity tracker will document every key step taken toward each goal, providing motivation for accomplishment.
Users can record their learning and observations for each goal, enhancing self-awareness and confidence in achieving larger goals.
An 'Insight' page will track all achievements by year, fostering a sense of happiness and pride in the user's progress.

Marketing

"Users can log in or sign up directly from the landing page. Upon signing up, they will be seamlessly redirected to the application. A cookie will be stored in their device's memory for 7 days, after which the system will prompt them to log in again.

Sitemap

goalbook.app — Thu Dec 07 2023 (2).png

Sign Up

Users can sign up using their email or through social login methods such as Google, LinkedIn, and Facebook. The system verifies the user's information against the database. If it's a new user, a new record is created, and they are directed to the login page. If the user already exists, the system verifies their password and automatically redirects them to the app's landing page.

image.png
Validation:
The emailed entered would be validated and if not in proper format we would show an error massage “Enter an valid email id” Password must be minimum 8 character, with Alabha-numeric combination.

Login

Users have the option to log in using their email or through social login methods, including Google, LinkedIn, and Facebook. When a user enters a valid email and password, the system checks the user database. If the email is found in the records and the password matches, the user is redirected to the app's landing page. In case of an issue, such as an incorrect email or password, an error message is displayed, stating 'Wrong email or password,' and the user is returned to the login page.
image.png
After the user logs in, a cookie will be created to remember their login for 7 days. After this 7-day period, the cookie will expire, and the user will be asked to log in again.
Validation: Same as sign up page

Home (Landing Page)

After successfully logging in, users will be directed to the Dashboard page. Here, they will have visibility into their active goals, categorised as either 'In-progress' or 'On-hold.' By default, these goals will be sorted according to their most recent activity and will display information about their category and deadline. When hovering over a goal, the system will show the number of days remaining until the user's self-set deadline. Additionally, sub-goals will be visually linked to their parent goals, facilitating easy navigation.
image.png
Group by Deadline
user can also sort the list based on deadline,
image.png
Group by Category
image.png
Grid View:
They could also switch to grid view
image.png
Each goal can be deleted, edited, on clicking more options
←- More option -→
If the user login for the first time they would see a empty screen like this
image.png
To create a new goal, the user simply needs to click the "Add goal" button on the right-hand side. This action will reveal a module containing the following content:
Screenshot 2023-12-08 at 5.42.49 PM.png
Every field within the module is mandatory, and there are no preset values. To add a goal, a minimum of 30 characters is required; if fewer characters are provided, an error message reading "Goal is too short, please provide more details" will be displayed. The user's input will be retained throughout the entire session unless they choose to click on the "cancel" option.
Completed date
Name
No of Days
1
1 month
30 days
2
2 month
60 days
3
3 month
90 days
4
12 months
same day next year
5
24 months
same day after 2 years
6
End of this year
Dec 31 of this year
7
Custom
User selected year
There are no rows in this table
Category
Name
Color
1
Personal
2
Health
3
Fitness
4
Leisure
5
Passion
6
Business
7
Add New
There are no rows in this table
Each category would comes with a unique Color code. user can set their own category later. But for the MVP they can choose only listed category.

Goal Details:

On clicking on any goal, it would take them to the goal details page which has major sub sections, 1. plan, 2. analyse and 3. checkin.
On planning user can create milestones and add task under it. On completing they can tick it and marked ad completed. User can create maximum of 12 milestones. Task completion on each milestone would be logged on the timeline indication above.
User can create/link a sub goals, which would be graphically illustrated at the timeline
image.png
There is empty state for the goal planning. There would be single milestone by default which can be renamed and deleted. There could be maximum of 12 milestones. On loading user would land on the most current milestone which is very next to the next to the recently completed. User can add new milestone by pressing the plus icon on the column header and it can be rearranged in any order they want. There is no restriction. Individual milestone can be renamed, deleted and mark as completed.
←- Milestone Interactions→
Under the milestone user can add task, which can be edited and deleted. There is no limit on number of task, but they can add upto 100 active task. A completed task would be automatically hidden from the list but however user could see it by clicking the “show completed” tasks.
←- task interactions →
A task would have description and it can be deleted, edited, mark as completed and converted to routine. By converting to routine user can continue the task for a specified number of ticks or till a specific date.
←- Convert to routine →
In both the cases the number checks would be counted and a metrics would be displayed. User can also check the complete history of checks.
completion of both milestones and task would be logged and visually presented on the timeline. It will all be aggregated to week, month, depends on the timeline zoom.
The units of timeline would be month and week. It would change depends on the user zoom. The default zoom would be depends on the goal time period
Timeline
Time
Default
View range
1
3 months
Days
30 days
2
6 months
Week
27 Weeks
3
Till 12 months
Week
27 Weeks
4
Above 12 months
Months
12 Months
There are no rows in this table
Each block would be highlighted would colour with three different contrast low, medium and high
Activity
Contrast
No of checks
1
Empty
Nill
2
Low
1
3
Medium
1 - 3
4
High
3 <
There are no rows in this table
Milestone completion would have a different indication. On hover a block a popover would appear with number of task and milestone completed on the specific time range.

Analysis

Analysis will give clarity to the user to plan the goal better.
On this page user would be asked set of questions to clarify their goal and make a clear decision and plan. Often we fail in our goal due to lock of clear planning. A build in AI would analyse the goal and ask very specific questions to understand more about it.
Analysis step user would be asked set of questions to bring clarity on the goal what they are working and help them to make a better plan. For now we would have a static questions, would be loaded eventually we wanted to plugin with AI module which will analyse the goal and ask specific questions.
On leading user would be land in to a empty page like this
image.png
On clicking the analyse button, a module would provoke and ask question one after the another. There is no mandatory question, user can skip anything which they don’t wanted to answer. There would be a progress bar at the top to indicated the status. The answer to the questions would be either Text, list or image. or a combination of this.
Screenshot 2023-12-08 at 5.48.24 PM.png

if the user dismisses the flow without completing it would be kept in the cache with the status of completion.
←- Half analysed screen →
On completion all the answers would be listed as tiles which can be edited and deleted. user can see their previous answers on the history, with the highlight of what was changed. History would appear for both text and list.
image.png

Notes

Check in the place, user would login in their notes, finding and key events while they work on the goal. On the right we will have calendar displaying the indication checking did. There are three types of checkins user can do 1. Note, 2. Weekly checkin, and 3. Events. Each comes with a default set of tag but user can create their own too.
Note: Learning, Finding, Gratitude, Realisation etc
Also on the right side we would have section to add widget. User can add counter widget to log number withe their own unit. User can either add or remove. The complete log would be retained with the final sum. One or more widgets can be added.
A note can be recorded to a specific task milestone or benefit or on obstacles. If would be better if there is a option to select them and write a note.
Event post can be recorded on a specific date. By default it would be today but the user can choose any date they want.
Individual post can be deleted, edited.
Each post would have a title and description, with media upload option. Maximum 10 post would be loaded in a page, on reaching the end of the list the next 10 would load.
There would be a search bar at the top of the checkin which would work only on this checkin. The search bar at the top, would search goal, milestone, task and and analyse questions answer but not the note.
←- Notes Search screen →

Search
Search icon would be at the top corner of the header. On clicking a search bard would appear. there wont be any search page, instead the top 10 result would be populated on the search bar itself on clicking user would be taken to the page directly.
Help:
There must be separate page for help. where the user would refer if they have doubts on how to use the application. if they don’t find they can also see the contact details to connect.

Settings

Under settings they would have profile settings and system settings
on profile settings they can change their name, password, contact details, profile picture, country they live etc. On the system settings they can enable automatic dark mode, app theme, font size etc. Both the settings can be on the same page
image.png

Upgrade

For later

Insight

Insight is the place where the users their achievement over a period. All the user goal and their activity would be analysed and the report would be generated.
Goal completed this year (count & list)
Number of task milestones accomplished.
Top 3 skills
Top 3 People
Suggested goals
Balancing goals
My Values
At the top section we would have a History filter to view for the past years

Email:

Email verification after signup
Email verification during forgot password
Weekly checkins

404 page
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.