Design Document
Executive Summary
The Harbor platform empowers hobbyists to manage and engage with their collections. By addressing common challenges such as backlogs, decision fatigue, and unused purchases, Harbor turns these obstacles into opportunities for rediscovery, enjoyment, and mindful growth.
Key Highlights:
- Core Features: Structured backlog management, gamification, and progress tracking provide users with a personalized and rewarding experience.
- Target Audience: Hobbyists of books, board games, video games, and similar collections seeking organized tools to reconnect with their interests.
- Development Roadmap: An MVP approach focusing on foundational features, engagement mechanisms, and gamification ensures incremental growth and usability.
- Future Vision: Advanced analytics, AI-driven recommendations, and collaborative tools position Harbor for long-term growth and user retention.
- Technical Excellence: A single-page application with cloud synchronization ensures cross-device compatibility and robust performance.
This document outlines the problem, solution, goals, technical design, and challenges to deliver a cohesive vision for Harbor's implementation and expansion.
I. Introduction
Summary
This document presents Harbor's design and implementation plan. Habor is a tool crafted to help hobbyists manage and engage with their collections. It also promotes sustainable engagement, helping users foster a deeper and more rewarding relationship with their hobbies.
Hobbyists often experience the joy of acquiring new items but face challenges with growing backlogs, unused purchases, and decision fatigue. Harbor aims to transform these challenges into opportunities by offering structured backlog management, progress tracking, and gamification features. By fostering a sense of accomplishment and intentionality, Harbor helps users rediscover the value in their collections while making thoughtful additions.
This document outlines the problem, solution, goals, target users, and technical aspects that define the vision for Harbor.
Problem Statement:
Hobbyists often find acquiring new items easier and more exciting than engaging with existing collections. This leads to growing backlogs, regret about unused purchases, and choice overwhelm. When trying to reduce their backlog, they struggle to find meaningful ways to reconnect with the items they already own.
Backlogs can create a lingering sense of regret and guilt, overshadowing the joy that hobbies are meant to bring. Current tools often focus on the organization without addressing hobbyists' emotional connection with their collections. Hobbyists yearn for tools that guide them in rediscovering the joy of their collections while avoiding the stress of decision fatigue.
Proposed Solution:
Harbor is a tool designed to streamline the management of personal backlogs for hobbyists. It provides a structured environment for decision-making, progress tracking, and gamification elements to encourage mindful collection consumption and thoughtful expansion. Reducing regret and overwhelm fosters a more intentional and engaging hobby experience. For instance, Harbor awards badges for milestones like completing a book series and turning backlog engagement into a rewarding game.
Harbor turns feelings of overwhelm into a sense of control and joy by helping users re-engage with items they already love. Unlike traditional backlog management tools, Harbor uniquely integrates gamification with customizable decision-making pathways to create a motivating and personalized hobby experience.
Competitive Landscape
Harbor uniquely combines structured backlog organization, gamification, and personalized insights to address hobby management. Unlike niche tools like Goodreads (books), BoardGameGeek (board games), or Steam trackers (video games), Harbor supports multiple categories in one platform.
Key Differentiators
- Multi-Category Support: Manage books, board games, video games, and other collections in one interface.
- Motivational Features: Gamification elements like badges, streaks, and leaderboards keep users engaged.
- Personalized Insights: AI-driven recommendations help users rediscover items and reduce decision fatigue.
Harbor’s comprehensive approach positions it as the ultimate tool for hobbyists seeking an engaging and versatile solution.
II. Goals and Objectives
Primary Goal:
To reduce the overwhelm associated with growing backlogs and increase engagement with owned collection items, inspiring users to re-engage with their collections in a rewarding and guilt-free way.
Key Objectives (measurable):
- Centralize and organize backlog tracking to help users monitor progress easily and reduce decision fatigue.
- Offer recommendations tailored to user preferences with flexible filtering options for easy discovery.
- Gamify backlog completion with badges, streaks, or levels to foster a sense of achievement.
- Introduce thoughtful purchasing incentives, such as points earned through backlog progress.
Potential Outcomes
By achieving these objectives, Harbor aims to reduce average backlog size by 20% over 6 months (to be refined during implementation) and increase engagement with existing collections, as measured by logged sessions or milestones. Features like the Pass/Select system simplify decision-making, while gamification fosters consistent engagement with collections.
Success Metrics
User Engagement:
At least 75% of onboarded users log interactions weekly within the first 3 months of launch.
Backlog Reduction:
Average backlog size reduced by 20% within 6 months for active users.
User Satisfaction:
Based on post-MVP surveys, achieve a Net Promoter Score (NPS) of 70+.
Retention:
Maintain a user retention rate of 60% at 6-month intervals.
III. Target User
Description:
The target users are passionate hobbyists with growing collections, whether books, board games, video games, or similar items, but struggle with managing and engaging effectively.
Key Characteristics:
- Feel overwhelmed by large and growing backlogs but want to regain control.
- They are more excited about discovering new items than revisiting their collection.
- Seek structured and organized solutions to turn backlogs into manageable progress.
- Motivated by gamified systems that reward progress and achievement.
- Aim to enjoy and make better use of their existing collection.
- Desire control over new purchases and a way to reduce impulsive buying.
- Aim to replace guilt with a sense of progress and accomplishment.
Why to use Harbor:
Harbor helps users replace the stress of backlog management with the satisfaction of making progress in completing their backlog, rediscovering items that captivated their attention, and bringing more enjoyment to their collection. These users are motivated by gamified experiences, as they align with their hobbies' structured yet playful nature. Gamification elements, like earning badges for completing milestones, further enhance the sense of achievement and play.
By fostering long-term engagement with existing collections, Harbor encourages a sustainable and rewarding relationship with hobbies, helping users rediscover the joy of what they already own.
User Stories
- As a passionate collector, I want to keep track of my backlog effortlessly to focus on enjoying my hobbies without feeling overwhelmed.
- As a board game enthusiast, I want to prioritize games based on complexity and duration to choose the right game for each play session easily.
- As a busy professional with little time, I want personalized reminders encouraging me to reconnect with my hobbies to maintain balance and relaxation.
- As a reader with a large backlog, I want gamified incentives like badges and streaks to motivate me to complete the books I’ve started and tackle my collection.
- As a tech-savvy user, I want a seamless experience across devices so that I can update and review my progress no matter where I am.
- As someone who struggles with decision fatigue, I want a “Pass/Select” feature to simplify choices so that engaging with my hobbies feels fun and stress-free.
- As a goal-oriented hobbyist, I want detailed progress metrics to track my achievements so that I can feel a sense of accomplishment.
IV. MVP Scope
Phase 1: Foundation – Setting the Stage
Purpose:
Lays the foundation for user onboarding and data accessibility across devices.
Feature 1. User Account Management:
Enable users to create and manage accounts with basic username/password functionality.
Feature 2. Backlog and Collection Setup:
Allow users to manually add items to their backlog or collection with Title, Category (Book, Board Game, Video Game), and Category-specific details (e.g., length for books, complexity for board games, platform for video games).
Gives the option to categorize items into Backlog (Items to engage with) or Collection (Items completed or discarded).
Feature 3. Cross-Device Sync:
Ensure user data is accessible across multiple devices through cloud-based storage.
Example: Users can log in on multiple devices, automatically synchronizing their progress.
Feature 4. Onboarding:
Guide users through an initial setup process to get them started quickly.
Steps (example):
- A brief introduction to Harbor and its benefits.
- Prompts to add at least one backlog item in a selected category (e.g., book, board game, video game).
- A short walkthrough of the Pass/Select system.
Milestones:
- User account creation is functional and secure.
- Successful cross-device synchronization tested with multiple logins.
- Onboarding flow leads to at least one item added per user during testing.
Phase 2: Organization – Making Sense of the Backlog
Purpose:
Organizes user collections with filtering options and manual controls for flexible backlog management.
Feature 1. Filtering Options:
Provide basic filtering to help users explore their backlog:
- Books: Genre, Length, Fiction/Non-Fiction.
- Board Games: Complexity, Play Session Duration.
- Video Games: Genre, Length, Type (Story or Endless).
Feature 2. Manual Management:
Enable manual movement of items between "Backlog" and "Collection" lists.
Milestones:
- Filters are functional and tested for all categories.
- Manual movement between lists is available and intuitive.
Phase 3: Engagement – Driving Decisions
Purpose:
Encourages users to interact with their backlog through a structured decision-making system.
Feature 1. Pass or Select System:
Introduce prompts for backlog engagement:
- Pass: Skip an item with the option to provide a reason (triggered after multiple passes).
- Select: Commit to engaging with the item, setting specific goals like pages for books, playtime for video games, or number of plays for board games.
Milestones:
- The pass/Select system is fully functional and has logging capabilities.
- Test user interaction with at least X commitments recorded during pilot testing.
Phase 4: Progress Tracking – Monitoring Engagement
Purpose:
Tracks user engagement with backlog items and provides a detailed summary of progress.
Feature 1. Category-Specific Progress Metrics:
Track user engagement for each category:
- Books: Completion or DNF tracking.
- Board Games: Number of plays logged.
- Video Games: Total playtime or sessions completed.
Feature 2. Record Session Functionality:
Provide a dedicated interface for logging sessions spent reading books or playing board/video games.
- Books: Users can record start/end times, read pages, or make short notes on progress.
- Board Games: Log each play session's duration, participants, and observations or outcomes.
- Video Games: Record session start/end times, achievements, or major milestones reached.
Milestones:
- Engagement metrics are accurately logged and displayed for all categories.
- The summary view provides users with insights into engagement patterns.
Phase 5: Motivation – Adding Gamification and Rewards
Purpose:
Incorporates gamification to enhance user motivation and foster consistent engagement.
Feature 1. Point System for Backlog Completion:
Reward users with points for completing backlog items based on engagement metrics (e.g., pages read, hours played, games completed). Allow users to spend points to unlock wishlist slots or prioritize new purchases.
Feature 2. Visual Progress Feedback:
Add feedback mechanisms like progress bars or streaks to give users a sense of accomplishment and momentum.
Milestones:
- The point system is functional and linked to engagement metrics.
- Visual feedback mechanisms tested for user engagement and satisfaction.
V. User Experience (UX) and User Interface (UI)
Phase 1: Foundation – Setting the Stage
Key Screens and Elements:
Login Screen
Purpose:
To allow users to log into their accounts.
Elements:
- Username Input and Password Input (masked for security).
- Login Button to submit credentials.
- "Remember Me" checkbox for local session management.
Onboarding Flow
Purpose:
To guide first-time users through the initial setup and help them add a few items, providing an immediate sense of progress.
Elements:
- The welcome screen provides a brief overview of the Harbor’s benefits.
- Step-by-step prompts to add at least one backlog item in a chosen category (Book, Board Game, or Video Game).
- Simple tutorial on filtering items and using the “Pass or Select” feature.
Add Item Form
Purpose:
This allows users to add new items to their backlog or collection.
Elements:
- Category Dropdown (Book, Board Game, Video Game).
- Title Input for item title.
- Category-Specific Fields for details (genre, complexity, platform, etc.).
- Add an Item Button to finalize the entry.
Phase 2: Organization – Making Sense of the Backlog
Key Screens and Elements:
Main Dashboard
Purpose:
The central hub for accessing different parts of the app.
Elements:
- Navigation Bar: Links to different categories (Books, Board Games, Video Games) and the user profile.
- Backlog/Collection Overview: A brief display of all items.
- “Pick Something” Button: Randomly chooses an element from the backlog in a playful manner, encouraging users to rediscover items they might have overlooked.
Backlog/Collection View
Purpose:
To display and manage items in each category.
Elements:
- List of Items with essential details and optional thumbnails.
- Filtering Options (by genre, length, complexity, etc.).
Phase 3: Engagement – Driving Decisions
Key Screens and Elements:
Item Details View
Purpose:
To display detailed information about a selected item and allow interaction.
Elements:
- Item Details (title, category, specific attributes).
- "Pass" button to skip the item and optionally type a note for a reason.
- "Select" button to commit to engagement (e.g., pages, playtime, plays).
Phase 4: Progress Tracking – Monitoring Engagement
Key Screens and Elements:
Progress View
Purpose:
To display a list of selected items and track progress.
Elements:
- List of Engaged Items showing current progress for each.
- "Complete" Button to mark an item as finished.
- A summary of session history with visualized progress (e.g., charts or trends).
Phase 5: Motivation – Adding Gamification and Rewards
Key Screens and Elements:
User Profile View
Purpose:
To view the user’s points and wishlist.
Elements:
- Points: Displays the user’s total points.
- Wishlist: Lists wishlist items (slots unlocked via points).
Gamification UI Details
Purpose:
To provide feedback mechanisms that foster user motivation.
Elements:
- Display points prominently on the main dashboard or user profile, with a progress bar for streaks.
- Use subtle animations when users earn points or complete items, giving them an immediate sense of reward.
UI Considerations
Simplicity and Consistency:
- Keep the interface clean, intuitive, and uniform in style.
- Ensure navigation elements (like bars and buttons) appear consistently across screens.
Responsiveness and Accessibility:
- Adapt layouts for various screen sizes.
- Provide semantic HTML, proper alt-text, and keyboard navigation support.
Minimalism:
- Reduce clutter and keep the focus on backlog management and user progress.
Visual Hierarchy:
- Use headings and spacing to guide attention.
- Primary actions like “Add Item” or “Pick Something” should use bold colors and prominent placement.
VI. Technical Design
Architecture:
Client-Side with S3 Sync
The application will run entirely in the user’s browser as a Single-Page Application (SPA), leveraging Local Storage or IndexedDB for temporary and fast local data access. AWS S3 or an equivalent object storage service will be used for cross-device synchronization.
Sync Mechanism:
- Upon login, the application generates a unique key (hash) based on the user’s credentials.
- This key securely retrieves and uploads user data as a JSON file in S3.
- The application will prioritize local updates and synchronize with S3 periodically or upon user-triggered actions (e.g., save/logout).
- Conflict Resolution: Basic conflict detection (e.g., timestamps) will identify and merge conflicting changes between devices.
Technology Stack:
Frontend (User Interface):
React
Data Storage:
Local Storage
Cloud Storage:
AWS S3
User Authentication and Key Generation:
Hashing: A one-way hashing algorithm (e.g., SHA-256 or HMAC-SHA256) will generate a secure key from user credentials. This key will serve as the unique identifier for the JSON object in S3.
Data Model:
User Data (Stored in S3):
{
"username": "string",
"backlog": [ { "item object" }, ... ],
"collection": [ { "item object" }, ... ],
"points": 123,
"wishlist": [ { "item object" }, ... ]
}
Item Data (Backlog/Collection/Wishlist):
{
"id": "uuid",
"category": "book | board_game | video_game",
"title": "string",
"details": {
"category-specific details object"
},
"commitment": { "metric": "value" },
"lastPass": [ "date array" ]
}
Category-Specific Details (Per Type):
Books:
{
"genre": "string",
"length": "short | medium | long",
"fiction": true | false,
"mood": "string",
"pacing": "slow | fast",
"status": "To Read | In Progress | Completed | DNF"
}
Board Games:
{
"complexity": "easy | medium | complex",
"playSessionDuration": "short | medium | long",
"gameType": "string",
"plays": 0
}
Video Games:
{
"genre": "string",
"length": "short | medium | long",
"type": "story | endless",
"playtime": 0,
"sessions": 0
}
Sync Logic:
Login/Initial Load:
- The user enters a username and password.
- Generate a hash using a one-way hashing algorithm.
- Use the hash as the S3 key to fetch user data (if available).
- If data exists: Merge with local data. If not, create a new data structure for the user.
Sync on User Actions:
- Changes are saved to local storage immediately.
- During critical actions (e.g., save, log out, manual sync), data is uploaded to S3.
Conflict Detection:
- Include a lastModified timestamp for each item in the JSON data.
- When syncing, the latest change will take precedence.
Additional Considerations (for Security and Scalability):
Rate Limiting:
Implement introductory rate limiting for sync requests to prevent abuse or accidental overloading of S3.
Offline Mode:
Ensure the app functions fully offline with local data and syncs changes to S3 when back online. Use IndexedDB for handling offline data efficiently.
Rationale for Key Decisions
Single-Page Application:
Chosen to ensure a seamless and engaging user experience for a product focusing on user motivation.
Cloud Storage via AWS S3:
Provides cost-effective scalability and ensures cross-device synchronization with minimal technical complexity.
VII. Testing and Validation
To ensure Harbor delivers a seamless and secure experience, testing will focus on three key areas: functionality, user experience, and security. A mix of automated and manual testing methods will validate the MVP, ensure continuous reliability, and integrate user feedback.
Core Testing Objectives
- Validate core features like user account management, cross-device synchronization, and backlog engagement (Pass/Select).
- Test user experience flows for intuitiveness and accessibility.
- Secure user data through robust encryption and protection against vulnerabilities (e.g., XSS, SQL injection).
Testing Approach
- Automated Testing: Tools like Jest and Cypress will validate core functionality and UI consistency.
- Manual Testing: Focused on edge cases, usability, and real-world scenarios.
- Continuous Validation: Implement regression testing during development and after updates to prevent disruptions.
Priorities and Success Criteria
- Critical Functionality: Account creation, backlog management, and synchronization must operate without issues.
- Security Assurance: User credentials and data must be securely stored and transmitted.
- Positive Feedback: Early user testing should confirm the intuitiveness of the design and overall satisfaction.
VIII. Future Considerations
To expand Harbor’s functionality and appeal, several enhancements and features have been identified for potential future implementation. These are grouped into user-focused enhancements, technical improvements, and business opportunities.
User-Focused Enhancements
AI-Driven Recommendations
Provide personalized suggestions based on user engagement data to help users discover relevant items in their collections.
Advanced Analytics
Offer detailed insights into user behavior, such as most-played categories or monthly trends, to help users understand their hobby habits.
Notifications
Introduce reminders or calendar integrations to encourage regular engagement with the backlog.
Wishlist Management Beyond Basics
Expand wishlist functionality with tiered priorities or advanced filtering options.
Advanced Gamification Features
Include achievements, badges, leaderboards, and competitive elements to further motivate users.
User Profile Enhancements
Allow for personalized themes, layout settings, or avatar creation for a more customized experience.
Technical Improvements
Automatic Data Import/Export
Enable bulk actions and seamless integration with third-party APIs like Goodreads, IGDB, or BoardGameGeek.
Integration with External Ecosystems
Synchronize with platforms like Steam, Kindle, or other ecosystems to make item management more convenient.
Data Cleanup Tools
Provide automated features to archive or remove stale items, simplifying user backlog maintenance.
Business Opportunities
Monetization Mechanics
Introduce premium tiers or in-app purchases for advanced features without compromising the core functionality of the free version.
Long-Term Retention Strategies
Implement reminders, personalized notifications, or deeper customization options to ensure consistent user engagement.
Collaborative Features
Add social elements like friend lists, shared libraries, or public progress tracking to enhance community interaction.
High-Priority Features for Future Iterations
AI-Driven Recommendations
Personalization is critical to keeping users engaged and discovering meaningful items.
Advanced Analytics
Offering detailed insights into user engagement aligns with Harbor’s mission of intentional hobby management.
Notifications
Encouraging consistent interaction with the backlog ensures users stay motivated and have continuous progress.
IX. Challenges
Developing and maintaining Harbor comes with several challenges. These are grouped into user engagement, technical complexities, and operational risks to provide a clearer view of potential hurdles and how they could be addressed.
User Engagement
User Adoption and Consistency
Ensuring users consistently log their reading or play sessions can be challenging. Gamification and personalized recommendations can encourage engagement, but overuse of notifications risks user fatigue.
Maintaining Motivation
Designing the system to keep users motivated beyond the initial novelty phase is an ongoing challenge. Regular feature updates or fresh incentives can sustain interest over time.
Technical Complexities
Data Synchronization Conflicts
Timestamp-based conflict resolution works for most cases, but simultaneous updates from multiple devices could lead to complex merges. A notification system or sync alerts can help users understand and resolve conflicts.
Session Tracking Complexity
Accurately capturing session details (e.g., duration, pages, participants, achievements) without burdening users requires careful UI/UX design. Simplified logging interfaces or automated tracking could mitigate this challenge.
Operational Risks
Privacy and Security
Storing potentially sensitive user data, such as session logs, requires robust encryption and secure storage to protect privacy. Regular audits and compliance with data protection regulations (e.g., GDPR) are essential.
Scope Creep
Adding new features like extended analytics, cross-platform integrations, or advanced gamification can quickly bloat the MVP if not properly managed. Defining clear priorities and adhering to the MVP scope ensures focus.
High-Priority Challenges
User Adoption and Motivation
Addressing user engagement is crucial for Harbor's success. Features like streak tracking, badges, and reminders can maintain long-term interest.
Privacy and Security
Protecting user data is non-negotiable. Implementing industry-standard encryption and user education about data practices can enhance trust.