Skip to content

Friends & Groups

Corvus is the app about people rather than pictures. A three-column feed of what your friends are saying, the friendships behind it, the groups they meet in, the events they turn up to — and threaded arguments underneath all of it, built entirely from AWC UI components.

Open the applicationSwitch framework, theme, density, direction and language from inside the app.

All five are live, and the control bar switches between them without losing your place. Every person, post, comment, group and timestamp comes from @awc-ui/showcase-kit, so the only thing that differs between them is the view layer — which is what makes two screenshots comparable evidence.

BuildOpenHow it rendersWhere the language lives
HTML/html/Static pages, written at build time — no framework at allIn the URL — a page per locale
React/react/Single-page app — Vite, no meta-frameworkClient state — switches in place
Vue/vue/Single-page app — Vite, no meta-frameworkClient state — switches in place
Angular/angular/Single-page app — client-rendered onlyClient state — switches in place
Svelte/svelte/Single-page app — Vite, no meta-frameworkClient state — switches in place
ScreenWhat it showsWhere it leads
FeedPosts from friends and groups in a three-column shell — ten at a time, each with its reactions, its first comments and its audience mark; a composer that is a trigger until you press itA post, a person, or a group
FriendsThe graph in four sections ordered by who is blocked: requests waiting on you, requests you sent, suggestions, then everyoneA person
GroupsThe six you are in and the four you are not, each carrying its privacy, your role and its weekly trafficA group
EventsTwelve events bucketed by when — this week, later, past — each with a scannable date block and three answersAn event
ProfileYour own: cover, counts, and a grid of what you have postedA post
PostOne post with its whole thread — comments in reading order, replies nested two deep, and a box to add oneA person
PersonSomebody else’s profile, plus the one button that moves the friendship alongA post
GroupA group’s cover, members, roles and posts — with Join, or Cancel request if you already askedA post, or a person
EventAn event’s cover, host, place, who is going, and your answerA group, or a person

A social network was chosen because it asks for what a photo feed does not: depth instead of breadth. Lyra’s data is wide and shallow — many posts, one level of comments. Corvus is the opposite.

  • Comments that nest, and a thread that knows when to stop. Replies go two levels deep in reading order, and “Replying to X” appears at depth 2 only: at depth 1 the indent is unambiguous, one possible parent directly above, so a label on every reply would be noise on most of them.
  • A post inside a post. A share renders the original in full, with its author — and deliberately without its actions, because pressing a reaction on the inner post would react to something the reader is not looking at. It is also not wrapped in a link, which would put an anchor inside an anchor.
  • Text-first, so the card cannot be built around a picture. Twenty-seven of forty-eight posts carry no image at all; six are link previews and four are shares. A card designed around a photograph gets all three of those wrong.
  • -webkit-line-clamp and a “see more” that is real. A long body clamps at a line boundary rather than a character count, and un-clamps in place.
  • A three-column shell that drops a column before it drops the layout. The right rail — contacts, birthdays, upcoming events — goes at 1200px; the shell itself swaps at 900. Two breakpoints because they answer different questions.
  • Three languages including a right-to-left one, and the CONTENT is translated. Post bodies, comments, bios and group descriptions are dictionary entries, not fixture strings, so an Arabic reader gets an Arabic network rather than Arabic chrome around English prose.

Corvus, its twenty-six people, their posts, comments, groups and events are invented, and the warning is load-bearing here for the same reason it is on Lyra: this vertical invents PEOPLE, with opinions and arguments. That is why the disclaimer sits in the app bar on every screen rather than at the bottom of one. No real person, place, group or event is represented, and none of the artwork depicts anyone.

The fixture holds 26 people, 10 groups, 12 events, 48 posts and 286 comments over 65 generated images, all from one seed and internally consistent — a reply always answers a comment on the same post, every group’s member count reconciles with its roster, and roughly seventy invariants are asserted at generation time rather than hoped for. Every state in every union is populated, including the awkward ones: a private group you are not in, so join-becomes-pending is reachable; requests pending in both directions; and an event that is online.

Every timestamp is measured from a fixed reporting instant of 14 October 2026, 17:40 UTC, not from the clock.