ウェブ制作会社ICS代表。筑波大学非常勤講師。HTML/CSS/JavaScriptを用いたユーザビリティーを意識したUI構築が専門で、3D表現・クリエイティブコーディングが得意。著書『フロントエンドの知識地図』など技術書14冊を執筆。趣味でタイムラプス撮影。

東京都品川区
Based in Japan
モンサンミッシェル到着時は豪雨でしたが、屋内観光後に天気が急に回復。 風速30km/時の強風で、いっきに雲が流れたおかげです。それもあり、雲が流れるタイムラプスを撮影できました。 二枚目の場所にでて撮影。干潟は短時間に潮が満ちるので、気をつけながらの撮影でした。 日本では平安時代ごろに、フランスではこんな立派な教会を建てており、東西文化の進化の違いに想いを馳せていまし た。
1
8
995
この前のフランス出張では、モンサンミッシェルにも。 タイムラプスで撮影したら、海に鏡面反射して幻想的でした! カメラ LUMIX S1R2
1
48
4,115
最近リリースされたReact 19.3で <ViewTransition>コンポーネントが正式搭載。 画面間を連続的につなげた演出に役立ちます。 CSSとJSXで宣言的に書けるので、 生JavaScriptより簡単。
1
8
100
7,187
フロントエンドカンファレンス関西で登壇することになりました! ・10月12日 (月・祝) ・場所:グラングリーン大阪 私は「HTML-in-Canvas」をテーマに話します。 関西での登壇は久しぶり🐙 ぜひお申し込みくださいませ。 公式サイト→ 2026.frontend-conf.osaka.jp/
1
13
71
7,005
う、うごくぞ……! iOS 27.0 Safariで、HTMLの <select>・<option>タグのCSSが……🙌
2
90
740
180,903
Safari 27.0が正式リリース! HTML・CSSに便利な機能が盛りだくさん。
4
99
442
40,918
Three.jsカンファレンスの興奮も覚めやらぬうちに東京に戻ってきました。 多くの世界中のクリエイターとお話し刺激をもらったことを、明日からの日々の仕事に活かしていこうと思います。 #threejsconf #threejsparis
3
3
69
4,030
パリ最終日はエッフェル塔を撮影。 セーヌ川の美しい朝焼けに出会えました! #threejsconf #threejsparis
3
43
2,832
Three.jsカンファレンスの最後は、船上パーティー。 素晴らしい会で締めくくりました。 #threejsconf #threehjsparis
4
1
132
5,021
Three.js カンファレンス、みんなFlashのこと言及していて好きすぎだろ!って思いました 笑 #threejsconf #threejsparis
5
5
81
3,923
Three.js conf、セッション終わり! クリエイティブ系のサイトが数多く、技術と創作を学べる素敵なカンファレンスでした! #threejsconf #threejsparis
69
2,458
Three.js Journeyの Bruno Simonさんの発表。 かつてのFlashサイトを紹介する文脈で城戸さん作のサイトが一瞬紹介されていました。 #threejsconf #threejsparis
3
847
JavaScriptライブラリー「math」、 良さそう! ・カメラをなめらかに追従させる ・地形の凹凸を作る ・計算速度も速い React Three Fiberの人たちが作っている。 npm i mathでインストール可能。 #threejsconf #threejsparis
6
70
5,572
二日目、Renaud Rohlingerさんの発表「Performance and Tricks」が次元が高過ぎてヤバい感じでした。 パリまできた価値がありました…!! #threejsconf #threejsparis
2
5
1,223
二日目がはじまりました。 Popcorn maniaの話から。 #threejsconf #threejsparis
1
1,045
エッフェル塔とセーヌ川。 パリの夜景が美しすぎて、タイムラプス撮影が楽しいです! カメラ:LUMIX S1R2 #threejsconf #threejsparis
2
50
2,815
mrdoob氏の発表は、開発の根底にあるようなお話しでした。デジタルとの関わりの始まりや、AIの急速な進化でできるようになったことなど。 深いインスピレーションを得ました。 #threejsconf #threejsparis
1
3
1,153
まさかの、手作り! #threejsconf #threejsparis
1
1
6
1,114
Anime.js の作者も登壇。 タイムライン編集でAnime.jsのコードを生成。 タイムラインのスタッガー(バラつき)指定もユニーク。 このツール、かなり良さそう! #threejsconf #threejsparis
1
14
146
7,197
HTML in Canvas のサポート状況。 明言はされていませんが、Chromeでのリリースは近い、といった話をされていました。
1
1
8
1,412
Chrome プロダクトマネージャー のトーマス・ナッテスタッドが登壇。 HTML in canvasの話。 いま、ウェブで最も革新的で注目的な技術ですね。 #threejsconf #threejsparis
1
2
1,040
エンジニアのカンファレンスで、ヒップホップダンスが始まるというサプライズ!  (凄腕登壇者のクリエイティブの文脈で) #threejsconf
1
5
760
Three.jsカンファレンスにて、 アニメーションライブラリの GSAP 4が発表されました! ☑️前バージョンに対して性能向上 ☑️スプリングの位置モーションを搭 ☑️Web Animations APIプラグイン ☑️Threeプラグイン GSAPの利用は指数関数的に伸びているそう。これは熱いですね! #threejsconf
3
56
430
23,500
GSAPの話も。 Flash時代のTweenMAXの話とか旧サイトを紹介したり、懐かしい! #threejsconf
1
1
6
1,029
映画館みたいな部屋に移動。 フランスのカンファレンス会場、すごい! #threejsconf
1
8
1,480
会場では、コーヒーやパンなど振る舞われています。 ちなみに席はなし? もしかして一日中、立ち見かしら😅 #threejsconf
1
4
1,450
パリで開催のThree.jsカンファレンスにきました! #threejsconf
3
6
220
10,801
私の作例サイトをリニューアルしました! ウェブ技術で作ったデモを掲載しています。 ・2008年からの18年分のデモを掲載 ・HTML, CSS, JS, WebGPU, WebGL等 ・旧Flash作品は移植やエミュレーターで再生可能に ・ホバーで作例をプレビュー ・Angular→React + Next.js構成に ぜひご覧ください!
1
10
109
6,339
ICS MEDIAでは2016年に記事を公開していましたが、今回表現をブラッシュアップ(私がリライトしました)。 ←2016年 2026年→ 技術の進化と、誰が作るかでこんなに変わるという例です!
1
2
978
Three.js(WebGPU)とJavaScriptで作る魔法陣。 ゲームのセーブポイントをイメージして、 地面から光が湧き上がるエフェクトに仕上げました。
3
11
205
13,832
パリにきたので、エッフェル塔の夕暮れをタイムラプス撮影してきました。 「鉄の貴婦人」と言われますが、緻密ながら壮大なスケールで圧倒されました。 カメラ:LUMIX S1R2 レンズ:LUMIX 14-28mm
1
64
4,338
ChatGPTのGPT-6 Astraで作ったThree.jsのデモ。 東京→パリの飛行機以内で、スマホから指示を出して作りました。座席のスカイマップみたいなデモです。 JavaScript・CSSとか良い感じ。Astra凄い!
4
25
260
25,627
グリーランドを過ぎたあたりの進捗。
1
2
801
アラスカ上空での進捗報告。 GPT-6 Atrasにスマホから指示させて、コードは一切見ず、Three.jsとWebGPUで作らせています。
2
5
2,672
Three.js Conference Parisに行くいい機会なので、太平洋フライト中の飛行機から、デモを作って公開を目指してみます。 リリースされたばかりのChatGPT 6 Atrasを使って、どこまでできるか挑戦。 #threejsconf
1
29
5,610
SIGMA 135mm f1.4 DG Artを装着。 レンズの威圧感が凄い感じです。 #SIGMAお試し #Lumix
5
999
SIGMA 135mm f1.4 DGという超デカレンズで撮った都内の夜景。 気持ちいいぐらいパキッと撮れて、楽しいです。 カメラ:LUMIX S1R2 ※ハイレゾショット(1.7億画素) #SIGMAお試し
1
3
35
3,366
←2008年 / 2026年→ 18年続けて、ウェブ技術を使った 自分の表現力はこう変わりました。
4
33
548
43,874
8月最終日なので夏の思い出に JavaScriptで打ち上げ花火を作ってみました。 Three.js(WebGPU)を使ったパーティクル演出です🎆
9
48
462
23,357
JavaScriptで炎上させてみました🔥 WebGPU(Three.js)で大量の火の玉を表現。 ドローコールを最適化したので、軽やかに動作します。
5
22
243
28,792
JavaScriptでの物理演算。 大量の粒子が滑らかに動くと楽しいものです。 技術として、WebGPU(canvasタグ)とWebAssemblyを使っています。
10
118
1,348
321,261
今日の都内の夕焼け。 渋谷上空を、崩れた積乱雲が覆い被さっていました。 カメラ:LUMIX S1R2 レンズ:LUMIX 14-28mm + Nisi GND
16
2,108
CSSのスクロール・トリガー・アニメーション。 フワッと出現する演出が、CSSだけで簡単に作れます。 Chrome・Edge 146(2026年3月リリース)以上で利用可能。
2
14
162
10,609
今日の青空。 長時間露光(2分)で雲を流してみました。 カメラ:LUMIX S1R2 レンズ:Panasonic LUMIX S 14-28mm F4-5.6 MACRO
1
1
13
2,960
今日、Firefox 154がリリース。 待望のCSSに対応。 ①sibling-index()・sibling-count():バラバラっと出現させたり ②text-box : ボタン等でテキストの天地中央配置に役立つ これで全ブラウザで利用可能になりました。
2
37
190
14,310
今日の夕焼け。 大いに染まって綺麗でした。 Camera: Panasonic LUMIX S1R2 Lens: SIGMA 14-24mm f2.8 DG DN Art
1
4
48
3,361
夏の青空。 この季節の雲は見ていて気持ちが良いですね。 カメラ:Panasonic LUMIX S1R2 レンズ:SIGMA 14-24mm f2.8 DG DN Art
21
2,060
JavaScriptの主要コードはこれだけ。 gsapのプラグインは便利です。 解説記事→ ics.media/entry/220826/?utm_…
1
3
1,202
今日はGinza.jsに。 JavaScriptの話を聞けるのが楽しみ。 会場、オフィス内に芝生があります⛳️ 銀座にあるオフィスは違う…! #ginzajs
1
24
3,674
スクロール駆動演出   + テキストアニメーション の王道パターン。 JSライブラリのGSAP(ScrollTriggerとSplitTextプラグイン)を使うと、少ないHTML+CSS+JSのコードで実装できます。
2
5
82
5,993