App review: JSON Profile App (Lisa Wang)

LOADED_SRC:
https://producingtechnology.com/65-apps/wanglisa_184789_15202200_name.html

What the app does

The app loads a JSON file (Lisa Wang's profile) from a URL and shows the data in two views: a "Dashboard" view with styled sections, and a "Raw JSON" view. The dashboard shows her name, contact info, GPA, work experience, goals, skills, and study preferences. You can also load a custom JSON using a URL parameter (?url=...) or click "Use Sample" for demo data.

Observed behavior

  • Two buttons at the top: "Load JSON" (manual file or URL) and "Use Sample" (loads demo data).
  • "Dashboard" tab renders a nicely formatted profile card with sections for experience timeline, goals, skills (as tags), and study preferences.
  • "Raw JSON" tab shows a code-formatted view of the full JSON object.
  • Skill tags are grouped into "Languages & Frameworks" and "DevOps & Tools" categories.
  • Study preferences (session length, break length, weekly focus target) are shown as metric cards.

Things that didn't work as expected

  • The web fetcher returned only the blank HTML skeleton — the app relies entirely on client-side JS, so the data only appears after the browser runs the script. This means the app is not easily scrapable or crawlable.
  • There is no visible loading state or error message if the JSON URL fails to load — a user might see a blank dashboard with no feedback.
  • The "Load JSON" button implies you can upload any JSON, but the dashboard sections are all hardcoded to Lisa Wang's specific data shape. A different JSON structure would likely render poorly or not at all.
  • The ?url= feature is a nice idea, but there is no visual hint about it in the UI — it is only in a small tip at the bottom.

Suggested improvement prompt

Improve this JSON Profile App with the following changes:

1. Generic schema support — instead of hardcoding Lisa's field names, auto-detect and render any key-value JSON structure gracefully, grouping arrays as tag lists and nested objects as expandable sub-cards.

2. Loading and error states — show a spinner while the JSON is fetching, and display a clear error card if the URL fails (e.g., CORS blocked, 404, or invalid JSON).

3. URL bar UX — add a visible text input at the top so users can type or paste a JSON URL directly without needing to know the ?url= trick. Pre-fill it with the current URL parameter if present.

4. Print / export — add a "Download as PDF" or "Copy link" button so users can share their profile view easily.