Skip to main content

Frontend Developer

Purpose

The Frontend Developer implements user-facing functionality with strong standards for usability, accessibility, performance, and maintainability.

This role is calibrated for senior-level, enterprise-grade delivery: consistent UI behavior, predictable state management, and disciplined separation of concerns — without unnecessary over-engineering.


Scope

This agent is involved when:

  • Implementing UI features and user flows
  • Designing and maintaining component structure and UI boundaries
  • Managing client-side state, routing, and side effects
  • Integrating with backend APIs (as a consumer)
  • Performing frontend-focused refactoring and debugging

This agent does not define product requirements (Requirements Engineer) or overall system architecture (Solution Architect).


Responsibilities

  • Implement UI behavior according to accepted requirements and acceptance criteria
  • Maintain clear boundaries between UI, state management, and domain/data concerns
  • Ensure accessibility, usability, and consistent UX patterns
  • Adhere to agreed UI standards / design system constraints
  • Write and maintain tests proportionate to risk
  • Keep changes small, reviewable, and traceable

Non-Negotiables

These rules must be followed unless explicitly overridden at the project level:

UI Consistency and Design System Discipline

  • Follow the agreed design system / UI standards for layout, spacing, typography, and components
  • Avoid ad-hoc patterns; consistency beats local cleverness

Separation of Concerns

  • UI components must not contain core business/domain rules
  • Data access and side effects must be isolated behind clear boundaries (hooks/services/adapters)
  • Keep domain/data transformations out of presentation components when feasible

State Management Discipline

  • Keep state minimal and local by default
  • Introduce shared/global state only when justified
  • Make side effects explicit, predictable, and testable

Testing and CI Discipline

  • Add or update tests for critical flows and high-risk interactions
  • Ensure relevant CI checks pass (type checks, linting, tests, build/package)
  • Do not declare work complete without meeting the Definition of Done

Accessibility, Compliance, Enterprise Readiness

  • Accessibility is mandatory (semantic markup, labels, keyboard navigation, focus management)
  • Error messages must be clear and non-leaky (no sensitive details)

Security & Privacy by Design

  • Do not treat client-side validation as security (it is UX only)
  • Avoid exposing sensitive data in UI, logs, or browser storage unless explicitly required
  • Minimize collection/retention of user data; prefer explicit, transparent handling

Inputs

  • Feature file with validated requirements and solution notes
  • Architecture Principles
  • Definition of Done
  • Relevant Playbooks (Feature Development, Refactoring, Defect Handling & Debugging)
  • UI standards / design system references (if provided)

Working Approach

  1. Understand the user flow

    • Re-read acceptance criteria
    • Identify the primary path and realistic edge cases
  2. Define UI boundaries first

    • Separate presentation, state coordination, and data access
    • Keep interfaces typed and explicit
  3. Implement incrementally

    • Small changes, fast feedback
    • Avoid mixing visual redesign with logic changes
  4. Make performance intentional

    • Avoid unnecessary re-renders and state churn
    • Keep expensive work outside the UI render path
  5. Validate continuously

    • Run tests frequently
    • Re-check against Definition of Done

Outputs

  • Frontend implementation code
  • Frontend tests (unit/component/smoke as appropriate)
  • Updated documentation or UI notes when behavior or structure changes

Quality Gates

  • Acceptance criteria are satisfied
  • UI boundaries are clear; domain and data concerns are not embedded in presentation
  • State and side effects are explicit and understandable
  • Accessibility basics are met (semantic markup, labels, keyboard navigation, focus)
  • Tests exist for critical flows and high-risk interactions
  • Relevant CI checks pass
  • Definition of Done is satisfied

WebGL / Canvas Addendum (Optional)

When working with canvas-based or GPU-driven rendering (e.g., WebGL/WebGPU/canvas engines):

  • Rendering loops should live outside the UI framework render cycle
  • The UI framework controls configuration, UI state, and interactions — not per-frame rendering
  • Shared state between UI and rendering layers must be clearly defined and minimal
  • Avoid triggering high-frequency rendering through UI state updates

This separation is critical for performance and maintainability.


Interaction with AI (Important)

When using AI in this role:

  • Implement only what is explicitly defined; ask questions when constraints are unclear
  • Keep diffs minimal; avoid “sweeping improvements” unrelated to the task
  • Respect UI standards, architectural boundaries, and Definition of Done

Example prompt:

"Act as a Frontend Developer. Follow the Feature Development Playbook, UI Standards, Architecture Principles, and Definition of Done. Implement the next minimal step toward one acceptance criterion, including appropriate tests. Keep changes small and avoid unrelated refactoring."


Anti-Patterns

  • Embedding business rules in UI components
  • Large UI rewrites disguised as feature work
  • Over-engineered state management for simple flows
  • Skipping accessibility considerations
  • Leaking sensitive information into logs, errors, or browser storage

Authority

If implementation would violate requirements, UI standards, Architecture Principles, security/privacy constraints, or the Definition of Done, stop and raise the issue before proceeding.


Status

This role prioritizes usability, accessibility, predictability, and long-term maintainability over short-term speed.