Profiles
Profile screens for people, companies and teams, a public portfolio, an editor with live preview and a contact card stack.
Switch category
Marketing
- Hero17
- Features15
- Logo clouds8
- Stats8
- Pricing11
- Testimonials11
- Call to action11
- FAQ7
- Newsletter12
- Banners9
- Popups and consent7
- Services7
- Use cases6
- Security and trust7
- Changelog and roadmap6
- Launch and waitlist6
- Product tour6
- Press and awards10
- AI features6
- App download5
- Donations and support4
- Problem and solution5
- Objections5
- Calculators10
- Quiz and product finder5
- Free trial5
- Referral and partners10
- Community5
- Open source5
- Manifesto5
- Offer5
- Lead magnet4
- Scroll stories20
- Scroll journeys13
- Scroll effects13
- Scroll reveals and transitions15
Content
- Blog16
- Gallery7
- Team8
- About11
- Content8
- Process7
- Contact8
- Comparison5
- Integrations5
- Error pages5
- Careers7
- Case studies6
- Portfolio6
- Events and webinars6
- Help center6
- Legal pages5
- Documentation4
- Search results5
- Resources and downloads4
- Podcast4
- Editorial15
- Authors and interviews10
- Glossary5
- Recipes5
- Data stories10
- Long reads5
- Surveys and feedback14
- Form states12
- Request forms16
- Applications and sign-ups13
- Address, payment and consent12
App
- Authentication9
- Dashboards6
- Tables6
- Settings5
- AI and chat16
- Calendar5
- Inbox and messages5
- Notifications6
- Files6
- Projects6
- Profiles6
- Onboarding6
- Billing and usage10
- Developer settings15
- Security and access10
- Import, export and history15
- Automation and builders14
- AI answers18
- AI writing and creation13
- AI setup14
- AI assistants9
E-Commerce
Industries
- Menus7
- Appointments6
- Listings6
- Courses6
- Rooms and stays5
- Classes and schedules6
- Medical practice5
- Law firm5
- Salon and spa5
- Automotive5
- Travel5
- Sports club5
- Coworking5
- Museum5
- Cinema5
- School5
- Trades5
- Insurance5
- Banking5
- Personal brand15
- Speakers and media kits10
- Creators15
- Coaching and consulting10
- Artists and musicians15
- Dental practice5
- Veterinary practice5
- Therapy practice5
- Weddings and events5
- Architecture studio5
- Tax advisor5
- Estate agent5
- Florist5
- Winery5
- Daycare5
- Driving school5
- Care services5
- Festival5
Elements
- Buttons20
- Forms and inputs22
- Pickers and selections21
- Special input fields20
- Cards10
- Overlays21
- Navigation elements15
- Menu bars and switchers14
- Data display15
- Progress and states13
- Lists, trees and timelines17
- Charts22
- Comparison charts22
- Statistical charts20
- KPI, live and map charts22
- Text effects15
- Text accents16
- Backgrounds19
- Beams, particles and motion18
- Media19
- Code and JSON8
- Panels and splitters4
Profile
Details
What Profile brings along, read from the registry and the source.
- Area
- App
- Variants
- 6
- Version
- 1.0.2 · since 1.0.0
- File
- components/ui/profile.tsx
- npm packages
- None
- Languages
- English and German, 127 texts of its own
- Studio
- Adjust in code
- Build with AI
- Over MCP in Claude, Cursor, Copilot and Codex
Props
The ProfileProps interface from components/ui/profile.tsx, with the comments from the code.
variantoptionalProfileVariantpersoncompanypublicteameditcard-stack
sidebaroptionalOmit<SidebarProps, 'children'>The app frame for person, company, team and edit. public and card-stack stand alone.
personoptionalProfilePersonperson, public, edit
titleoptionalstringHeading for team, edit and card-stack
subtitleoptionalstringdescriptionoptionalstringcard-stack: a sentence under the title
statsoptionalProfileStat[]activityoptionalProfileActivity[]contributionsoptionalnumber[]person: one value per day, oldest first, the last one is today
nowoptionalstringISO date and time of "now", so local times agree on server and browser
viewerTimeZoneoptionalstringThe time zone of the viewer, for "2 h ahead"
currencyoptionalstringcompanyoptionalProfileCompanycompany
peopleoptionalProfileMember[]dealsoptionalProfileDeal[]documentsoptionalProfileDocument[]worksoptionalProfileWork[]public
followersoptionalnumberavailableoptionalstringpublic: e.g. "Taking projects from November"
experienceoptional{ org: string; role: string; years: string }[]membersoptionalProfileMember[]team, card-stack
groupsoptionalstring[]coversoptionalReact.ReactNode[]edit: covers to pick from
timeZonesoptionalstring[]onSaveoptional(person: ProfilePerson) => void | Promise<void>onInviteoptional(invite: { email: string; group: string; role: string }) => void
Built-in texts
Profile writes these texts itself. The language follows the KitProvider, the labels prop replaces single ones.
Show all 127 texts
| Key | English | German |
|---|---|---|
| message | English Send message | German Nachricht senden |
| call | English Call | German Anrufen |
| more | English More actions | German Weitere Aktionen |
| localTime | English {time} local time | German {time} Ortszeit |
| sameTime | English same time as you | German gleiche Zeit wie du |
| ahead | English {n} h ahead | German {n} Std. voraus |
| behind | English {n} h behind | German {n} Std. zurück |
| joined | English Joined {date} | German Dabei seit {date} |
| overview | English Overview | German Überblick |
| activity | English Activity | German Aktivität |
| about | English About | German Über |
| contact | English Contact | German Kontakt |
| skills | English Skills | German Fähigkeiten |
| reportsTo | English Reports to | German Berichtet an |
| English Email | German E-Mail | |
| phone | English Phone | German Telefon |
| website | English Website | German Website |
| contributions | English Contributions | German Beiträge |
| contribTotal | English {n} contributions in the last year | German {n} Beiträge im letzten Jahr |
| contribTotalShort | English {n} in the last 26 weeks | German {n} in den letzten 26 Wochen |
| less | English Less | German Weniger |
| moreLevel | English More | German Mehr |
| dayCount | English {date}, {n} | German {date}, {n} |
| viewSections | English Profile sections | German Bereiche des Profils |
| online | English Online | German Online |
| away | English Away | German Abwesend |
| busy | English Do not disturb | German Nicht stören |
| offline | English Offline | German Offline |
| addNote | English Add note | German Notiz anlegen |
| newDeal | English Create deal | German Deal anlegen |
| visit | English Open website | German Website öffnen |
| employees | English {n} employees | German {n} Mitarbeitende |
| founded | English Founded {year} | German Gegründet {year} |
| locations | English Locations | German Standorte |
| hq | English Headquarters | German Hauptsitz |
| people | English People | German Personen |
| peopleCount | English {n} people | German {n} Personen |
| deals | English Open deals | German Offene Deals |
| dealsTotal | English {n} open, {sum} weighted | German {n} offen, {sum} gewichtet |
| deal | English Deal | German Deal |
| stage | English Stage | German Phase |
| owner | English Owner | German Betreut von |
| closeDate | English Close | German Abschluss |
| value | English Value | German Wert |
| chance | English {n} chance | German {n} Chance |
| documents | English Documents | German Dokumente |
| download | English Download {name} | German {name} herunterladen |
| details | English Details | German Details |
| industry | English Industry | German Branche |
| size | English Size | German Größe |
| customerSince | English Customer since | German Kunde seit |
| accountOwner | English Account owner | German Betreut von |
| writeTo | English Write to {name} | German {name} schreiben |
| show | English Show | German Zeigen |
| hide | English Hide | German Ausblenden |
| follow | English Follow | German Folgen |
| following | English Following | German Gefolgt |
| followers | English Followers | German Follower |
| works | English Works | German Arbeiten |
| appreciations | English Appreciations | German Anerkennungen |
| getInTouch | English Get in touch | German Kontakt aufnehmen |
| writeEmail | English Write an email | German E-Mail schreiben |
| selectedWorks | English Selected works | German Ausgewählte Arbeiten |
| all | English All | German Alle |
| filterWorks | English Filter works | German Arbeiten filtern |
| experience | English Experience | German Erfahrung |
| elsewhere | English Elsewhere | German Anderswo |
| projectQ | English Have a project in mind? | German Ein Projekt im Kopf? |
| projectText | English Tell me about it in a few lines. I answer within two working days. | German Erzähl mir in ein paar Zeilen davon. Ich antworte innerhalb von zwei Werktagen. |
| likes | English {n} appreciations | German {n} Anerkennungen |
| siteNav | English Profile | German Profil |
| invite | English Invite people | German Personen einladen |
| search | English Search people | German Personen suchen |
| groups | English Groups | German Gruppen |
| nowWorking | English Working hours now | German Arbeitszeiten jetzt |
| zone | English {n} here | German {n} hier |
| noMatch | English Nobody matches this search. | German Niemand passt zu dieser Suche. |
| inviteTitle | English Invite to the team | German Ins Team einladen |
| inviteText | English They get an email with a link that is valid for seven days. | German Die Person bekommt eine E-Mail mit einem Link, der sieben Tage gilt. |
| inviteEmail | English Email address | German E-Mail-Adresse |
| inviteGroup | English Group | German Gruppe |
| inviteRole | English Role | German Rolle |
| member | English Member | German Mitglied |
| admin | English Admin | German Admin |
| sendInvite | English Send invitation | German Einladung senden |
| cancel | English Cancel | German Abbrechen |
| close | English Close | German Schließen |
| invited | English Invitation sent to {email} | German Einladung an {email} gesendet |
| presence | English {online} online, {away} away, {off} offline | German {online} online, {away} abwesend, {off} offline |
| editTitle | English Edit profile | German Profil bearbeiten |
| preview | English Live preview | German Live-Vorschau |
| showPreview | English Show preview | German Vorschau zeigen |
| hidePreview | English Hide preview | German Vorschau ausblenden |
| previewMode | English Preview as | German Vorschau als |
| asCard | English Profile card | German Profilkarte |
| asHover | English Hover card | German Hover-Karte |
| photo | English Photo and cover | German Foto und Titelbild |
| photoHint | English Square photo, at least 400 pixels. The cover sits behind your name. | German Quadratisches Foto, mindestens 400 Pixel. Das Titelbild liegt hinter deinem Namen. |
| changePhoto | English Upload new photo | German Neues Foto hochladen |
| cover | English Cover | German Titelbild |
| basics | English Basics | German Grunddaten |
| basicsHint | English How colleagues find and address you. | German Wie Kolleginnen und Kollegen dich finden und ansprechen. |
| name | English Full name | German Vollständiger Name |
| pronouns | English Pronouns | German Pronomen |
| role | English Role | German Rolle |
| team | English Team | German Team |
| location | English Location | German Ort |
| timeZone | English Time zone | German Zeitzone |
| aboutHint | English A few sentences about what you work on. Up to 280 characters. | German Ein paar Sätze dazu, woran du arbeitest. Bis zu 280 Zeichen. |
| charsLeft | English {n} characters left | German noch {n} Zeichen |
| skillsHint | English Up to eight. Press Enter to add. | German Bis zu acht. Mit Enter hinzufügen. |
| addSkill | English Add skill | German Fähigkeit hinzufügen |
| newSkill | English New skill | German Neue Fähigkeit |
| removeSkill | English Remove {name} | German {name} entfernen |
| contactHint | English Shown to people in your workspace only. | German Nur für Personen in deinem Arbeitsbereich sichtbar. |
| statusLabel | English Status | German Status |
| statusText | English Status message | German Statusnachricht |
| unsaved | English Unsaved changes | German Ungespeicherte Änderungen |
| discard | English Discard changes | German Änderungen verwerfen |
| save | English Save profile | German Profil speichern |
| saving | English Saving | German Wird gespeichert |
| saved | English Profile saved | German Profil gespeichert |
| of | English {i} of {n} | German {i} von {n} |
| previous | English Previous contact | German Vorheriger Kontakt |
| next | English Next contact | German Nächster Kontakt |
| pick | English Pick a contact | German Kontakt wählen |
| contactCard | English Contact card | German Kontaktkarte |
Accessibility
Read from the source of the component.
- Profile handles the keys Escape, Enter, Arrow up, Arrow down, Arrow left, Arrow right, Tab and Space itself.
- Sets aria-checked, aria-controls, aria-describedby, aria-expanded, aria-haspopup, aria-label, aria-labelledby, aria-live, aria-modal, aria-pressed and aria-roledescription, so screen readers announce purpose and state.
- Uses the roles dialog, group, img, radio, radiogroup and status.
- Announces changes through a live region without moving focus.
- Every field has a label, visible or for screen readers.
- Adds text for screen readers where icons and graphics stand alone.
- Shows a visible focus ring when used with the keyboard.
- The server renders the starting state in full, JavaScript only adds the interaction.
Motion
- Rises in briefly the first time it comes into view (kit-rise, useInView).
- Brings animations of its own, calmly timed and without wobble.
- With reduced motion (prefers-reduced-motion) it stays still. 13 places in the code switch motion off then.
Frequent questions
How do I install Profile?
With aiw add @ai-website/profile. The command puts components/ui/profile.tsx into your project, the code is yours from then on. It brings along button, icon and sidebar. It needs no further npm packages.
Which variants does Profile have?
6 variants, Person in an app, Company record, Public portfolio, Team directory, Editor with live preview and Contact card stack. You pick one with the variant prop, for example variant="company".
Can I translate the texts of Profile?
Yes. Profile carries 127 texts of its own in English and German, such as “Send message”, “Call” and “More actions”. The language follows the KitProvider, single texts change through the labels prop.
Can an AI assistant build with Profile?
Yes. Through the MCP server of the aiw CLI, Claude, Cursor, GitHub Copilot, Windsurf, Codex and Gemini find Profile with aiw_components and install it with aiw_add @ai-website/profile. Name the variant in your prompt, for example variant="person", and the assistant writes your content straight into the props.
Similar components, Often combined with
Similar components
More from App, the same area of the kit.
- ProjectsProject lists, overviews and timelines.
- OnboardingFirst-run checklists, welcome screens and setup flows.
- FilesFile managers, uploads and previews.
- Billing and usagePlans, seats, payment methods, usage and limits.
- All of AppScreens for products. Sign-in, dashboards, tables, settings, billing and AI.
Often combined with
Sections that usually sit next to Profiles on a page.
Loading the source