Repository navigation
[RFC] At a conference #1114
Description
Inspired by @offskip-dave live-committing from Vue Fes Japan from Tokyo and in the spirit of the "Go Live" feature, I'd like to propose this one.
Why?
This morning, @offskip-dave live-committed Vue Fes Japan from Tokyo: "Heading to VueFes Japan now!", the keynote by Evan You, the tres.js talk, the panel moderated by Anthony Fu, and "If you are VueFes Japan, say hi!". From Italy, @zangetsu02 followed along ("antfu the goat").
- Conferences are where devs meet, and live-commits are great to follow from afar.
- Today nothing connects them. /dev/null shows who's streaming ("Live now"), but not that someone you follow is at a conference right now, or that 3 other nullers are in the same venue as you. "Say hi!" only reaches the people who happen to scroll past that commit.
- It's cheap. "Go live" already has the right shape: a time-boxed status on the profile, a marker on the avatar, a sidebar block.
The mockups below replay that morning on a local copy (so the counts are off). Every other user is made up.
To be clear, this is not about tagging commits. You keep committing as usual. The status only says where you are, and groups you with the other nullers who are there.
Ideas
Saying you're there
From the same "…" menu as "Go live":
- Conference link (required): the conference's website or event page
- Name: prefilled from the page title (link preview), editable
- Until: today (a one-day conference like Vue Fes) up to 5 days, ending at the end of the day in your profile's time zone
Leaving early is one click in the same menu. Like "Go live", the status clears itself once it ends.
A conference is identified by its link
No catalog to maintain, nothing to moderate up front: two people who paste the same link are at the same conference.
- The link is normalized: scheme,
www., query string, fragment and trailing slash are dropped https://vuefes.jp/2026/→/confs/vuefes.jp/2026- The path matters:
vuefes.jpredirects tovuefes.jp/2026/, and next year's edition isvuefes.jp/2027/. Following redirects before normalizing would merge both spellings. - The dialog says "3 nullers are already at vuefes.jp/2026" as soon as the link matches, so people converge on the same link
A ticket on the avatar
A conference lasts days, not hours, so the marker is quieter than the red LIVE ring: a small ticket on the avatar's corner, in the log, hover cards and profiles. Both markers can coexist when someone streams from the venue.
Profile
"At a conference" in the sidebar
Right under "Live now": the people you follow, grouped by conference, the biggest group first.
Conference page
Everyone who's there right now, people you follow first, with Follow buttons: Dave's "say hi!", for everyone in the venue. When you're not there, "I'm here too" opens the dialog with the link prefilled.
| Desktop | Phone |
|---|---|
![]() |
![]() |
The page only exists while someone is there.
How it fits with other RFCs
- [RFC] Orgs #938 Orgs: when an org's website matches the conference link (e.g.
@laracon→laracon.eu), the conference page could link to the org and show its official commits. - feat: host events with an issue-like page, a Watch-style going button and a milestone agenda #997 Events: when an event on /dev/null has the same link, being "Going" could offer to set the status on the event's first day. The event page could also show "who's there now".
- Hashtags, baby #791 Hashtags: @zangetsu02 asked for them too. This doesn't need them, and doesn't add a new syntax to commit text (
#123and#hexare already taken).
Privacy & moderation
- You're sharing where you physically are, in real time. The status is opt-in for each conference, coarse (the conference, never the exact location), and ends on its own.
- Blocks and mutes apply as for "Live now": people you blocked, or who blocked you, never see you in a conference list.
- The name is free text shown on a public page, so it follows the same rules as the bio. The link follows the same rules as the website: http(s) only,
nofollow.
Open questions
- A live log on the conference page? It would show the commits posted by the people there, during their stay. That's the real "live-commit" view, without tagging anything, but it also pulls in off-topic commits.
- Notifications? None in the first version, like "Go live". Later, maybe "@offskip-dave is also at Vue Fes Japan" when you're both there.
- Visibility: everyone, or only followers?
- Duration: is 5 days enough? or too mmuch?
- Phones: the sidebar is desktop-only. Should the conference block also appear somewhere in the mobile menu?
- Normalization: keep the full path, or only its first segment? How do we handle redirects and typos that split a group?


Activity
jubianchi commentedon Oct 24, 2026
Related: #151 (events attached to commits) also brings conferences and meetups to /dev/null, but from a different angle. It's about a planned event that someone hosts, while this RFC is about where you are right now.
The two don't depend on each other, but there may be bridges between them. For example, saying "Going" to an event could offer to set the "At a conference" status on the day, or an event could show who's there right now.
zangetsu02 commentedon Oct 24, 2026
We could also use commit tags (#hashtags) to group commits by event.
When creating an event, you could choose which tags to associate with it, so all matching commits are automatically grouped in its feed.
mnapoli commentedon Oct 24, 2026
I 100% agree this could be a good idea. I would generalize that to "events" so that could cover meetups, conferences, live events online, etc. Anything time-bound, /dev/null could be a place for the community of that conference to discover/find each other.
Very good idea.
jubianchi commentedon Oct 24, 2026
Following @mnapoli's suggestion, this RFC now covers events: conferences, meetups, online live events, anything time-bound. The core doesn't change: a time-boxed status like "Go live", identified by a link, with a page listing who's there.
What changes
/at/…instead of/confs/…, e.g./at/vuefes.jp/2026, so the page doesn't collide with the events of feat: host events with an issue-like page, a Watch-style going button and a milestone agenda #997 and feat: events attached to commits #151.lu.ma/…,meetup.com/…/events/…), and stream links can reuse the YouTube and Twitch parsing "Go live" already does.What doesn't change
xHeaven commentedon Oct 25, 2026
@offskip-dave While trying to delete my own comment, I successfully deleted yours... any chance you remember when you wrote? 😅 I feel so dumb right now
offskip-dave commentedon Oct 25, 2026
@xHeaven It's all good. :)
I was saying that this live commenting (committing in this case I guess) is very common in Japan, but it needs a mechanism to group/categorize commits that extend beyond the time of the event itself, since people commit about events before and after the actual event duration and date (before: event announcements, driving hype, after: sharing materials, insights etc.)
Akiyo974 commentedon Oct 25, 2026
Love this, and the "the link is the event" rule is what keeps it in the spirit of /dev/null: no catalog, nothing to moderate up front. A take on the open questions, plus a way to keep it as light as "Go live":
1. A live log on the event page? Yes, but not in the first version. The page is useful on its own ("who's here, follow them"). Later, the log could show the commits posted by the people there during their stay, with a toggle between "everything they posted" and nothing at all, rather than AI classification: a wrong guess would hide the commit that mattered. @offskip-dave's point about before/after posts is real, but a time window keeps it predictable, and quoting a commit still works for the hype and the recap.
2. Notifications? None in v1, like "Go live". The first one worth adding is the one that triggers the "say hi!": when someone you follow sets the same event as you, on site. Never for online events, it would be noise.
3. Visibility: depends on the mode, as the RFC already hints. Online: everyone, like "Live now". On site: you share where you physically are, so I'd default to the people you follow back (mutuals), with "everyone" as a choice in the dialog. The event page then shows the count of everyone, but only the faces you're allowed to see.
4. Duration: 1 hour to 5 days sounds right. Most conferences are 1–3 days, and the few longer ones can be set again. Ending at the end of the day in your time zone avoids the status vanishing during the after-party.
5. Phones: a sidebar block isn't needed there. The ticket on the avatar already shows in the log, and the event page could be reached from the profile and from a line in the menu only while someone you follow is at an event, the same way the Starred tab only matters once you have stars.
6. Normalization: keep the full path. Dropping to the first segment would merge
vuefes.jp/2026andvuefes.jp/2027, andmeetup.com/…/events/123with every other meetup. To avoid split groups, the dialog's "3 nullers are already at…" hint does most of the work, and following redirects before normalizing (as proposed) handles the rest. Typos just make a group of one, which is harmless.Keeping it fast, the same shape as "Go live":
usersnext to thelive_*ones (at_key,at_name,at_mode,at_ends_at), not a new table. One status per person, nothing to clean up: every query filtersat_ends_at > now(), asLiveFollowingQuerydoes withlive_ends_at.(at_key, at_ends_at), so the event page is a single indexed query with cursor pagination.liveFollowing: the people you follow, minus mutes and blocks, grouped byat_key. Not computed on pages without the aside.If it helps, I'm happy to take a piece of it once the shape is settled, for example the phone side (question 5).
mnapoli commentedon Oct 25, 2026
FYI I'll cover this a little bit later today on stream (https://dev-null.sh/@mnapoli/commits/01a17318-afdc-71af-afc2-9cce8344dd68) if you want to join. It will not be 100% of what's described here, but it will be indirectly related in case you're curious to pitch in during the stream