Have something to say?

Tell us how we could make the product more useful to you.

Co-sign verification

Let a real teammate (manager/peer) co-sign a specific message/thread so a recruiter can trust it at a glance. Trust model (clear, layered, realistic) A vouch can have up to three independent signals. Show them as a stack so viewers know what was proven: Identity Verified — endorser logged in with LinkedIn (OIDC). What it proves: “This is a real LinkedIn member.” Notes: LinkedIn supports Sign-in with LinkedIn using OpenID Connect; you can get a stable user ID + profile basics after consent. Rich employment data usually needs special approval. Company Affiliation Verified — endorser proves they worked at (now or previously). Primary method: work-email magic link (e.g., sam@acme.com) → “Company verified” check. Alternatives for alumni: upload a redacted offer letter/pay stub (date + company name only), or a second endorser with the same domain (2-endorser rule). Overlap & Role — endorser attests they worked with you on this (role + dates). You collect: relationship (Manager/Peer/Stakeholder), End-to-end flow A) Author Posts a claim (message) and optional assets in a channel. Clicks Request vouch → gets a unique invite link. Sends it to a manager/peer (email, DM, LinkedIn message). B) Endorser Opens invite → sees only the claim snippet + any attached artifacts. Signs in with LinkedIn (OIDC). (Identity ✓) (Optional but powerful) Clicks Verify work email → we send a magic link to @company.com. (Company ✓) Selects Relationship + Dates, adds a short note, clicks Confirm. (Overlap ✓) C) Display On the message/thread, show a tiny shield: Vouched ✓✓ (hover → panel). Hover panel shows: Endorser avatar, name, title, company, LinkedIn link Checks for Identity / Company / Overlap Their one-line note & date of vouch Click → small card with details and a “See LinkedIn profile” link. D) Privacy & control Endorser can revoke any time. Authors can hide a vouch (e.g., if it includes sensitive info). Viewers see “Private details hidden” when evidence is redacted. UI copy (drop-in) Badge (compact): Co-signed by Sam Lee · ✓ Identity · ✓ Company · ✓ Overlap Tooltip header: Verified signals Tooltip items: ✓ Signed in with LinkedIn (view profile) ✓ Verified @acme.com email ✓ Worked with Alex (Manager, 2023–2024) CTA button for authors: Request co-sign CTA for endorser: Confirm & co-sign Revocation: Withdraw co-sign (You can remove this at any time.)

Jovanny Tovar 5 months ago

In Progress

Redesign using other library classes

Refactor to Next.js 15 and remove Hero UI usage from the app and standardize on shadcn ui with Radix primitives and compact tokens. Goals Replace all Hero UI components in the app with shadcn ui equivalents or headless Radix where needed. Keep the current routes and logic intact. Only the UI layer changes. Result must feel sleek and compact, not bulky. Tech guardrails • Next.js 15 with React 19 and App Router • Tailwind CSS • shadcn ui primitives: Button, Input, Card, Dialog, DropdownMenu, Label, Tabs, Tooltip, Separator, Skeleton, ScrollArea • Radix where shadcn wraps it • State: React Query for server data, Zustand for local app state • Forms: React Hook Form with Zod Design tokens for compact feel • Container: center, max width 1100 to 1200 px • Type: h1 text 4xl md 5xl semibold tracking tight, h2 text 2xl md 3xl, body text 15px leading 7, ui meta text sm • Density: default paddings p 4, controls h 9 px 3 text sm • Radius: cards rounded 2xl, controls rounded lg • Borders: hairline border white 10 percent on dark or black 10 percent on light • Motion: transition all duration 150 with subtle scale or translate on hover Acceptance checklist • No imports from hero ui remain • All primitives come from ui directory that wraps shadcn • The app uses compact controls h 9 px 3 text sm and body text 15px leading 7 • Containers never exceed 1200 px and line length feels readable • Keyboard navigation and focus rings pass WCAG AA • Lighthouse on a typical app view shows performance 95 plus and accessibility 100

Jovanny Tovar 5 months ago