leads-linkedin is a web application that extracts leads from LinkedIn. A lead researcher signs in to the application, starts an extraction, and receives a list of leads drawn from LinkedIn profiles; the resulting lead lists are saved so the researcher can return in a later session and review them again.
The product intent is narrow and deliberate: turn LinkedIn profile information into a usable, reviewable lead list, with the researcher in control of when an extraction runs and what it produced. The audience is the lead researcher — a sales or research operator who needs speed, trust, and dense, legible data rather than a decorative marketing surface. The interface is treated as a precise instrument: honest controls, a strict grid, one signal colour, and data presented in aligned label/value pairs.
This document is the System Requirements Document for the product described above. It defines the current delivery, the single accepted human persona, the four accepted pages and their access boundaries, the functional requirements, the end-to-end journeys, and the visual and technical direction.
leads-linkedin is delivered as a first-party web application with its own custom interface. The application owns the identity of its users: a lead researcher enrolls through self-service on first use and verifies identity on return, because the lead lists they produce are private, durable, actor-specific data that must remain bound to the correct person across sessions.
Delivery is split across three access boundaries:
The application's backend performs the extraction work and persists lead lists; the researcher initiates, observes, and revisits that work through the first-party pages. No provider-owned or external surface is part of the accepted scope, and no headless-only delivery is accepted.
Everything described in this document is current scope. No future-horizon capabilities are accepted at this time.
Not applicable — no reference directive supplies a content_source.
leads-linkedin; a flush-left headline stating that the application extracts leads from LinkedIn; a short statement of what an extraction produces (a lead list the researcher can review and return to); the two entry actions. No private data, no counters tied to a real account, no lead content.FR-1 — Extract leads from LinkedIn (explicit) As a Lead researcher, I should start an extraction that collects leads from LinkedIn, so that I obtain a lead list I can act on.
FR-2 — Self-service enrollment (required_inference) As a Lead researcher, I should enroll myself on first use, so that the lead lists I produce are privately mine and can be resumed later.
FR-3 — Verify identity on return (required_inference) As a Lead researcher, I should verify my identity when I return, so that I reach my own saved lead lists and no one else's.
FR-4 — Review saved lead lists in a later session (required_inference) As a Lead researcher, I should review my saved lead lists in a later session, so that extraction results remain usable after the run that produced them.
FR-5 — Observe extraction progress and totals (required_inference) As a Lead researcher, I should see the run state and the result total as the extraction proceeds, so that I know whether the instrument is working and what it produced.
The visual direction is functional clarity after Dieter Rams: a precise instrument for lead researchers and sales operators, built on a strict grid, honest controls, and one signal colour.
Palette (light mode)
| Role | Hex | Use |
|---|---|---|
| Background | #EDEAE3 | Warm grey ground filling most of the page |
| Surface | #F7F5F0 | Off-white panels holding data |
| Text | #1C1B18 | Type and controls |
| Primary | #1C1B18 | Primary controls and headings |
| Accent | #E4570F | Braun orange — actions and live states only |
| Muted | #7A756B | Secondary labels and supporting text |
Typography
clamp(...) with their mobile size so they stay whole at 375px, 768px, and 1280px.Shape language
Layout
Motion
Imagery
Avoid
The public entry is a full-width ruled panel on the warm grey #EDEAE3 ground, split into three columns on the 12-column grid, with the fixed left rail carrying numbered steps and one orange marker on the active step.
clamp(...) and wraps inside its column without clipping.#E4570F action that carries the researcher into Login. It is a rounded rectangle at 8px radius, not a pill, with no shadow.The panel is off-white #F7F5F0 against the warm grey ground, separated by hairline 1px rules that align to the same baseline as the left rail. Diagrammatic line art of profile cards and connection graphs occupies the panel's remaining space as ruled structure, never as decoration for its own sake. Nothing overlaps the headline, the counter figures, or the button at 375px, 768px, or 1280px.
Interaction Model: Animated Motion Tempo: restrained Hero Dimensionality: flat
Landing Hero Motion Brief
prefers-reduced-motion, all transitions resolve instantly, the counting animation is skipped and totals appear at their final value, and the three-column panel reflows into stacked rows so every headline, figure, and control remains fully readable and operable at 375px, 768px, and 1280px.clamp(...); no element covers any part of them. Diagrammatic line art may be cropped or bled off an edge but never covers readable text or a control.prefers-reduced-motion, the interface provides a usable static arrangement with totals at their final value and no counting animation.frontend, backend, and database. No additional infrastructure is required for the accepted workflows.#E4570F, reserved for actions and live states.
Each extraction returns a lead list you can review now and return to in a later session. You start the run; the instrument returns the profiles.
0
Example list total: 128 leads per extractionShown as an example of the readout. Your own totals appear after a run.
Entry
Ready to sign in
Profile → connection graph
Illustrative structure

Each extraction returns a lead list you can review now and return to in a later session. You start the run; the instrument returns the profiles.
0
Example list total: 128 leads per extractionShown as an example of the readout. Your own totals appear after a run.
Entry
Ready to sign in
Profile → connection graph
Illustrative structure
No comments yet. Be the first!