KatieHunt

← Back to Projects
Case Study

PromptVault — AI Prompt Library Manager

I led end-to-end design and front-end implementation of PromptVault, a browser-based prompt library for saving, organizing, and reusing AI prompts without leaving a dedicated workspace. The product spans four primary areas — Library, Favorites, AI Insights, and Settings — built as a static, framework-free experience with localStorage persistence, so users get immediate interaction with no accounts and no backend.

The practical outcome: a single place to curate prompts with tags and categories, retain context across sessions, and understand usage through lightweight local analytics — appropriate for individual AI practitioners and professional portfolio demonstration.

Role Product Designer & Front-End Developer
Scope 4 primary areas · 6 surface types · Static SPA
Stack HTML5 · CSS3 · Vanilla JS · localStorage API
Output Shipped · Static deployable site
PromptVault — Library grid with KPI bar and category filters

Library — the primary browsing surface: KPI summary bar, category filter chips, and the prompt card grid.

What was shipped

Deliverables

Product IA & Interface

Responsive web layout with persistent sidebar navigation, multi-page routing inside one document, and primary workflow surfaces for browsing, organizing, and maintaining a prompt collection. Four top-level destinations, modal-based create/detail paths.

Interaction & State Model

CRUD behaviors for prompts (view, edit, copy, delete with confirmation), favorites toggling, dynamic category creation, and import/export of JSON — plus notifications and modal patterns that keep destructive actions gated.

Visual System & Motion

Dark "structured glass" UI with blur, translucency, cyan–violet accent gradients, animated environmental background (grid + particles), and hover-revealed secondary actions on cards — consistent with the wider portfolio visual language.

How I worked

Design Process

01 Frame requirements Define jobs-to-be-done: save prompts, recall them quickly, group by theme, flag favorites, and avoid losing data when closing the browser.
02 Map IA & flows Lock four top-level destinations (Library / Favorites / Insights / Settings) and modal-based create/detail paths so the mental model stays shallow.
03 Explore look & feel Directional studies on density, chrome vs. immersive background, and how much "sci-fi" aesthetic supports focus rather than distraction.
04 Prototype in code Implement layout, tokens, and components directly in CSS for pixel-true iteration — no separate screen-design handoff step.
05 Validate behavior Run targeted tasks on core loops (create → find → copy; favorite → recover; export as backup) and adjust affordances based on findings.
06 Ship & document Freeze v1 scope with honest labeling of roadmap features, publish static build, capture screens and reel for case study.
Starting point

Foundation & Constraints

PromptVault was built intentionally without a server: no accounts, no hosted database, and offline-friendly persistence via the browser. That constraint drove the IA toward export/import as the real backup story and toward honest labeling of features that are stored as preferences vs. fully-implemented services — sync and encryption treated as roadmap items unless backed by infrastructure.

Fixed: Single-page architecture and localStorage as the source of truth. Flexible: Category taxonomy, card density, which metrics appear in the KPI bar, and how aggressively "AI Insights" language matches actual model-backed behavior in v1.

Early structure prioritized one-handed navigation (sidebar) and modal-based depth so the grid stays the hero surface — the place users spend most of their time.

PromptVault — Library with category filter active

Library with active category filter — non-matching prompts hidden; scan path stays focused on matching results.

Visual direction

Look & Feel: Structured Glass

Brand intent: PromptVault should feel like a precision instrument — calm, legible, and slightly futuristic, evoking "workspace for serious prompting" without cartoonish AI tropes. High contrast for text, restrained glow, and glass panels that separate content from the animated field behind them.

Named direction: "Structured Glass"

Glassmorphism provides hierarchy (panels float; background moves slowly). Structure comes from strict grids, uppercase micro-labels, and consistent radii so the effect reads as product UI, not decoration. The chosen route trades maximal depth illusion for readability at 12–15 prompts per view.

PromptVault — Create prompt modal
Direction explored

Heavier neumorphism with softer blobs and busier background. Rejected: reduced scan speed on dense prompt cards; depth cues fought with tag chips and metadata.

PromptVault — Detail view modal
Chosen: Structured Glass

Sharper panel edges, cooler palette, disciplined spacing. Selected: better card scannability; clearer separation between metadata and body preview at library scale.

Feature drilled end-to-end

Mini Case Study: Save, Locate, and Reuse a Prompt

The core loop — create a prompt, find it again, and put it to use — is where PromptVault earns its place. Getting friction out of this path was the highest-priority design problem.

Requirements

  • Users must create a prompt with title, category, body, and optional tags.
  • Users must find it again via category filtering and browsing (search as enhancement).
  • Users must reuse it efficiently via full-text view and one-click copy to clipboard.
  • Destructive actions require explicit confirmation — no accidental deletions.

First Exploration — Problems Identified

  • Discoverability of secondary actions when the card is dense with tags and metadata — the edit/delete controls competed with content.
  • Trust in "saved" state with no server — users need confirmation the write happened, plus a recovery path (export).
  • Category growth without breaking filters — horizontal tabs overflow silently past a small number of categories.
  • Honest expectations for Insights — without a live LLM, the section risks feeling like empty marketing if not clearly framed as local analytics.

Iteration — What Changed

  • Hover-revealed vertical action stack on cards to declutter the default scan path — actions present only when you need them.
  • Separate view vs. edit modes in the detail modal — read-only by default reduces accidental overwrites.
  • Delete confirmation modal with a preview of the content being removed — so the cost of the action is visible before committing.
  • JSON export/import under Settings — addresses backup anxiety in a local-only architecture with a concrete, trustworthy story.
  • Insights refresh affordance — analytics feel user-controlled, not magic. Explicit trigger communicates local computation, not remote inference.
PromptVault — AI Insights dashboard

AI Insights — usage-derived summaries with an explicit Refresh control; honest about local-only computation.

Heuristic Evaluation — Core Loop

I evaluated the save → locate → copy loop against Nielsen's core heuristics, mapping each to a concrete design decision in the shipped product.

Nielsen #1
Visibility of system status

Save feedback via toast; explicit delete confirmation; copy action shows success/error immediately via Clipboard API response.

Nielsen #3
User control & freedom

Export/import provide undo paths outside delete. View mode separation means opening a prompt never risks accidental edits.

Nielsen #5
Error prevention

Delete requires a confirmation modal with content preview. Category creation is additive-only from the same modal — no accidental overwrites during add.

Nielsen #6
Recognition over recall

Categories and tags visible on every card; body preview in card reduces need to open a prompt just to confirm what it contains.

Design Decisions Table

Flow step Problem found Fix applied
Library scan Edit/delete buttons competed with tag chips on dense cards Actions hidden by default; revealed on hover as a vertical stack
Category filter Tab overflow silent past ~6 categories Scrollable filter row with clear overflow signal; "All" default emphasized
Open prompt Opening a prompt immediately exposed edit fields — accidental edit risk View mode is default; Edit requires explicit mode switch inside modal
Copy to clipboard Copy affordance not noticed — toolbar blended with modal chrome Copy button elevated with accent color; post-copy toast confirms action
Delete No preview of what would be lost before confirming Confirmation modal shows prompt title and truncated body before commit
Data backup No recovery path for localStorage data; silent risk JSON export/import in Settings with plain-language explainer above button
Insights Auto-loading analytics implied live AI — mismatched expectation Explicit Refresh button; section labeled as local usage analytics, not inference
All screens

High-Fidelity Gallery

All screens use representative data only. Dark mode is the default; Settings exposes theme preferences.

Component library

Design System

Built directly in CSS without a framework, the system is organized from atoms up through templates. Radii cluster around 12–16px; separation uses 1px hairlines with low-opacity cyan; elevation is communicated with blur and shadow rather than heavy borders — keeping the "structured glass" direction legible at every level.

Atoms
Gradient text Pill tags Icon buttons Toggles Inputs Focus rings Toast notifications
Molecules
Stat / KPI card Search field + suggestions Category filter chip Insight list row Empty state block
Organisms / Templates
Sidebar shell Prompt card (hover actions) Modal frame (view / edit / confirm) Settings row Library grid template Insights dashboard template
Result

Outcome

v1 delivers a coherent local-first prompt library with credible backup/export behavior and a scalable card/grid pattern for future features. Real full-text search, cloud sync, or model-backed assist can each slot into the same IA without renaming the product story — the architecture is honest about what it is today and extensible toward what it could become.

The project demonstrates how production-quality product thinking and visual craft can be achieved in a zero-dependency, framework-free implementation: the performance, persistence, and interaction model all work without a build step, making it immediately inspectable and deployable.

What I'd do next
  • Full-text search across prompt body and tags — the most-requested feature once the library grows past ~50 prompts.
  • Real model-backed Insights — swap local analytics for actual LLM-assisted summaries (with an honest toggle when no API key is configured).
  • Cloud sync option — opt-in, privacy-preserving, with the local-only mode remaining the default.
  • Prompt templates / variables — parameterized prompts with {{variable}} placeholders that populate on copy.
  • Automated tests for localStorage migrations — currently manual verification only.