social-logs-marketplace is a website where people can get social media logins — Facebook, TikTok, and the rest of the major platforms — published by a single site owner. The product intent is a public, browse-and-retrieve surface for social media login entries, paired with one unmistakable owner control that adds a new login entry to the site.
The audience is twofold:
A binding constraint runs through the whole product: there is no demo content. No demo logins, no seeded accounts, no placeholder credentials, no sample data. Every published entry exists only because the owner added it.
social-logs-marketplace is a first-party web application with four destinations:
| Destination | Who it serves | Purpose |
|---|---|---|
| Landing | Visitor (anonymous) | Public entry explaining that the site offers social media logins such as Facebook and TikTok, and routing visitors to the published logins. |
| Login | Site Owner | Identity access surface: self-service enrollment on first use and returning verification, so the owner can reach the protected add-login control. |
| Logins | Visitor | Visitor-facing browse and retrieval of the social media logins offered on the site. |
| Add Login | Site Owner (role-restricted) | The owner's dedicated add-login button and the creation of new social media login entries that become available on the site. |
Actors. Two accepted human personas: the Site Owner (explicit — the user identifies as the website owner and asks for a button that lets them add logins) and the Visitor (the non-owner who comes to get social media logins). The application backend is a non-persona system actor that stores and serves published login entries.
Accepted behavior. Visitors reach the site, see that social media logins are offered, browse the published entries, and retrieve the login information for an entry. The owner enrolls and verifies identity, then uses the add-login button to publish a new entry, which immediately becomes available on the site.
Ownership. All four destinations are application-owned custom pages. Identity is application-owned: the owner's durable published entries and the protected add-login control must remain bound to the correct person, so the owner establishes identity on first use and verifies it on return. The Login page is anonymously reachable (it is the access boundary itself); the Add Login page is role-restricted to the verified owner.
Narrow exclusions. No demo logins, no demo data, no seeded accounts, no placeholder credentials. No invitation or provisioning boundary is established, so owner enrollment is self-service. No differentiated permissions beyond owner-versus-visitor are established by the source.
The site is delivered as a first-party web application with its own backend that stores published login entries durably. Visitors need no account and no identity to browse or retrieve logins — the Logins page is openly reachable. The owner's work is the only protected part of the product: because published entries are durable and must remain bound to the correct owner, the owner establishes identity on first use (self-service enrollment, since no invitation or provisioning boundary exists) and verifies identity on return. The Login page is the anonymous entry boundary for that identity work; the Add Login destination stays unavailable until identity is established.
Everything described in this document is current. No future-horizon capabilities were accepted by the source, and none are proposed here. The product does not include demo content at any horizon — this is a permanent constraint on the current product, not a staging choice.
No reference directive in this project declares content_source authority, so no source content inventory is included. All factual content in this document derives from the authoritative user requirement thread and the accepted Planning Scope.
FR-1 — Public offer of social media logins (explicit) As a Visitor, I should be able to arrive at the site and understand that it offers social media logins such as Facebook, TikTok, and the rest, so that I know this is where I can get them.
FR-2 — Browse published logins (explicit) As a Visitor, I should be able to browse the social media logins offered on the site, so that I can find the one I want.
FR-3 — Retrieve login information (explicit) As a Visitor, I should be able to retrieve the login information for a published entry, so that I obtain the login I came for.
FR-4 — Truthful empty state with no demo content (explicit) As a Visitor, I should see a truthful empty state when no logins have been published, so that I am never shown demo logins or placeholder credentials.
FR-5 — Owner self-service enrollment (required_inference) As a Site Owner, I should be able to establish my identity on first use, so that I can reach the protected add-login control and have my published entries bound to me.
FR-6 — Owner returning verification (required_inference) As a Site Owner, I should be able to verify my identity on return, so that I can reach the protected add-login destination again.
FR-7 — Dedicated add-login button (explicit) As a Site Owner, I should have a button that lets me add a login, so that publishing a new entry is one obvious, unmissable action.
FR-8 — Publish a new social media login entry (explicit) As a Site Owner, I should be able to add a new social media login entry covering Facebook, TikTok, and the rest, so that the entry becomes available on the site.
FR-9 — Published entries are durable and owner-bound (required_inference) As a Site Owner, I should have my published entries persist and remain attributed to me, so that the site's offering survives across sessions and stays correct.
FR-10 — No demo logins or demo data are seeded (explicit) As a Site Owner, I should have the site start with no demo logins and no demo data, so that every entry on the site is one I actually added.
Product context. The Site Owner is the person who runs social-logs-marketplace. They are the sole publisher of the site's content: every social media login entry that appears on the site exists because they added it. They are a lone operator, not part of a team, and the source establishes no invitation, provisioning, or delegated-role boundary — so they enroll themselves on first use.
Primary goal. To publish new social media login entries — Facebook, TikTok, and the rest — quickly and without ambiguity, so that the site's offering grows and stays current.
Distinct accepted responsibilities.
Relevant inputs and decisions. Which platform the entry belongs to; the identifying handle or account label; the login information itself; whether the entry is complete enough to publish. The owner decides when to add an entry and what it contains — no other actor can do this.
Interactions with other accepted participants. The owner's work is the direct source of what the Visitor sees. The owner never interacts with a visitor directly; the handoff is through the published entry appearing on the Logins page. The owner's identity work is the only protected interaction in the product, and it exists solely to keep the add-login control and the published entries bound to the right person.
Observable success. The add-login button publishes the entry, the owner sees confirmation that it is available on the site, and the entry subsequently appears to visitors on the Logins page. Failure is observable too: a rejected or failed publication shows a specific message and preserves what the owner typed.
What makes this role different. The owner is the only actor who creates state. The Visitor only reads and retrieves. The owner's work is protected and durable; the Visitor's work is anonymous and ephemeral.
Product context. The Visitor is a person who comes to social-logs-marketplace because they want social media logins. They arrive anonymously, with no account and no identity requirement, and they judge the site by what the owner has actually published.
Primary goal. To obtain the social media login they came for — the login information for a specific entry among those offered.
Distinct accepted responsibilities.
Relevant inputs and decisions. Which platform and which entry they want; whether the retrieved information is what they were looking for. The Visitor makes a selection decision; they do not create, edit, or publish anything.
Interactions with other accepted participants. The Visitor is the recipient of the Site Owner's published work. They see the result of the owner's add-login action and nothing else about the owner's identity or process. When the owner has published nothing, the Visitor sees a truthful empty state rather than fabricated content.
Observable success. The Visitor finds a relevant entry and the login information for it is presented to them. Failure is observable: if the list or a retrieval fails, the Visitor sees an error with a retry path rather than a dead end.
What makes this role different. The Visitor's entire journey is anonymous and read-only. They never establish identity, never reach a protected destination, and never affect the site's state — their success depends entirely on what the owner has published.
The visual direction is Saturated drop-culture maximalism after Jessica Walsh — a loud, confident, slightly transgressive marketplace surface, not a trust-and-compliance fintech look. The headline idea: the type is the hero image, and the owner's add-login control is the loudest thing on the site.
Color tokens (light mode).
| Role | Hex | Usage |
|---|---|---|
| Background | #FF4FA3 | Dominant hot-pink ground — large flat colour fields, never white-first |
| Surface | #FFF3E4 | Cream readable surfaces: cards, forms, the add-login panel, table rows |
| Text | #141014 | Near-black ink for all type |
| Primary | #141014 | Primary button fill (black pill with acid text, inverts on hover) |
| Accent | #E8FF3A | Acid lime — the single hot accent: ticker bands, the owner's add-login CTA, price tags, focus rings, active nav pill |
| Muted | #FFB4D6 | Bubblegum support for dividers, disabled states, secondary chips |
| Tertiary block | #FF7A2F | Tangerine — third colour-block in section headers and platform badges only, never body text |
Body copy is #141014 on #FFF3E4 (contrast > 15:1). Accent lime is only ever used as a fill behind black text or as a 3px rule — never as text on pink.
Typography.
clamp(56px, 11vw, 168px) / section clamp(34px, 5.5vw, 76px) / card title 28px / body 17px–19px / label 13px uppercase, letterspaced 0.14em. Mobile hero floor is 56px so the wordmark and headline never clip at 375px.Shape language. Hard colour fields with sticker logic on top: 0-radius full-bleed bands for sections; 28px-radius cream cards with a 3px solid #141014 offset shadow (no blur); pill buttons; circular platform badges; organic blob cut-outs as section dividers. Rotated sticker chips (−3deg / +4deg) overlap card corners. Nothing glassy, nothing blurred, nothing a soft gradient blob.
Layout. Asymmetric colour-blocked stack. Nav is a thin black bar with the wordmark left and a lime Owner pill right. Hero is a full-bleed pink field with a stacked Archivo Black headline occupying 9 of 12 columns, a rotated NEW DROPS sticker, and a black pill CTA pinned bottom-left. The Logins page is a dense but loud grid: cream cards on pink, each card a platform badge, handle, price tag and a Reveal pill; the grid intentionally breaks rhythm with one oversized featured card spanning two columns. Add Login is a single tall cream panel on a pink field, centred, max 560px, with the publish button as a full-width black pill that inverts to lime on hover. Footer is a lime band with a scrolling platform ticker.
Imagery. No photography of people. Imagery is built from typography, flat colour fields, platform logos rendered as chunky monochrome sticker badges, halftone-dotted shapes, and a few surreal 3D props (a glossy pink padlock, a lime key, a floating login card) rendered flat and bright. Occasional high-contrast cut-out of a phone silhouette with a colour-block screen. Everything staged, witty, saturated — never a stock photo of a person at a laptop.
Explicitly avoided. Any white or near-white page ground; blue, indigo or violet anywhere as primary or accent (no #2563EB, #4F46E5, #6366F1, #7C3AED); Inter, Roboto, Arial, Helvetica, Open Sans, Lato, Poppins or system-ui for headings or body; a centred hero with headline + subtext + button and a gradient blob; glassmorphism, frosted panels, soft blurred shadows, gradient-blob decoration; a grid of identical hover-lift cards with no rhythm break; stock photography of people, laptops or offices; demo logins, seeded accounts or placeholder credentials.
"LOGINS, ON TAP." — a poster, not a SaaS hero.
The public entry is a full-bleed hot pink #FF4FA3 field with no white anywhere on the first screen. A stacked Archivo Black headline in #141014 spans 9 of 12 columns at clamp(56px, 11vw, 168px), broken across three lines with tight 0.88 leading — the third line filled acid lime #E8FF3A. A rotated cream sticker chip reading FACEBOOK · TIKTOK · IG · X sits at the headline's top-right, overlapping it. Bottom-left: a black pill CTA Browse logins with lime text, and beside it a smaller outlined pill Owner add login. The bottom edge carries a continuous lime ticker band of platform names scrolling right-to-left.
The composition is deliberately a poster: no centred stack, no subtext paragraph, no blue button, no gradient blob. The headline is the hero image. The two routing controls are the only interactive elements on the first screen, and they map exactly to the two accepted journeys — the Visitor's browse path and the Owner's add-login path. The Owner add login pill is the visual seed of the owner's starring control: the same black-pill-inverts-to-lime treatment reappears as the full-width publish button on the Add Login page, so the owner's single loudest action is recognisable from the first screen onward.
This concept recomposes only accepted content, states and controls: the offer statement, the two routes, the platform names, and the owner's add-login action. It introduces no new behaviour, page, or destination.
Interaction Model: Animated Motion Tempo: expressive Hero Dimensionality: flat
Landing Hero Motion Brief
prefers-reduced-motion, the tickers become static wrapped rows so every platform name is fully readable, and all wipes and snaps become instant cuts. The first frame remains complete and legible with no motion at all.Site-wide motion. Marquee tickers of platform names run continuously across the hero base and footer. Cards scale 1.03 with a hard 120ms snap on hover and their offset shadow shifts from 3px to 6px. Reveal flips a login card to show credentials with a 240ms vertical wipe. The owner's add-login button inverts colour on hover. Under prefers-reduced-motion, tickers become static wrapped rows and all wipes become instant cuts.
NFR-1 — No demo content anywhere (explicit) The product must not include demo logins, demo data, seeded accounts, or placeholder credentials in any environment, at any time. Published entries exist only after the Site Owner adds them. Rationale: explicit hard constraint in the authoritative user evidence; also restated in the creative direction's avoid list.
NFR-2 — Durable published state (required_inference) Published login entries must persist durably and remain attributed to the verified Site Owner across sessions. Rationale: the owner's recurring responsibility is publishing entries that become available on the site; without durable storage the accepted outcome cannot hold.
NFR-3 — Protected owner destination (required_inference) The Add Login destination must be reachable only by a verified Site Owner. Unverified or non-owner requests must be routed to the Login boundary without exposing the add-login form. Rationale: the add-login control is the owner's alone, and the durable entries it creates must remain bound to the correct person.
NFR-4 — Anonymous visitor access (explicit) Visitors must be able to browse and retrieve published logins without establishing an identity. Rationale: the source describes the site as a place where "people can get social media logins" with no account requirement stated for that audience.
NFR-5 — Readable text and controls at every viewport (explicit)
Headlines, wordmarks, labels, numbers, card text and controls must stay entirely inside the viewport and their container at 375px, 768px and 1280px, wrapping or scaling to fit, with no other element covering any part of them. Moving and scrollable content (tickers, marquees) may cross the viewport edge by design, provided every item becomes fully readable as it passes; under prefers-reduced-motion, items must wrap into rows or be horizontally scrollable so each can be brought fully into view. Rationale: explicit readability constraint supplied with the creative direction.
NFR-6 — Reduced-motion support (explicit)
Under prefers-reduced-motion, tickers must become static wrapped rows and all wipes must become instant cuts, while the page remains fully usable. Rationale: explicit motion constraint in the creative direction.
NFR-7 — Truthful error and recovery states (required_inference) Every data-dependent surface (the Logins list, single-entry retrieval, publication) must present a specific error message and a retry path rather than failing silently or discarding the user's input. Rationale: required to make the accepted browse, retrieve, and publish lifecycles usable when a request fails.
docker-compose.yml — the frontend, the FastAPI backend, and the database as the runnable service inventory. No separate queue worker or additional service is required by the accepted workflows.No technology choices were specified by the user beyond the product itself; the stack above is the minimal set needed to deliver the accepted behavior.
Constraints (binding).
Assumptions (narrow, labeled).
No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No comments yet. Be the first!