Skip to content

wrufay/urt

Repository files navigation

urt — the groupchat, as a website

a Windows XP / Y2K desktop memorial for a google chat space between three friends. built from 16,615 raw messages.

stack: React 19 + TypeScript + Vite + Tailwind CSS v4


running it

npm install
npm run dev

updating the chat data

the app reads from public/data.json — a pre-processed extract of the raw chat log. the raw file (messages_clean.txt) is gitignored and never pushed.

to regenerate after updating the raw log:

# drop your updated messages_clean.txt into public/
npm run extract   # → rewrites public/data.json
# commit data.json

extract parses all messages, finds conversation windows (3–7 messages, 2+ speakers, ≤20 min gap), picks short individual messages for the float bubbles, shuffles both pools, and writes public/data.json.

file structure

src/
  App.tsx          — everything: data, components, interaction logic
  useConvos.ts     — fetches data.json; exposes useConvos() + useFloatPool()
  index.css        — all styles (XP chrome, animations, layout)
scripts/
  extract.mjs      — local-only data pipeline: messages_clean.txt → data.json
public/
  data.json        — committed; 186KB of extracted segments + float messages
  bg.png           — desktop wallpaper
  *.png            — pixel cursor assets + person photos + icons

the groupchat. a field guide.

April 5 – May 21, 2026 · Google Chat Space fay wu, justin fang, jackson huang


who even are these people

fay wu (wrufay / FRW)

UW CS. Halifax, NS. Born to be up at 3am. Deleted Instagram. Made koinyou.com (a Bible app). Used to run an art YouTube channel. Grade 7 her made a full drag-and-drop chat app on code.org that got hacked. She fixed the hack. There was a mysterious older user called "Digit Invader" who did counter-exploits and taught her more CS than anyone. That's her origin story. She is also a leetcode goblin (67 is her sacred number), a gym rat (incline dumbbell 20→25lbs, barbell bench 60-70lbs, 6/7 day streaks, getting calluses), a Christian who reads KJV at 3am and goes to church, a ukulele player who lost her capo, and a person who has two inner personas: SSSS (sleeping sheep — chaotic, Justin bans her immediately) and Day (calm, the real one).

She listens to music constantly and never tells you what it is. She just says "this song is so good" and doesn't share. She plays ukulele. She took the place of a mutual friend in the duo. She does not view this as a betrayal.

Signature phrases:

  • "this song is so good" (no context provided)
  • "SSSS" (chaotic alter ego, entering the chat)
  • "pattern recognition — I automatically start locking in at night now"
  • "67" (everywhere, always)
  • "gig" (God is good)
  • "fg" / "crine" / "gwfg"

justin fang (JJ / jjfang)

UW CS. Ciena DevOps intern in Ottawa. Has two work fits for 12 weeks of business casual. Finds 9-5 soul crushing ("how do people do this for 40 years"). Wanted to be an entrepreneur. Shipped 2 features with AI at work. His boss told him how to do something he'd already done. He did not say anything.

Started at 15lb dumbbell bench. Was told by Fay to do cables. He said "Do cables. Cables are easier to adjust weight. That's in your bag." He said this about himself. He gave the advice and then received the advice. He was on the right track.

Deleted Instagram from his phone. Has no texting apps on his phone. Is somehow still in this groupchat. Plays Game Pigeon all day (fun day, phone almost dead). No one beats him at Geoguessr. He identified a desert. He also had 6 poops in one day, paused at 6 to make it 7 so it could potentially reach 67 and be lucky. He has farted 263 times in a day (his count). He ate yellow snow in JK/SK for flavour. His yearbook quote was "ig i'm a fart smella."

He is quietly Christian — VOTD, goes to church (not YG, he's too old for YG), reads Psalm 23 + John 10. He reflected on "head knowledge vs heart knowledge" — reads the Bible but doesn't live it out. Admitted he was a "bum" about his faith. Then cracked open Philippians before bed after Fay nudged him. He skips work socials at bars. He got free Starbucks at Ciena and orders the same drink every time. He gave his smoothie to a homeless man who asked.

He is aware he is "a bit too comfortable" and needs to "act less gay." This is said with complete self-awareness. He recommended pink crocs when asked about shoes. He said "wbt pink crocs." as a complete answer.

Signature phrases:

  • "." (as a complete response)
  • "Happy for you" (deadpan congratulations)
  • "Urt" (highest affirmation)
  • "wjsan" (coined by him — we just sayin anything now?)
  • "2 more showers until 2067" (callback joke about Fay's LC count)
  • "idk who u think i am. i cant code." (CS student, UWaterloo)
  • "Sun is up. Buns are up. Wyd." (2am opener)

jackson huang (Jaku)

UW Nano (Nanotechnology Engineering). No co-op this term (applied ~10 jobs, no bites). Lives in Scarborough. Dyed his hair. Gamer — Valorant at 4am, multitasks while texting, CS, Overwatch. His friends pull him into games at all hours. He goes. He always goes.

172-180 lbs, wants to be 160. Is on a cut that keeps starting tomorrow. Does Costco hauls (Greek yogurt, oats, chicken, meat) and tracks 2700/1700 calories in theory. He is a meal prep expert who is in the planning stage of meal prep.

Sleeps 6am-3pm (or later). Cannot fall asleep even when tired. Takes melatonin. Tries to go church morning which is medically inadvisable given the above. Had a car accident at some point — "cooking the car," mom wasn't pissed, rental then new car situation.

He is the most thoughtful one about faith. Finished Ephesians in 4.5 months. Is in Jonah + Ecclesiastes. Goes to church. His Ephesians ch4 breakdown (anger, don't let the sun go down, it opens a door to the devil, speak truth in love, rebuke with love) is genuinely considered. His thesis: "Christ is enough for me." He says this with total conviction, not as a platitude.

He'll be rooming with Justin and some mutual friends next term.

Signature phrases:

  • "anyways" (as a full pivot)
  • "c" (as acknowledgment, crine, or just vibes)
  • "tuff" (top-tier praise)
  • "brilliant" (reserved for things that genuinely earn it)
  • "ia" (I agree, immediate)

the lingo. a full dictionary.

term meaning origin/notes
sic: son i cry the website logo. also just a reaction.
urt ur tuff highest non-ironic compliment
tuff extraordinary; flawless used for everything great
wjsan we just sayin anything now? coined by Justin, day one energy
swwd so what we doin their go-to opener for planning chaos
td / tit true dat / this is true jackson's confirming voice
fg for gen(uine) / for real general intensifier
crine crying (laughing) base emotional state
gwfg gen weeping for genuine beyond crine. reserved for special moments
bfg be for genuine "are you serious right now"
sonion / sunion son + onion = crying so hard when crine doesn't cover it
c jackson's universal sound could mean crine, could mean "I see," could mean yes
gig God is good used sincerely and regularly
acoustic dumb / tone-deaf their version of "bro what"
chud someone goofing; wasting time affectionate insult
kekw laughing (from Twitch) jackson's gamer heritage showing
rb really bad / random banter context-dependent
dwe deep work energy coined on the first Saturday 4am session
remensing reminiscing intentional typo. now canon.
niche unique; specific; special they love this word
ia I agree jackson's immediate response
gts go to sleep usually ignored
fn for nothing; funny as in "that's fn"
ig I guess soft agreement
67 sacred number appears in LC runtimes, streaks, poop counts, battery %, test acceptance rates
"not beating the allegations" confirmed suspicion delivered deadpan
"all roads lead to..." for coincidences recurring pattern recognition phrase
"famous last words" when someone says they're going to sleep and doesn't always applies
"that's in your bag" you've got this; it's yours encouragement
"brilliant" jackson's highest tier praise not given lightly
"tuff" justin's affirmation given freely
385 game pigeon thing justin's domain

the lore. events that define this groupchat.

founding

April 5, 2026. Fay creates the Google Chat Space and invites both. Justin's first message: "?" Jackson's first message: "HELL OTEAM" This is the energy the entire chat is built on.

67 days of food on fanger

The very first bit. Line 51. Day one. Justin owed Fay 67 days of food (or something equivalent). This is where 67 became sacred. It spiraled from there.

saturday DWE

First Saturday. Someone (Fay) was up at 4am grinding. Coined "Saturday DWE." This became a recurring ritual — the sacred DWE deep work session.

the SSSS ban saga

Fay introduced her sleeping sheep persona (SSSS). Justin's immediate response: "BAN SSSS WHO IS SSSS." Fay "banned" them. SSSS kept appearing. Justin kept objecting. SSSS thrives in the chaos. This is ongoing.

the accountability app that was never built

Justin pitched it the first night: a multiplayer poker-betting app for tasks. You bet on things like "67 days of food" or "sleeping on the streets." Stakes are real. App is theoretical. No code written. Jackson and Fay were immediately in. They are still waiting.

poop sync

At some point at UW — Justin and Jackson (and company) all pooped simultaneously. They noticed. They compared notes. Their conclusion: "period cycles synced up." This is accepted as fact.

e7 3am

Engineering 7, 3am. Fay teaching math 138, Jackson gaming, Justin somewhere doing CS things. This is the UW origin story. This is where they were formed.

cmh 8am

CMH study sessions. Another location, another hour, same three people surviving on nothing. Referenced with deep nostalgia.

justin's smoothie

Justin gave his smoothie to a homeless man who asked. This is mentioned once, in passing, not as a brag. He just did it. This is very Justin.

jj in nova scotia

Justin imagined what it would be like to be in NS. He would blast PinkPantheress. He would be fine. He did not go to NS. He is in Ottawa.

the boston/maine road trip

Post-spring term, pre-fall. Justin + Jackson + possibly others are planning a road trip to Boston and Maine. Fay invited herself. Her dad won't allow it. The trip has not happened yet. This is pending lore.

geoguessr king

"No one beating me at geoguessr." Justin identified a desert. He was right. He has not been challenged since.

digit invader

Fay, grade 7, made a drag-and-drop chat app on code.org. It got hacked. She fixed it. Then "Digit Invader" appeared — an older, more advanced user who did counter-hacks and taught her more than any teacher. Nobody knows who Digit Invader was. This is Fay's Batman origin.

fay's art youtube channel

Grade 4. Got a friend from Maine through it. The channel is gone. The friend from Maine may also be gone. The memory remains.

jackson almost drove off the road

"I was def swerving." He was tired. He made it home. He got a car accident at some point (possibly separate — the "cooking the car" incident where his mom handled the rental and then a new car, and was not as pissed as expected). Jackson drives. Jackson sometimes drives on no sleep.

jackson's undropped lore

Referenced as "the gun that was not yet dropped." There is more Jackson lore that has not been revealed. The chat is patient.


faith. the real through-line.

This is not a peripheral topic for them. It's load-bearing.

Jackson is the most systematic — finished Ephesians in 4.5 months, moved to Jonah, Ecclesiastes. His ch4 breakdown on anger is seminary-level for someone who's just reading his Bible. He shows up to church, he prays before sleep. "Christ is enough for me" — said plainly, after Fay posted a red flag, as if that settles it. It does settle it.

Fay goes deep at 3am. Full sermon notes on Luke 13 (the narrow door): Jesus refusing to answer the philosophical question ("will only a few be saved?") and redirecting to the personal one ("make every effort to enter"). Her note on missionaries who left Korea to go to the ends of the earth. The Luke 14 feast parable at her church. 1 Corinthians 13:4-7 at 3am, reading love as a verb, talking it through with Jackson. She says: "If it weren't for Jesus, I don't know what kind of person I'd be" — in the context of having had internet access young and what that could have done to her. She reads KJV. She made a Bible app (koinyou.com). It is not performance. It is the thing she actually is.

Justin is quieter about it — VOTD, church on Sundays (he aged out of YG), Psalm 23 + John 10. He reflected once: "head knowledge vs heart knowledge — I read it but don't live it." He said he was a "bum" about his faith. Then later, after Fay gently pushed, he cracked open Philippians before bed. He doesn't announce it. He just does it. He also skips work bar socials because of alcohol. He gave his smoothie away. These things are related.

They all say "gig" (God is good). They all pray before sleep. The chat sometimes just becomes a prayer group at 1am. This is not weird to them. It is normal.


health, gym, body.

Fay: FitforLess gym. 6/7 days. Incline dumbbell bench: 20→25lbs. Barbell bench: 60-70lbs. Leg days. Getting calluses. "Pattern recognition — I automatically start locking in at night now." She is becoming. She is already becoming. The calluses are proof.

Justin: Started at 15lb dumbbell bench. 129 lbs. Cables advice giver (also the cables advice recipient — he told Fay to do cables, then Fay asked him what to do, and his answer was also cables). Runs 5k sometimes. "Just finished my 5k. Time for bed!" — said at 7:26am after an all-nighter. He works out. He poops a lot. He farted 263 times in one day (self-reported). He is fine.

Jackson: 172-180lbs (target: 160). The cut is always starting. The Costco haul is always happening (Greek yogurt, oats, chicken, meat). 2700/1700 calorie tracking — in theory. He is an expert on what he should eat. Execution is pending. He sleeps 6am-3pm. He takes melatonin. He has a tutor job at 7:30am. These facts coexist.


schedules (circa spring 2026).

person schedule
fay up until 3-5am; DFO starts June 4; Halifax June 4; LeetCode at all hours; gym 6/7 days
justin 9-5 Ciena Ottawa (M-F); weekends Markham visits; 2am-ish; Game Pigeon any hour
jackson tutor 7:30-9:30am (occasionally forces wake); otherwise sleeps 6am-3pm; Valorant 4am; no co-op

The three of them are rarely awake at the same time for the same reason. They are always in the chat.


funny quotes. verbatim.

"i only have two fits for 12 weeks" — Justin on business casual at Ciena

"how do people do this for 40 years" — Justin on 9-5 life, week 1

"I been playing game pigeon all day. Fun day. Phones almost dead." — Justin

"Do cables. Cables are easier to adjust weight. That's in your bag." — Justin, gym sage

"idk who u think i am. i cant code." — Justin Fang, UWaterloo CS

"I think I farted 263 times today" — Justin (counted)

"ig i'm a fart smella" — Justin's yearbook quote

"2 more showers until 2067" — Justin, doing the math on Fay's LC streak

"I need to act less gay I think. Got a bit too comfortable this term." — Justin, self-aware

"wbt pink crocs." — Justin, responding to a question about shoes

"Sun is up. Buns are up. Wyd." — Justin, 2am

"." — Justin (as a complete response, conveying everything)

"Happy for you" — Justin (deadpan congratulations, used sincerely)

"HELL OTEAM" — Jackson, first message ever sent in the chat

"anyways" — Jackson (as pivot, as escape hatch, as a whole mood)

"Christ is enough for me" — Jackson (said flatly, after a red flag, as a thesis statement)

"I was def swerving" — Jackson, describing a drive home that should not have happened

"pattern recognition — I automatically start locking in at night now" — Fay

"If it weren't for Jesus, I don't know what kind of person I'd be" — Fay

"this song is so good" — Fay (no song title provided. never)

"SSSS" — Fay, entering chaos mode

"gig" — all three, constantly

"famous last words" — the chat, every time someone says they're going to sleep


relationship dynamics.

Fay ↔ Justin: The oldest energy. She took the place of a mutual friend in the duo. She nudged him back to Philippians. He banned SSSS (she kept bringing SSSS back). He gave her the cables advice she needed. She is the one who built this chat, this website, this thing. He is the subject and the co-conspirator. They argue about SSSS constantly. It is affectionate.

Fay ↔ Jackson: Faith co-readers. 1 Corinthians at 3am. Sermon notes exchanged. They talk through the hard things — love, prayer, what it means to actually live it. Jackson is the one who can match her depth on this.

Justin ↔ Jackson: The original duo. Roommates next term. They've survived UW together. They pooped in sync at UW. They are going to Boston/Maine. Justin is the "." guy; Jackson is the "anyways" guy. Together they are deadpan + pivot. It works.

All three together: They have Saturday DWE. They have 3am check-ins. They share VOTD. They make plans that half-happen (accountability app, Boston road trip). They hype each other up with "tuff" and "brilliant" and the occasional "gwfg." They are not the same but they make sense together. They always come back to the chat. This is the summer they've documented.


recurring themes.

  1. 67 — everywhere, always, sacred, unexplainable
  2. sleep as a lost cause — all three; all different reasons
  3. faith as foundation — not a topic; a texture. woven through
  4. the cut that starts tomorrow — jackson's perennial condition
  5. gig — they say this like other people say "amen"
  6. "famous last words" — every goodbye is provisional
  7. the accountability app — the thing they're going to build; the thing they haven't built
  8. SSSS vs Day — fay's two modes; Justin hates SSSS; SSSS thrives
  9. cables — the gym wisdom that was given and received and universally applicable
  10. "all roads lead to..." — how they process coincidence; they see patterns everywhere

the number 67.

Fay solved her 67th leetcode problem. The runtime was 67ms. The test acceptance rate was 67%. Justin's battery was at 67%. Jackson's cut will be done in 67 days. Justin paused at 5 poops to try to make it 7 and reach a lucky number. He acknowledged 6 → 67 potential. The number appears constantly, unrequested, in runtimes and streaks and random numbers. They have accepted this. They do not question it. 67 is watching.


what this summer is.

Justin is 9-to-5ing in Ottawa and hating it in the quiet way that's actually just growth. Jackson is in Scarborough, sleeping at 6am, gaming with friends, waiting for fall term. Fay is on her way to Halifax, about to model ocean acoustics for the government and grind leetcode at 3am in a new city.

They are all going somewhere. They are all still here, in this chat, at 2am.

This groupchat is a monument to the in-between — after UW but before whatever comes next. Saturday DWE. E7 3am. CMH 8am. Poop sync. SSSS. Cables. 67. Gig.

This is the summer.


written May 2026. for fay, justin, and jackson.

About

.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors