平成レトロを歪曲し理解した俺がインターネッツ老人会の見本市を作ってしまった話。
はじめに
Windows 98風の個人サイトをReactで作った。
動機は単純で、「個人サイトって今の技術で作ったらどうなるんだろう」という好奇心だ。最初はお遊びのつもりだった。
気づいたら四桁行近いスパゲッティコードと、十数個のイースターエッグが生えていた。
→ https://www.ena-dri.dev
(スマホの方には申し訳ない、PC推奨である。というかスマホほぼお断りの隠し機能ばかり…)
技術スタック
構成はシンプルだ。
- React + TypeScript(Vite)
- スタイル:インラインスタイルのみ(CSS不使用)
- ホスティング:Vercel(無料)
- ドメイン:Cloudflare Registrar($12.20/年)
- 外部ライブラリ:なし
一切のUIライブラリを使っていない。Win98のベベルボタンも、タイトルバーの青グラデーションも、全部インラインスタイルで。
const Win98Button = ({ children, onClick, style = {} }) => (
<button
style={{
background: "#c0c0c0",
border: "2px solid",
borderColor: "#ffffff #808080 #808080 #ffffff",
// ...
}}
onMouseDown={(e) => (e.currentTarget.style.borderColor = "#808080 #ffffff #ffffff #808080")}
onMouseUp={(e) => (e.currentTarget.style.borderColor = "#ffffff #808080 #808080 #ffffff")}
>
{children}
</button>
);
押したときにベベルが反転する、あの感触…。
実装したイースターエッグ
ただし、概要だけ。どうすればでてくるのかはお楽しみ。
深夜猫
文字通り。触ったらなんか喋る。条件満たすと出現。
🦀の雨
特定のコマンドで🦀が降り注ぐ。
それだけ。コマンドは、ね。言わずもがなアレですよアレ。
15パズルが起動する
難易度激高の15パズルが何かしらをトリガーに遊べる様になる。
ひみつ.txt
隠しボタンでポップアップが開く。中身は「なにもないよ!」という一文だけ。本当だよ?クリックしても何もおきないよ?
cat.log
リンク集に小さなボタンがある。押すとテキストファイルがダウンロードされる。
スクリーンセーバー
今はもう古いスクリーンセーバー、当時を知っていればこれは簡単に出せる。
右クリック禁止
文字通り。
ブルスク
おっと、怪しいアイコンを触るとどうなるかわかるね?
「歪曲し理解した」について
もちろん完全再現ではないのだが。
当時、個人サイトをリアルタイムで運営していたわけでもないし、考証に正確性を求めてもいない。GeminiやClaudeに「平成初期の個人サイトのあるあるを発散してくれ」と投げて、面白そうなものを実装したっていう。
だから「歪曲し理解した」という表現になった。俺自身30は超えたがwin98時代で小学生、断片でしか記憶してない。俺の青春はXPだ(?)
🦀が降ってくるのは当時のあるあるではないと思う。でも「急に何かが降ってくる」というノリは、あの時代のインターネットに確かにあったと思う。
ソースコードは見れる
ブラウザのDevToolsを開けばビルド済みのJSが読める。minifyはされているが、読もうと思えば読める。
おわりに
お遊びのつもりで始めた企画だけど、ドメイン取得・Vercelデプロイ・Supabase連携まで全部整ってしまった。$12/年で遊び放題。。。
今後はここに各アプリのLPも生やしていく予定だったりする。いい勉強になった。
因みにまだまだ隠し機能は増やしていくつもりである。Reactで。懐かしさや「んなわけw」っていう感情が芽生えていただければコレ幸い。
あ、キリ番踏んだらBBSに書き込んでくださいね?(強制