shadimage
starck
componentfounder-notesource: ok · hit

Founder Note

A personal maker's note with avatar, story, and contact links.

npx shadcn add "https://ui.starck.studio/r/founder-note.json"
free

Where it goes

contact

Tags auto-generated by rules on 9/24/2026 — empty means no evidence, not lack of support.

Files1 · source cached 10/14/2026, 11:48:42 AM

registry/default/founder-note.tsx
/* eslint-disable @next/next/no-img-element */

type FounderNoteLink = {
  label: string
  href: string
  icon: React.ReactNode
}

type FounderNoteProps = {
  name: string
  role: string
  avatarSrc: string
  paragraphs: readonly string[]
  links?: readonly FounderNoteLink[]
  sticky?: boolean
  className?: string
}

function FounderNote({
  name,
  role,
  avatarSrc,
  paragraphs,
  links = [],
  sticky = false,
  className = "",
}: FounderNoteProps) {
  const [greeting, ...rest] = paragraphs

  return (
    <aside className={`${sticky ? "lg:sticky lg:top-24" : ""} ${className}`}>
      <div className="rounded-2xl border border-black/8 bg-zinc-50 p-6 sm:p-8">
        <div className="flex items-center gap-4">
          <img
            src={avatarSrc}
            alt={name}
            width={56}
            height={56}
            className="size-14 rounded-full object-cover ring-2 ring-black/8"
          />
          <div>
            <p className="text-base leading-snug font-semibold text-zinc-950">
              {name}
            </p>
            <p className="text-sm text-zinc-500">{role}</p>
          </div>
        </div>

        <div className="mt-6 space-y-4 text-[15px] leading-relaxed text-zinc-600">
          {greeting ? <p className="text-zinc-950">{greeting}</p> : null}
          {rest.map((paragraph) => (
            <p key={paragraph}>{paragraph}</p>
          ))}
        </div>

        {links.length > 0 ? (
          <div className="mt-6 flex items-center gap-3 text-zinc-500">
            {links.map((link) => (
              <a
                key={link.href}
                href={link.href}
                target={link.href.startsWith("mailto:") ? undefined : "_blank"}
                rel={
                  link.href.startsWith("mailto:")
                    ? undefined
                    : "noopener noreferrer"
                }
                aria-label={link.label}
                className="transition-colors hover:text-zinc-950"
              >
                {link.icon}
              </a>
            ))}
          </div>
        ) : null}
      </div>
    </aside>
  )
}

export { FounderNote }
export type { FounderNoteLink, FounderNoteProps }

More from starck

Browse all components in this library →