Understanding the Distinction Between User Stories and Bonus Features in the App Ideas Repository

User Stories define the core functional requirements that constitute the minimum viable product, while Bonus Features are optional enhancements designed to stretch your skills beyond the baseline implementation.

The florinpop17/app-ideas repository provides a curated collection of application ideas for developers learning new technologies. Understanding the distinction between User Stories and bonus features is essential for navigating these projects effectively, as this structural separation guides you from basic functionality to advanced implementations.

What Are User Stories in the App Ideas Repository?

User Stories represent the foundational functional requirements that define what the finished application must be able to do. According to the repository's README.md, these stories act as a guideline rather than a strict to-do list, providing a checklist of core behaviors that constitute the minimum viable product (MVP).

In the source structure, every project file contains a ## User Stories section formatted as a checklist:


## User Stories

- [ ] User can see a mock login panel containing a user name text input field,
      a password text input field, and 'Login' and 'Logout' buttons.
- [ ] User can enter a mock login name into the User Name field.
- [ ] User can click the 'Login' button to perform a mock login.

As implemented in Projects/1-Beginner/Hello-App.md, these stories establish the essential login flow, greeting display, and logout functionality. You are free to add or adapt these stories, but they represent the baseline requirements that must be implemented for the project to be considered complete.

What Are Bonus Features?

Bonus Features are optional enhancements that extend beyond the core functionality defined in the User Stories. The repository explicitly describes these as features that "not only improve the base project, but also your skills at the same time," intended to be attempted only after completing the required User Stories.

Located under the ## Bonus features heading in each project file, these items add polish, extra data sources, alternative workflows, or advanced UI/UX patterns. They are not required for the project to be considered complete, but they demonstrate deeper technical knowledge and problem-solving abilities.

From Projects/1-Beginner/Hello-App.md, the Bonus Features section includes:


## Bonus features

- [ ] User can see an additional text input field for a language code which
      will be used to override the IP obtained through geolocation.
- [ ] User can see additional geolocation information after logging on that
      includes at least the local IP address, city, region, country name,
      zip code, longitude, latitude, and timezone.

These features transform the basic greeting application into a more sophisticated tool with geolocation APIs and language overrides, stretching your skills beyond the baseline implementation.

Key Differences Between User Stories and Bonus Features

Understanding the structural separation between these two components helps you prioritize your development workflow effectively.

Aspect User Stories Bonus Features
Requirement Level Mandatory core functionality Optional enhancements
Purpose Define minimum viable product Stretch skills and add polish
Implementation Order Must be completed first Attempted only after User Stories
Project Completion Required to consider project done Not required for completion
Flexibility Guideline that can be adapted Additional challenges beyond baseline

The repository's README.md explicitly codifies this workflow: implement the User Stories to create a functional application, then tackle the Bonus Features to demonstrate advanced capabilities and deepen your learning.

Practical Example from the Source Code

Examining Projects/1-Beginner/Hello-App.md illustrates how these sections work together in practice. The file separates core authentication and greeting logic from advanced geolocation features, creating a clear development path.

User Stories section (core requirements):


## User Stories

- [ ] User can see a mock login panel containing a user name text input field,
      a password text input field, and 'Login' and 'Logout' buttons.
- [ ] User can enter a mock login name into the User Name field.
- [ ] User can click the 'Login' button to perform a mock login.
- [ ] User can see a login acknowledgement message in the format:
      `<hello‑in‑native‑language> <user‑name> you have successfully logged in!`

Bonus features section (optional enhancements):


## Bonus features

- [ ] User can see an additional text input field for a language code which
      will be used to override the IP obtained through geolocation.
- [ ] User can see additional geolocation information after logging on that
      includes at least the local IP address, city, region, country name,
      zip code, longitude, latitude, and timezone.

This structure appears consistently across all project files in the repository, from beginner-level applications like Hello to advanced projects like Survey App located in Projects/3-Advanced/Survey-App.md.

Summary

  • User Stories define the mandatory core functionality that constitutes the minimum viable product for each application idea.
  • Bonus Features provide optional enhancements designed to stretch your skills beyond the baseline requirements.
  • The repository structure in florinpop17/app-ideas consistently separates these concerns in every project file under the Projects/ directory.
  • You should complete all User Stories before attempting Bonus Features to ensure a solid foundation.
  • Both sections use checkbox markdown (- [ ]) to track implementation progress.

Frequently Asked Questions

Are User Stories mandatory in app-ideas projects?

Yes, User Stories represent the core requirements that define the minimum viable product. While the repository describes them as a "guideline rather than a forced list of To-Do's," implementing these stories is necessary to consider the project functionally complete. You may adapt or add to them, but the baseline functionality must be present.

Can I add my own User Stories to a project?

Absolutely. The README.md explicitly encourages customization, stating that the stories "act more as a guideline than a forced list of To-Do's" and inviting you to "feel free to add your own stories if you want." This flexibility allows you to tailor projects to your specific learning goals or portfolio requirements.

Should I complete Bonus Features before submitting a project?

No, Bonus Features are explicitly optional. According to the repository documentation, these should be "attempted only after you have completed the required user stories." They exist to challenge you beyond the baseline requirements and add polish, but a project is considered complete once all User Stories are implemented.

Where can I find the complete list of User Stories and Bonus Features?

Each project file in the repository contains its own specific set of User Stories and Bonus Features. You can find these in the markdown files located under the Projects/ directory, organized by difficulty level (e.g., Projects/1-Beginner/, Projects/2-Intermediate/, Projects/3-Advanced/). Each file follows the consistent structure of listing User Stories first, followed by Bonus Features.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →