mcpField
G
generic-fullstack-ux-designer

generic-fullstack-ux-designer

github.com/travisjneumanDesign & UI106149 installsUpdated 1d ago
Repository

About generic-fullstack-ux-designer

A UX skill for full-stack applications built with Next.js and NestJS. It focuses on how rendering, APIs, authentication, and real-time behavior shape interface states and user flows.

Key features

  1. 01Handle server-rendering and hydration states
  2. 02Design API loading and error recovery
  3. 03Apply optimistic UI where appropriate
  4. 04Plan forms and authentication flows
  5. 05Choose patterns for real-time updates

Use cases

  1. 01Design loading and error feedback for API calls
  2. 02Improve multi-step form interactions
  3. 03Plan protected-route login experiences
  4. 04Select updates for chat or notifications

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/travisjneuman/.claude --skill generic-fullstack-ux-designer

After installing, type/generic-fullstack-ux-designerin Claude Code to confirm it loaded.

Details

From the project README

Fullstack UX Designer

Professional UX expertise for Next.js/NestJS full-stack applications.

Extends: Generic UX Designer - Read base skill for design thinking process, research methods, interaction patterns, and critique framework.

Full-Stack UX Considerations

Server-Side Rendering UX
ScenarioUX Pattern
Initial page loadHydration-safe skeleton screens
Data fetchingServer components for static, client for dynamic
AuthenticationProtected routes with redirect UX
Form submissionProgressive enhancement
Hydration-Safe Patterns
// ✓ Avoid hydration mismatch
function Timestamp({ date }: { date: Date }) {
  const [formatted, setFormatted] = useState("");

  useEffect(() => {
    setFormatted(date.toLocaleString()); // Client-side only
  }, [date]);

  return <span>{formatted || "Loading..."}</span>;
}

API Loading & Error States

Loading State Hierarchy
DurationPatternExample
< 100msNo indicatorButton click
100ms - 1sSubtle spinnerForm submit
1s - 5sSkeleton screenPage fetch
> 5sProgress barFile upload
Error State Design
API Error → Parse Error → User-Friendly Message → Recovery Action
Error TypeUser MessageRecovery
400 ValidationShow field errorsFix and retry
401 Unauthorized"Please log in"Redirect to login
404 Not Found"Item not found"Navigate back
500 Server Error"Something went wrong"Retry button

Optimistic UI Pattern

// Show immediate feedback, rollback on error
async function toggleLike(postId: string) {
  // 1. Update UI immediately
  setLiked(true);
  setLikeCount((c) => c + 1);

  try {
    // 2. Call API
    await api.like(postId);
  } catch {
    // 3. Rollback on failure
    setLiked(false);
    setLikeCount((c) => c - 1);
    showToast("Failed to like");
  }
}
When to Use Optimistic UI
ActionOptimistic?Why
Like/favoriteYesLow risk, common action
Add commentYesCan show pending state
Delete itemNoDestructive, needs confirm
PaymentNoCritical, must verify
Form submitMaybeDepends on complexity

Form Submission UX

Client → Server Flow
User Input → Client Validation → Submit → Server Validation → Response
     ↓              ↓              ↓              ↓              ↓
  Feedback    Inline errors   Loading...   Field errors    Success/Error
Multi-Step Forms
// Show progress and allow back navigation
<FormStepper
  steps={["Details", "Payment", "Confirm"]}
  currentStep={step}
  onBack={() => setStep((s) => s - 1)}
/>

Authentication UX

Login Flow Patterns
StateUX
Loading authFull-page skeleton
Not logged inShow login form
Logging inDisable form, show spinner
SuccessRedirect with toast
ErrorInline error, keep form data
Protected Route Pattern
// Redirect unauthenticated users
if (!user && !loading) {
  return <Navigate to="/login" state={{ from: location }} />;
}

Real-Time Updates

PatternUse Case
PollingLow-frequency updates (notifications)
WebSocketChat, live collaboration
SSEOne-way server updates
Presence Indicators
  • Online status dots
  • "User is typing..." indicators
  • Collaborative cursors

Full-Stack Design Critique

AspectQuestions
Loading statesWhat shows during API calls?
Error recoveryCan users recover from errors?
Offline behaviorWhat happens without network?
Auth transitionsSmooth login/logout experience?
Data freshnessIs stale data clearly indicated?

See Also

Comments

Markdown supported