App Discovery
- Home page with a promotional banner, trending applications, and featured app cards.
- Complete app gallery with real-time, case-insensitive title search.
- Filtered-result counts, responsive grids, and reusable app cards.
App Store Discovery SPA
A responsive app-store experience for discovering applications, exploring ratings and reviews, and managing a browser-persisted installation collection.
LiveOverview
Hero Apps is a React single-page application that simulates a modern app marketplace. Users can browse trending and complete app collections, search by title, open detailed app profiles, inspect ratings and download statistics, view rating-distribution charts, and install or uninstall apps from a locally persisted collection.
Problem / Purpose
The project was built to practice data-driven SPA design around a familiar app-store experience. It combines asynchronous route loading, detailed catalog presentation, interactive visualization, local persistence, responsive layouts, and immediate user feedback without requiring a backend.
Key Features
Tech Stack
Architecture / How It Works
Hero Apps uses a client-only React architecture. React Router loaders retrieve static JSON data, page components derive search and detail views, Chart.js renders rating distributions, and localStorage preserves installation choices in the current browser.
React Router loaders retrieve app JSON before rendering the appropriate gallery or detail route.
The apps page filters loaded records against the search query and renders matching cards with a live result count.
The selected app record drives metadata, statistics, descriptive content, and a responsive rating chart.
Install and uninstall actions update localStorage and immediately synchronize the visible interface.
Screenshots / Visual Walkthrough

The landing experience combines a banner, trending collection, and routes into the complete application gallery.
Responsive cards and real-time search help users scan and narrow the app collection.
Detailed screens present metadata, downloads, reviews, descriptions, and rating visualization.
A dedicated management page lists locally installed apps and supports sorting and removal.
Challenges & Solutions
Challenge
Keeping installed-app state persistent without a backend.
Solution
I stored a compact installed-app collection in localStorage and synchronized React state after every change.
Challenge
Rendering rating distributions clearly across screen sizes.
Solution
I used a responsive horizontal Chart.js bar chart so star-level review counts remain readable.
Challenge
Supporting direct navigation in a deployed client-side router.
Solution
I configured Cloudflare Pages for SPA fallback behavior so nested routes continue working after refresh.
What I Learned
Final Links / CTA
Open the live product, review the repository, or return to the full projects archive.