Princeton Powerlifting

Princeton's student powerlifting club, where Kevin is a member and competitor, and the club website and code-generated brand system he built for it at powerlifting.kevinliu.studio.

Facts

Field Value
Site https://powerlifting.kevinliu.studio, HTTP 200 on 2026-11-03 (also /brand). Source: curl -sI, 2026-11-03
Second host https://princeton-powerlifting.vercel.app, HTTP 200 on 2026-11-03. Source: RESUME.md; curl -sI, 2026-11-03
Repo https://github.com/Kevin-Liu-01/Princeton-Powerlifting, private, default branch main. Source: gh repo view, 2026-10-30
Stack Next.js 16.4.2 App Router (statically rendered, no backend), React 19.3, TypeScript, fflate for ZIP export, playwright-core for render scripts. Source: package.json; README.md
License No license file. Club photos and video in public/media are not licensed for reuse. Fonts are SIL OFL. Source: README.md; gh repo view, 2026-10-30
Commits 19, from 2026-10-17 (fc212b6) to 2026-11-03 (5667293). Source: git log and git rev-list --count origin/main, git ls-remote, 2026-11-03
Hosting Vercel team kl01s-projects, project princeton-powerlifting, Vercel DNS on kevinliu.studio. Source: RESUME.md
Status Live. A new landing shipped on 2026-11-03. Source: curl -sI and git log, 2026-11-03

The club

Princeton Powerlifting is the university's student powerlifting club. The site describes it as open to every student with no experience needed. Practice is in the Dillon Gym Power Studio, and competing is optional: the Ivy League Cup in fall, Collegiate Nationals in spring. Source: README.md; lib/data.ts PRACTICE, FAQ The club's Instagram handle is @princeton_powerlifting. Source: README.md

Kevin competes

Kevin lifted at the Ivy League Cup in November 2024 (Albany, eight club lifters) and in November 2025. Source: lib/data.ts MEETS His 2025 result on the site: 75 kg class, squat 182.5 kg, bench 132.5 kg (an all-time PR), deadlift 205 kg, total 520 kg, Dots 373.86, seven of nine attempts good. The site records the club's 2025 result as 3rd place team. Source: lib/data.ts LIFTERS kevin-liu, MEETS ivy-2025, CLIPS

Powerlifting sits beside Sympoh and bouldering as one of Kevin's physical-discipline threads. Source: a private people page, 2025-11-09; private page He keeps his program going through work crunches. Source: Strength Training

What the site does

  • The platform (home, since 2026-11-03): a bar on a platform replays each lifter's best squat, bench and deadlift from the roster, loaded with real plate math (a 20 kg bar, 2.5 kg collars and colored plates), with three referee lights and the weight in kg or lb. It pauses on hover, focus, when off screen and under reduced motion. Source: RESUME.md, 2026-11-03; components/Platform.tsx
  • Lifters: the best totals in club history, alumni included. Hovering a lifter shows the meet clip, each attempt with referee lights, weight class, placing and Dots. Source: README.md
  • kg / lb: one switch flips every weight. Both values are in the HTML and CSS shows one, so nothing flashes on load. Source: README.md
  • Film, Meets (every meet since November 2024) and Join (practice schedule, FAQ, contacts). Source: README.md
  • Brand (/brand): logo builder, every mark in six colorways with a download chip per colorway, one-ink versions, color, type, an 84-icon pack and an archive of retired marks, with SVG, PNG and ZIP export. The Princeton rules section left the page on 2026-10-30; the README keeps it. Source: README.md; RESUME.md, 2026-10-30; curl -s /brand, 2026-10-30

All content lives in lib/data.ts: lifters and results in kilograms, meets, clips, photos, practice times, FAQ and links. Adding a lifter or a meet there updates every page. Source: README.md /team redirects to /lifters. Source: next.config.ts; curl -sI, 2026-10-30

The marks are code

Every logo, wordmark, colorway and icon is generated from TypeScript and exported as SVG. Source: README.md

  • lib/brand/letters.ts: a chamfered block alphabet built as polygons.
  • lib/brand/tiger-front.ts: the live mark since 2026-10-30, a head-on carved tiger in orange, chalk and iron. The three-quarter head it replaced (tiger-sharp.ts, live 2026-10-17 to 2026-10-30) is on the brand page Archive. Source: README.md; RESUME.md
  • lib/brand/marks.ts: primary, emblem, tiger, patch, horizontal, wordmarks, belt, plate, bar, monogram and stripes, each a function from colorway to SVG.
  • lib/brand/icons: 84 icons on a 24 grid, stroke 2, mitered. Source: README.md

Colors: Iron #0B0B0C, Tiger #F58025, Red Light #E2231A, Chalk #F4F1EA. Type: Katagami Sans and Katagami Mono, from private page. Source: README.md pnpm brand writes every asset to public/brand/; pnpm kit builds a vendor gear kit into raw/kit/ locally; pnpm render draws headless review sheets. Source: README.md

Kevin's decisions and rules

  • Logo taste: hand-drawn, angular, aggressive, serious rather than cartoonish, never round. He picks from side-by-side sheets, so send renders early and iterate in small variations on his pick rather than redesigning. Source: memory princeton-powerlifting-project.md
  • When he asks to "clean" the tiger he means removing clutter and stray merges, not thinning bold features. Source: memory princeton-powerlifting-project.md, 2026-10-30
  • The tiger's teeth must never form a "W". No one-sided borders. Minimal text and an icon wherever there is text. The site has its own black, orange and red sports look and uses the Katagami fonts without copying the Katagami site. Source: memory princeton-powerlifting-project.md
  • Princeton treats any tiger, stripes, paw print or letter P as its marks. Anything printed or sold with them needs written approval from the Office of Trademark Licensing and a licensed vendor. The wordmark, the bar and the bar plate are cleared. Never use the seal or shield, never pair with USAPL or sponsor logos without permission, never put current students' names or photos on merchandise. Source: README.md
  • Gear mockups stay hidden until real gear exists; Kevin sends the gear vendor, Avancus, the SVGs himself. Source: RESUME.md, 2026-10-30
  • The repo stays private until teammates approve their photos. Ask Kevin before making it public. Source: RESUME.md
  • The landing (2026-11-03): Kevin asked for "a more awesome landing page" and liked the "Lift with us" style. He rejected the first version as a copy ("make it something better and unique"), took the platform, then had it cut back as "too busy and cluttered". Earlier versions are kept under raw/landing/. Source: RESUME.md, 2026-11-03
  • On 2026-10-30 Kevin ruled that the tiger and P marks are the club's own custom marks ("its our own custom"), so his portfolio may show them without a trademark-licensing sign-off. The README still carries Princeton's licensing rule for printed or sold goods. Source: Personal-Website memory owner-rights-decisions; README.md

Deploys and security

Production deploys are Vercel CLI deploys (vercel deploy --prod --yes --scope kl01s-projects); the project is not Git-connected. Vercel blocks a deploy whose commit author is not on the team, so commits use the GitHub noreply identity. Source: RESUME.md; memory princeton-powerlifting-project.md

A Cloudflare security-audit quick run on 2026-10-23 found no confirmed issue and hardened the deploy. The open items are tracked in the repo's docs/security/2026-10-audit.md. Source: docs/security/2026-10-audit.md

Working state

The site is one of the projects on Kevin's private page domain, which is on Vercel DNS with a wildcard record, and it runs in Kevin's personal Vercel team kl01s-projects. Source: ~/birthdayland-product/docs/product/platform.md; RESUME.md It uses the private page typefaces. Source: README.md The story side of the club is in private page.

Open items

Open questions for Kevin

  • Was the November 2025 3rd place individual or team? The site says "3rd place team" and dates the meet 2025-11-22, while the wiki's message log dates the result 2025-11-09.
  • Numbers: current SBD bests since the 2025 meet, training cycle and goals?
  • Programming and coaching: what program, who coaches, who is your training partner?
  • Origin: how did you get into powerlifting and the club?
  • Identity: what does powerlifting give you that work, dance or bouldering don't?
  • Connection to building: does the discipline of training carry into how you build, or stay separate?
  • Should the repo become public once teammates approve their photos?
  • Does the 2026-10-30 ruling that the marks are the club's own also lift the README's Trademark Licensing rule for printed gear?

Timeline

  • 2026-11-03 | Took private people's names and resume detail off this public page. Source: privacy rule for public pages, 2026-11-03 Applied review fixes: commit count, head and working state brought to 5667293. Source: projects lane review, 2026-11-03
  • 2026-11-03 | The home page became the platform, which replays the club's best lifts with plate math (4110c19 to 5667293). The tiger backdrop returned with platform transitions (3f2d8c6), and a loader's chart was added beside the buttons (5667293). Brand downloads per colorway had shipped on 2026-10-30 (9bbd2c9). Source: git log; RESUME.md
  • 2026-10-30 | Rewrote the page around the club website and brand system at powerlifting.kevinliu.studio, Kevin's meet numbers from the site's data, his logo rules, deploy rules and open items. Removed the stub status. private page
  • 2026-10-30 | The head-on carved tiger became the live mark; the three-quarter head moved to the brand page Archive; gear mockups were hidden and per-mark approval tags removed (4d3844a to 52fd93a). Source: git log; RESUME.md
  • 2026-10-24 | Security audit fixes (ca20b10) shipped with a CLI snapshot deploy. Source: memory security-audit-runs.md
  • 2026-10-23 | Cloudflare security-audit quick run: no confirmed finding; https GroupMe link and .vercelignore hardening. Source: docs/security/2026-10-audit.md
  • 2026-10-18 | Head-on tiger added to the repo (3ec7229). Source: git log
  • 2026-10-17 | First commit (fc212b6) and private GitHub repo; the curved three-quarter tiger went live. Source: git log; gh repo view
  • 2026-10-16 | Site deployed to powerlifting.kevinliu.studio before the code was in git. Source: memory princeton-powerlifting-project.md
  • 2026-07-01 | Project graph refresh checked this page against Kevin's live GitHub inventory and PortfolioMon scrape. No direct repo/card match was promoted here, so the page remains a context or umbrella project page. Source: raw/github/kevin-repos-2026-07-01.json; raw/sites/kevinliu-biz-2026-07-01/portfolio-projects.json
  • 2026-06-07 | Recorded that Kevin competes and placed 3rd at a late-2025 meet. Status moved from awaiting Kevin input to needing deeper Kevin-specific context. Source: a private people page, 2025-11-09
  • 2026-04-21 | Stub created as part of institutions-batch-2026-04-21. Log mention only. private page
  • 2025-11-22 | Ivy League Cup 2025 as recorded in lib/data.ts: Kevin totals 520 kg at 75 kg; club result 3rd place team. Source: lib/data.ts
  • 2025-11-09 | A 3rd-place powerlifting result recorded. Source: a private people page
  • 2024-11-09 | Ivy League Cup 2024 in Albany, NY: Kevin is one of eight club lifters. Source: lib/data.ts