WEBアプリ
Searchlights

ボードゲーム「シティチェイス」をパクったブラウザゲーム。
犯人1人が街のビルに車を隠して逃げ、警察がヘリコプター3機で12ラウンド以内に見つけ出す。
1台の端末を2人で回す交代モード、相手をCPUが持つモード、ロビーでルームを立てるオンライン対戦がある。オンラインは1対1と、警察を3人で持つ4人形式。
フロントエンドはSolid.js + ViteでCloudflare Pagesに、APIはCloud Run + PostgreSQLで動かしている。
excess

excess — ブラウザで動くCSV/TSVビューア&エディタ。
ExcelなしでCSVファイルをサクッと開ける。大容量ファイルにも対応。
カラム幅を自動調整、フィルタリング、ソート、様々な形式へのエクスポートなど、いろいろできる。
サーバーサイドの処理はなく、全てブラウザ上で完結する。
ファイルもサーバーにアップロードせず、OPFSを使ってローカルで処理する。
ブラウザのタブを閉じてもファイルは消えないし、同じブラウザであれば別のタブからもアクセスできる。
soluid Components

solid.js 用のコンポーネントライブラリ。 package.json にインストールするのではなく、スタンドアロンで動作する。
npm package: https://www.npmjs.com/package/soluid
Soluid Components のコンポーネントカタログ兼デモページ。
AACHAT

映像がアスキーアートに変換されて表示される簡易ビデオ通話ツール。
共通のキーワードを入力した2ユーザー間で、1−1の通話ができる。
ちなみに、普通に映像を表示するほうが、実装は簡単。無駄にテキストに変換していると言える。
WEBRTCを使うが、シグナリングに自前のPipingServerを使う。
シグナリング成功後はP2Pで直接通信するため、サーバーが不要というところが素晴らしい。
P2P接続できない場合は接続不可。(TURNサーバー無し)
ただ、ミュートやカメラオフなどの、実用的な必須機能がほとんど未実装。
Rufly

ウェブページを要約・翻訳するChrome拡張機能。
TILT.

Playdate向けのゲーム。加速度センサーで本体を傾けてボールを転がし、ゴールを目指す。
Sideloadでインストール可能。
このゲームのBGMをYoutube にアップしてます。 TILTのサウンドトラック
PEERFACE

WebRTCを使ったP2Pビデオ通話アプリ。
CloudFront + S3 + CloudRun + NeonDBで構成。 Nest.jsでAPIを書いて、Solid.jsでフロントエンドを書いている。
パスキーのデモ

パスキーのデモサイト。
パスキーを使って登録してログインすると、パスキーを更に登録したり、それらを使って認証をテストしたりできる。
Claude Code を試すために作ったので、無駄にi18n対応したり、無駄にデザインを切り替えられるようになっている。
APIはRustで書いてビルドしたバイナリを乗せた小さいLWA入りのイメージをLambdaにデプロイ。 フロントエンドはSolid.jsで書いて、S3にデプロイしている。
Pulumiでデプロイした。
Rust でAPIを書いて、Lambda に乗せてPulumiでデプロイする実験でもある。
PipingServer

AA電話のWebRTCで無理やりシグナリングに使っているPipingServer。
ブラウザでアクセスするとデモページが開くが、コマンドで利用できる。
本来の使い方としては、一方からテキストを送信して、他方で1回だけ受信できるサーバー。
/p/の後に適当な名前をつけて、そこにテキストをPUT methodで送信すると、別のシェルから同じURLにGET methodで受信できる。
送信側
echo "こんにちは。" | curl -T - https://ppng.urtell.com/p/sample-hoge
受信側(別のターミナル、別のPCで)
curl https://ppng.urtell.com/p/sample-hoge
こんにちは。
rusterd-demo
rusterd (ER図DSLコンパイラ) のデモページ。
NFC Writer
NFCタグにURLやテキストを書き込めるWebアプリ。
プロフィール画像生成ツール
適当なアバター画像やヘッダ画像を生成するツール。
PNG, WebP形式でダウンロード可能。
Favicon生成ツール
画像をアップロードしたらFavicon(.ico形式)が返ってくるツール。
Facial
face-api.js を使って、表情を検出できるかどうか試してみたページ。
いきなりカメラ起動するので怖いけど、何も記録してません。
表情を6種類の感情の割合で解釈してくれる。
人間の表情が6種類なわけないし、精度は微妙。
fearful を出すのが一番ムズい。
Braille Pattern Generator
画像をアップロードすると点字文字を使ったテキストを生成するツール。
CLIツールもある。