「終わった気持ちよさ」を設計する。95%→100% をあえて 750ms 遅らせ、「完了の余韻」を作ると決めた。
95%→100%を750ms遅らせるだけで、レビューが終わった気持ちよさがかなり増えた。
066796c — たった2行で、レビューの締めに CodeLensAI 自身の哲学 を刻む。「引用ではなく、自分の言葉」と決めた日。
今日は49点から始まり、修正を重ねて61点まで改善した。でも、一番価値があったのはスコアではなかった。「49点を取るアプリ」から「レビューAIを育てるための教材」へ変わったこと。
066796c はたった2行の追加だったけれど、CodeLensAI がどういうプロダクトでありたいかという意思をコードに刻んだコミットになった。コミットメッセージはこう残した ── CodeLensAI's own philosophy, not a quote.
作り切ることが第一歩。改善を続けることがエンジニアリング。 コードは動けば役目を果たす。でも、コミットは「なぜそうしたか」を未来へ残せる。今日の学びは、61点になったことではない。スコアより長く残るものをコードに刻んだこと。
Public Beta を世に出す。 「動くもの」を公開し、同時に自作AIが指摘した脆弱性を自分で塞ぐと決めた。
症状の場所と、原因の場所は違う。「13% で止まる」は worker やキューの問題に見えたが、真因はフロントのプロトコル不一致だった。裏ではジョブはとっくに完成していて、画面が答えを取りに行けなかっただけ。原因を上流だと思い込んでいる間、答えはずっと一番手前にあった。
そしてこの日、禅問答に答えが出た ── 自作AIが指摘した自分のプロンプトインジェクション脆弱性を、自分で塞いだ。
機能より先に CI。 「増やす」より「未来の自分が壊さない仕組み」を優先する、と順番を決めた。
「動く」と「これからも壊れない」は別物だった。Public Beta を出した翌日に真っ先に CI を置いたのは象徴的で、機能を増やすより先に"未来の自分が壊さない仕組み"を用意した。緑のチェックは、今日の証明じゃなく明日への約束だ。
自作で押し切る。 行列演算もパーサも寸法フォントも外部に頼らず、自分の手で通す方針を固めた。
Web(Rails・Laravel)とネイティブ(C++・OpenGL)を行き来する日。CodeLens は「体験を設計する」、FrameLens は「見えないものを見せる」。方向は違うのに、根っこの"使う人がどう理解するか"は同じだと気づいた。手を動かすほど、自分の軸が一本なのが分かってくる。
単一スコアをやめる。 Portfolio Quality / Production Readiness の 二軸評価 へ舵を切ると決めた。
「作って終わり」ではなく、自分のツールでレビューし、改善し、その結果まで確認したことが今日一番の価値だった。面接で「品質をどう確認しましたか?」と聞かれたら、この自己レビューサイクルを具体例として話せる。
また、CodeLensAI に改善案が見えた。単一スコアではなく Portfolio Quality / Production Readiness の二軸評価の方が、作品の意図を正しく伝えられる。
決定論的レビューへ着手。 temperature 固定・コミットSHAキャッシュ。「占い」をやめ「道具」にする設計を選んだ。
FrameLens の自己レビューで見えた「二軸」の気づきを、そのまま CodeLens に返す日になった。作品を作る → 自分のツールでレビューする → その学びを次の改善に回す。プロダクトが一つずつ独立してるんじゃなくて、互いに育て合っている。
Repository DNA を新設。 レビューを「終わり」から 「入口」 へ。同じコミットに同じ評価を返す道具にすると決めた。
今日、CodeLens のカテゴリが変わった。これまでは「解析して終わり」だった。でも同じコミットに同じ評価を返せるようにした瞬間、CodeLens は "毎回答えが変わるデモ" から リポジトリの現在地を記録できる道具 になった。
一番の学びはスコアでも速度でもない。「レビューは終わりではなく、入口だ」 と気づいたこと。理解し、記憶し、育てる ── その入口がレビューだった。
Experience First。 UI → 建築、レビュー画面 → 一冊のレポート。「表示から体験へ」設計し直すと決めた。
決定論的レビューで「レビューは入口だ」と気づいた翌日、その入口の"体験"そのものに手をつけた。『表示から体験へ』── 言葉にすれば一行だけど、やってみると全然違った。これは画面をきれいにする話じゃない。レビューの結果を"どの順で、どう出会わせるか"を、最初から設計し直すという話だった。人が本を開いて読み進めるように、CodeLens のレビューも、開いて、読んで、最後に何かが残る。そういう"一冊のレポート"にしたかった。
面白いのは、そう決めた瞬間に、作るものが増えたんじゃなくて削れたこと。「これは表示のための機能」「これは体験のための機能」と切り分けられるようになって、判断が速くなった。設計思想が一本通ると、実装はむしろ減る。今日はそれを頭じゃなく手で理解した。
Repository Intelligence。 全部読むAI → 「何を読むか」を選ぶAI。情報は量ではなく「並べる順番」だと定めた。
リポジトリを丸ごと渡しても良いレビューにはならない。人が大事なところから読むように、AIにも優先順位がいる。"AIに読ませる"んじゃなくて、"AIが何を読むか"を私が設計する ── ここが CodeLens の心臓だと確信した。賢いのはモデルじゃなくて、何を見せるかの設計の方だ。
Archive → Library。 カード一覧 → 本棚。「倉庫」ではなく 「図書館」 を選ぶ、と見立てを決めた。
レビューを一度出して終わりにしていたのが、ずっともったいなかった。せっかく"リポジトリの現在地"を記録できるようになったのに、それが流れて消えていく。
今日 Archive を作った瞬間、一本一本のレビューが"点"から"線"になった。Case Study にするとさらに"読み物"になる。そこで気づいた ── これはもう「リンクの一覧」じゃない。棚に本が一冊ずつ並んでいく感覚だ。だったら、いっそ本棚にしてしまえばいい。
Archive をリンク集のままにするか、本棚にするか。たった一つの見立ての違いなのに、プロダクトの性格が変わる。前者は"倉庫"、後者は"図書館"。私は後者を選ぶ。積み重なるほど価値が増えて、あとから誰か(半年後の自分を含めて)が歩いて読める場所。
Notion = CodeLens Library の最新刊。 Continue reading — 外部リンク → 本の続き。Development Journal を 唯一、生きている本 に。
Information isn't something we collect — it's something we arrange.
情報は"あるかないか"じゃなく、"どう並べると理解が生まれるか" がすべてだった。Archive をリンク集から Library にした瞬間、CodeLens は「レビューを出す道具」から「知を積み、育て、読む場所」に変わった。Reviews で読み、Articles で思想を読み、Docs で知識を読み、最後に ── 今も更新され続けている一冊、Development Journal へ。この一本の導線が通ったとき、バラバラだった機能が、ひとつの"図書館"として立ち上がった。
本が並んだ日が完成じゃない。最後の1ページが、次の1ページへ続いた日に、ライブラリは完成した。 棚に並ぶ本のうち、Journal だけは"完結していない一冊"だ。だから他の本より 5〜10% だけ生命感を足した。ホバーで表紙がわずかに光り、平常時もかすかに呼吸する。強い演出じゃない。でも「この一冊だけ、今も書かれている」と伝わるだけで、棚全体の空気が変わる。
そして今日、この数日を振り返って気づいた。最初の頃の Journal は「バグを直した/テストを書いた」という"作業"の記録だった。でも最近は"設計思想"を書く割合が増えている。これはたぶん、私が成長したというより、CodeLens 自身が「動くもの」から「考えて作るもの」へ成熟した証拠だ。Journal は、その変化まで静かに記録してくれていた。だから最後に、アーカイブにこの一行を刻んだ ── This archive is alive. この書架は、生きている。
Workspace is the home. The landing page is only the entrance. LP は玄関、住まいは Workspace。v1 は消さず「展示室」として残すと決めた。
Replacing the homepage wasn't about changing a route. It was about deciding where the journey begins.
Journal を Notion資料 → HTML作品へ。 「読む」より「めくる」体験を選び、導線を Projects → Journal に定めた。本に、ページをめくる感覚を与える。
本は完成していた。中身も、装丁も、蔵書番号も揃っていた。足りなかったのは、たった一つ ── ページをめくる感覚だった。
Notion に置いた時点では「資料」だったものが、HTML作品として組み直し、横にめくれるようにした瞬間、はじめて「本」になった。The Library を作った次の章は、その本に息を吹き込むことだった。
ポートフォリオ → 制作者の机(Creator Desk)。 作品を「並べる」のをやめ、「今つくっている現場」そのものを見せると決めた。2026年のタイポで全面刷新。
作品を並べるポートフォリオではなく、制作者の机そのものを見せる場所になった。
Creator Desk には、作りかけの本があり、開いた Journal があり、まだ書かれていないページがある。「何を作ったか」より「今、何を作っているか」。見せるものが、成果物から「制作の現在地」へ移った。