Patterns
Add a bookmark
Create a recognizable link in an existing board with optional metadata and icon assistance.
On this page
Task sequence
- Open from the header menu, grid tile, or empty-state action.
- Enter an HTTP(S) URL and short label.
- Select the board and optional icon.
- Submit; keep fields available if the API returns an error.
Data and persistence
The source POST is user-scoped, validates nonempty URL/label and optional board ownership, and returns the created link. The capture replaces this with a browser-local fixture response.
Failure and recovery
Create label validation runs locally. Metadata failures do not block manual labels. URL scheme validation and null-icon handling require source improvements.
Acceptance criteria
- A label manually edited is not replaced by late title lookup.
- A failed save retains fields.
- A success example is local-only, not proof of DB storage.
Source references
| Repository file | Responsibility |
|---|---|
| app/(home)/AppHome.tsx | Create and lookup handlers |
| app/api/links/route.ts | POST |
| app/api/link-metadata/route.ts | Metadata boundary |
Examples from the app
Actual Startboard source UI with isolated fictional records; both native themes at 2× resolution or higher. No live integrations or account writes. Captured at 2× resolution or higher. Select an image to inspect it full size.
Related topics
Source audit: 2026-10-08 · Revision 08fa2595a668 · Documentation v1.0.0