SOLO-BUILT FULL-STACK GRADUATION PROJECT

StudyBuddy

StudyBuddy is an academic web platform for university students that connects course management, notes, study resources, meetings, calendar planning, course communities, progress tracking, and AI-assisted learning within one structured journey. Users can create and verify an account or continue with Google, define their academic profile, and enroll in relevant courses. Each course becomes a working hub for content, collaboration, planning, and study activity, while the dashboard consolidates recent progress and the next useful actions. I independently designed, engineered, and deployed StudyBuddy as an end-to-end graduation project, covering product architecture, responsive Flutter Web UX, Express APIs, PostgreSQL persistence, account lifecycle flows, Arabic and English localization, and accessibility-oriented display settings.

My roleSole Product Designer & Full-Stack Developer
Product StrategyUI/UX DesignFlutter WebExpress APIPostgreSQL & PrismaAuthenticationAI IntegrationDeployment
StatusCompleted & Deployed
Year2026
StudyBuddy
Product walkthrough

See the connected academic journey in action.

A complete product walkthrough covering the public experience, account access, the personalized dashboard, course workspaces, learning tools, and responsive interface states.

Full product walkthrough1080p · Play on demand
Problem

Academic Work Fragmented Across Disconnected Tools

University study workflows are commonly divided across learning systems, personal notes, file links, group chats, calendars, and general-purpose AI tools. Each tool holds only part of the context, forcing students to repeatedly reconstruct which information belongs to which course. This fragmentation makes previous material harder to retrieve, separates discussions and meetings from course content, and obscures what has been completed or needs attention. Generic AI tools also lack access to the student’s selected courses, notes, and resources, reducing the relevance of their output. The product needed to preserve the student’s identity, academic structure, and saved activity across sessions while connecting individual study, collaboration, planning, and AI assistance to the same course context.

Solution

A Connected Academic Workspace Built Around Each Course

I built the product around a persistent course hub, then connected account identity, academic content, collaboration, planning, and AI assistance to that same context.

Product scope

How the solution is organized.

Account & Identity

Email registration, real verification codes, Google sign-in, password recovery, session validation, and protected routes create a complete account lifecycle rather than a visual-only login flow.

Course Workspace

Courses connect notes, resources, past assessments, discussions, meetings, events, saved content, and progress. The dashboard aggregates activity while preserving the original course context.

Course-Aware AI

The backend retrieves accessible course material and recent conversation context before calling Anthropic. Generated explanations, summaries, quizzes, and practice exams are saved only after user confirmation.

Inclusive Responsive UX

The interface supports desktop, tablet, and mobile layouts; Arabic and English; RTL and LTR; light and dark themes; high contrast; adjustable text size; and reusable loading, empty, error, and retry states.

Design decisions

Three decisions that connected product structure, account reliability, and inclusive interface behavior.

01

Organizing the Product Around the Course Hub: The course was chosen as the primary unit of product organization instead of treating every feature as an isolated destination. The relational model connects each course to enrollments, notes, resources, discussions, meetings, events, progress, and AI conversations, while the interface exposes these systems through a unified course hub. This reduces context switching, gives every action a clear academic context, and allows the dashboard to aggregate activity without losing its connection to the original course.

02

Building a Complete Account Lifecycle Instead of a Cosmetic Login: Registration and account activation were separated so a newly created email account does not receive an authenticated token before verification. Passwords are hashed with bcrypt, email codes are HMAC-hashed rather than stored in plain text, and each code has an expiry, consumed state, and attempt limit. The system also links Google identities to existing users, returns a generic forgot-password response to reduce account disclosure, and protects frontend and API routes independently. This created a complete account lifecycle rather than a local sign-in mock.

03

Treating Responsiveness, Localization, and Display Access as Interface Architecture: Mobile behavior, Arabic support, and display preferences were treated as system-level concerns rather than late visual patches. Central breakpoints control navigation, spacing, cards, dialogs, and typography across device classes, switching between full and compact sidebars and a mobile drawer with bottom navigation. Locale, direction, theme, contrast, text size, and number style are also managed centrally, alongside reusable loading, empty, and error states. This keeps the experience consistent without solving each screen independently.

Technical architecture

The implementation behind the interface.

Flutter WebResponsive bilingual client
Express REST APIAuthenticated application services
Prisma ORMRelational data access
PostgreSQLPersistent academic data
Connected services & concerns
Google OAuthEmail DeliveryAnthropic
Evidence

What is implemented, constrained, and verified.

Engineering evidence

  • Verified email, Google sign-in, password recovery, and protected frontend and API routes.
  • Relational course data persisted through Prisma and PostgreSQL instead of temporary interface state.
  • AI requests are assembled on the backend from authorized course context and confirmed before persistence.
  • Reusable asynchronous states and responsive RTL/LTR layouts cover the complete product journey.

Constraints & trade-offs

  • Solo graduation project: product design, frontend, backend, data model, and deployment were independently delivered.
  • Email and AI features depend on external services, so failures and expired sessions require explicit recovery states.
  • Formal usability testing with real participants was not claimed; the portfolio reports implemented validation only.

Validation

  • Account creation, email verification, password recovery, Google sign-in, and session-expiry flows were exercised end to end.
  • Responsive behavior was reviewed across desktop, tablet, and mobile in Arabic and English.
  • Production deployment verifies the connected frontend, API, database, and email flow.
Gallery

StudyBuddy Across Desktop and Mobile

The gallery presents the product introduction, the desktop Command Center, and the academic course-selection experience, followed by mobile views of the daily dashboard, an individual course hub, and display preferences for language, theme, high contrast, text size, and calendar settings. Together, the screens show how the same academic workspace adapts from broad desktop management to focused mobile use.

Outcome

A Working Academic Product Delivered Across the Full Stack

The delivered result is a deployed web application that supports the student journey from account creation through course management, academic content, collaboration, planning, progress, and AI-assisted study. Its central modules are backed by authenticated APIs and related PostgreSQL records rather than temporary frontend-only state. The project demonstrates a functioning account lifecycle with email verification, Google sign-in, and password recovery, alongside a course-aware AI assistant, shared notes and resources, course communities, meetings, calendar planning, and progress analytics. I independently owned the product from information architecture and UX design through Flutter Web, Express, Prisma, Google and Anthropic integrations, email delivery, responsive and bilingual behavior, display-access settings, deployment, and final system integration.

Product Design & UXFlutter Web & Responsive UINode.js, Express & REST APIsPostgreSQL & PrismaAuthentication, Google OAuth & Email ServicesLocalization & Accessibility-Oriented UIAI Integration & Deployment
Next project

CineVerse Observatory

CineVerse Observatory is a web platform for film and music enthusiasts that turns selected titles and guided answers into a cinematic taste profile and personalized recommendations. It combines an interactive universe map, a personal library, Orbitune song discovery, and shareable Tasteprint exports in one connected experience.