88 lines
7.0 KiB
TeX
88 lines
7.0 KiB
TeX
\section{Solution}
|
|
|
|
The final solution developed for Study Sprint is a mobile productivity application that combines lightweight planning, task-based study sessions, breaks, and visible progress into a single workflow. The purpose of the solution was to help students move more easily from deciding what to study to actually starting focused and efficient work.
|
|
|
|
\vspace{2mm}
|
|
|
|
Rather than functioning only as a timer, or as a planning tool, the application connects the two. A user can create academic structure, chose a concrete task, begin a timed study sprint, continue through short or long breaks, and return to an overview that shows both recent activity and broader progress.
|
|
|
|
\vspace{2mm}
|
|
|
|
This product direction was influenced by the Pomodoro technique, where work is divided into focused intervals separated by breaks. That background was relevant because the goal of the project was not simply to count time, but to support a more sustainable and actionable study rhythm. Upon reviewing literature on Pomodoro-style study intervals, we found consistent suggestions that structured work-and-break cycles can improve focus, reduce fatigue, and support sustained performance in demanding learning situations \cite{cirillo_pomodoro_2018, pomodoro_scoping_review}. For that reason, the final app was built around the idea that planning and focused study should be tightly connected rather than treated as separate tools.
|
|
|
|
\subsection{Main Components of the Solution}
|
|
|
|
The solution consists of four closely connected parts;
|
|
|
|
\begin{itemize}
|
|
\item a planning system for subjects, assignments, and tasks,
|
|
\item a task-linked timer flow with focus sessions and breaks,
|
|
\item a dashboard for overview, progress, and quick actions,
|
|
\item persistent storage and supporting logic for user data, active sessions, and reminders.
|
|
\end{itemize}
|
|
|
|
These parts are intended to support one continuous study flow. The user should be able to define what to work on, start working without unnecessary setup, continue through breaks when appropriate, and return to a screen that still gives a clear sense of what has been done and what remains.
|
|
|
|
\subsection{Planning and Study Structure}
|
|
|
|
The planning part of the solution gives the user a structured way to organise academic work through subjects, assignments, and tasks. This allows larger and more abstract study obligations to be broken down into smaller, more digestible units. In practice, this matters because focused work sessions are easier to begin when the user is working from a clearly defined task rather than from a vague intention such as "study more" or "work on the course".
|
|
|
|
\vspace{2mm}
|
|
|
|
This means that the planning system is not only included for book-keeping. It plays a direct and central role in the app's main purpose by making it easier to convert study plans into concrete sprint starts.
|
|
|
|
\subsection{Task-Linked Sprint and Break Flow}
|
|
|
|
The most central part of the solution is the timer flow. In the final app, a sprint is started from a task, not from a detached timer utility. This ties focused work directly to a chosen piece of study content and makes the session feel like part of the planning workflow rather than a separate feature beside it.
|
|
|
|
\vspace{2mm}
|
|
|
|
The timer supports focus sessions as well as short and long breaks. In the final version of the app, the default timing model follows a familiar Pomodoro-style rhythm;
|
|
|
|
\begin{itemize}
|
|
\item a default focus session of 25 minutes,
|
|
\item a default short break of 5 minutes,
|
|
\item a default long break of 15 minutes upon completing four focus sessions.
|
|
\end{itemize}
|
|
|
|
These default values were chosen because they match the common Pomodoro model closely enough to feel familiar, whilst still fitting the project's broader goal of low-friction study support. The point was not to claim that one exact timing is universally optimal, but rather to provide a sensible default that helps the user begin immediately without having to configure the session first.
|
|
|
|
\vspace{2mm}
|
|
|
|
At the same time, the app was not designed as a rigid timer. The solution still allows for alternative session durations when needed. This was important because flexibility matters in real study situations, but the default path was intentionally kept simple so that customisation would not become a barrier to getting started.
|
|
\clearpage
|
|
|
|
\subsection{Dashboard, Progress, and Guided Flow}
|
|
|
|
The dashboard acts as the application's overview and next-action screen. Instead of functioning only as a static home page, it gives the user a way to resume an active session, start a sprint from upcoming tasks, and review recent study activity. This makes the dashboard part of the workflow rather than merely a simple summary screen.
|
|
|
|
\vspace{2mm}
|
|
|
|
The solution also includes visible progress indicators and recent-activity summaries so that study effort is easier to interpret over time. This supports motivation and orientation by showing not only what the user planned, but also what they have actually completed or spent time on.
|
|
|
|
\vspace{2mm}
|
|
|
|
To reduce friction further, the app also includes a guided setup and lightweight help flows. These parts of the solution are especially important for first-time users, as they make the main structure and intended study rhythm easier to understand before the app contains much user-created content.
|
|
|
|
\subsection{Persistence and Supporting Functionality}
|
|
|
|
The solution uses Supabase as the main backend for stored user data such as subjects, assignments, tasks, and recorded session information. This provides persistence beyond a single app instance and gives the app a clearer basis for authenticated, user-specific data.
|
|
|
|
\vspace{2mm}
|
|
|
|
At the same time, local storage is used for state that is more device- and interaction-specific, such as active-session recovery, study-cycle continuity, and some reminder-related information. This division is useful because not all app state serves the same role. Some data belongs to the durable academic structure, while other data belongs to the immediate behaviour of the app on the device.
|
|
|
|
\vspace{2mm}
|
|
|
|
The solution also includes local assignment reminders through notifications. This extends the application beyond passive planning by helping users notice approaching deadlines without requiring a more complex push-notification infrastructure.
|
|
\clearpage
|
|
|
|
\subsection{Why This Solution Fits the Product Goal}
|
|
|
|
The final solution fits the goals of the project because it remains focused on a small set of connected features rather than trying to become a broad productivity platform. Planning, sprint starts, breaks, reminders, and progress tracking all support the same main objective: helping students begin meaningful study work with less friction and maintain that work through a clearer rhythm of effort and recovery.
|
|
|
|
\vspace{2mm}
|
|
|
|
In that sense, the main strength of Study Sprint is not the quantity of features, but the connection between them. A timer alone does not help the user decide what to study, and a planner alone does not help the user begin. The solution developed here is intended to bridge that gap in a lightweight and student-orientated way.
|
|
|