ASIA / TOKYO00:00:00
ZFILMS©
LOADING000%
ZFILMS©
ASIA/TOKYO00:00:00
SPIKES

{ IVS / SPIKES }

Web · 2026

View live ↗

SPIKES

学生ピッチ祭典の LP。80 軸の Tweak デザインシステム (enum 37 + slider 43) と LiquidMetal シェーダーで世界観を量産しつつ、Notion(認定団体マスタ) × Google Sheet(招待数) × 4S API(live 子孫数) を entryId で突合し、4S が落ちたら Sheet 値へ degrade する GUILD 運営基盤も自前実装。

Services
DesignWebGLFrontend
Client
IVS / SPIKES
Production
ZFILMS × 4S
Year
2026
COMMITS882
LINES+279,800
TWEAK 軸80
シェーダー面16
WebGL 実行8
認定団体ロゴ44

裏側の仕組み — 量産デザインシステム

SPIKES の見た目は「作り込み」ではなく「量産」で立っている。1 つの軸定義から全要素の見た目が生成され、テーマを差し替えるだけで別世界観のヒーローが生まれる。その中枢を実物シェーダーとモーショングラフィックスで見せる。

実装の現物 — LiquidMetal ロゴシェーダー (本番の render path そのもの)

// MOTION 1つの液体金属シェーダーに7種のロゴを流す本番の render path。

実装の現物 — Tweak デザインシステム (80 軸 → 6 プリセット・触れる)

TWEAK1 つの軸定義を切り替えるだけで、世界観ごとデザインを量産する

// MOTION 実測80軸のうち1軸を6プリセットで切替え、世界観ごと量産する。

実装の現物 — GUILD — 3 つのデータ源を 1 つの認定団体ランキングに

GUILD3 つのデータ源を 1 つの認定団体ランキングに束ね、重複人物は運営が承認する

// MOTION 3つのデータ源を1つの認定団体ランキングに束ねる本番の実装。

本番サイト — 実ページを触る・覗く

メイン LP だけ live で埋め込み、同じシステムから量産されたサブブランド LP や運営基盤はスクショと要点で紹介する(カードにマウスを重ねると中身が展開/自動スクロールする)。

メイン LP (実ページ live)OPEN ↗

// LIVE Hero は hero.mp4。WebGL は実質1個で「回さず済ませる」設計。

同一システムから量産された各ページ (スクショ + 中身)

spikes.4s.link/guild
GUILD — 審査制リファラル制度▲▼ auto-scroll
GUILD — 審査制リファラル制度OPEN LIVE ↗

認定学生団体 44 組を招待数ランキングで公開。招待数は Google Sheet の値を 4S API の live 子孫数で上書きし、20 / 10 / 5 名で PLATINUM / GOLD / SILVER に分類。5 名で団体ロゴ掲載、10 名で GUILD グランプリ登壇、20 名で POP UP 出展権が解放される。

spikes.4s.link/habatsu
HABATSU — 派閥▲▼ auto-scroll
HABATSU — 派閥OPEN LIVE ↗

4S.link の URL を貼り 11 派閥から所属を選ぶと、X / Instagram にそのまま貼れる 1080×1350 の参加表明プロフィール画像を発行するジェネレータ。

spikes.4s.link/map
MAP — 会場マップ▲▼ auto-scroll
MAP — 会場マップOPEN LIVE ↗

IVS2026 会場内 SPIKES エリア (全長約 30m × 幅約 18m・7 ゾーン) の見取り図。メインステージ・SQUARE ラウンジ・POPUP ×22・BLITZ お立ち台・スポンサー卓の位置関係を 1 枚で示す。

spikes.4s.link/staff
STAFF — 運営クレジット▲▼ auto-scroll
STAFF — 運営クレジットOPEN LIVE ↗

代表・東西統括・マーケ・コンテンツ・プランナーの運営コアメンバーを顔写真 + 大学・役職バッジで掲載。東京-京都-関西を行き来して 2,000 名規模の祭典を組み立てるチームの実名クレジット。

spikes.4s.link/nomad
NOMAD — 宿泊マッチング▲▼ auto-scroll
NOMAD — 宿泊マッチングOPEN LIVE ↗

IVS 京都の 3 日間を「宿」ではなく「仲間の家」で過ごす SPIKES SIDE PROJECT。京都の大学生 50 家を解放し、関東圏から来る 200 名に泊まる場所をマッチングする。

spikes.4s.link/news
NEWS — お知らせ▲▼ auto-scroll
NEWS — お知らせOPEN LIVE ↗

募集締切・イベント告知・プレス掲載を流す自前 CMS のお知らせ一覧。content/news.json を真実源に、/admin から編集 → GitHub commit → 自動再ビルドで反映される。

実演 — 固有機能をそのまま動かす

// LIVE DEMO — 実挙動の再現

shader 面 16 / WebGL を持つのは 8 — 回さずに済ませる 3-tier

シェーダー面は 16 あるが、実際に描画するのは 8 だけ。残りは静止画に固定して描画を止めるので、埋め込んだメイン LP は同時 1 面ほどで軽く動く。

// LIVE DEMO — 実挙動の再現

派閥ルーター — プロフィールを自動で仕分ける

プロフィール (肩書き / 自己紹介 / スキル / 所属) を読み取り、11 派閥へ自動で仕分ける実ルールエンジン。画面の判定結果は本番と同じ関数の出力。

// LIVE DEMO — 実挙動の再現

統合名鑑 DB (サンプル再演)

3 つのデータ源から流入した参加者を 1 枚の名鑑に統合する運営画面。団体名の表記ゆれ (法人格や空白の有無) を自動で吸収し、重複人物は運営が承認する。

WHAT'S INSIDE

01

Tweak デザインシステム 80 軸

enum 37 + slider 43 を単一真実源で型定義。buildTweakAttrs() が <html data-*> + CSS 変数へ純関数展開し、SSR で FOUC ゼロ。プリセットは noir / platinum / blade / dune / oilslick / solar の 6 種。

02

GUILD 三源突合 + degradation ladder

Notion(cron → Neon ミラー) × Google Sheet CSV × 4S API を entryId で突合。4S が落ちたら Sheet 値へ degrade し、取り切れなければ「概算」と明示する。落ちないランキング。

03

サブブランド / 機能ページ × 13

BLITZ / STAGE / SQUARE / POPUP / GUILD / NOMAD / HABATSU / STAFF / NEWS / MAP / 公休ジェネレーター…。1 つのデザインシステムから世界観別ヒーローを量産する。

04

3-tier シェーダー予算管理

live / frozen (1.5s → snapshot → context 解放) / static (WebGL 0) の 3 段と concurrency 3 の preload queue で、16 面の shader を context 上限に触れずに配る。

05

個人情報の法令準拠実装

pii_vault / crypto-shred / tombstone / 個情法27条の org 隔離 (scopeToOrg) を自前実装。名寄せは auto (score 950) でも自動統合せず人間承認を通し、不変条件は vitest で固定する。

06

運営基盤の自前実装

申請・突合・承認・追跡まで運営の裏側を丸ごと内製。正本は Neon(Postgres) の統合名鑑 DB、表記ゆれは normalizeOrgName() で正規化し、統合は承認 UI で目視確定する。

Next projectXDEALIVS / XDEAL · 2026