4 分で読めます

Yokko Lab に Writing セクションを開設しました

アプリ開発で見つけたこと、つくる過程で考えていたこと、デザインを読み解く視点を、ひとつずつ記事として残していきます。

  • announcement
  • meta
  • next.js

Yokko Lab の Web サイトに「Writing」を加えました。これまで頭の中に置いていたアプリ開発のメモを少しずつ言葉にして、来てくれた人と一緒に読める形にしていく場所です。

ここで何が読めるか

  • アプリをつくる過程で見つけたこと — リリース前後で起きたこと、ユーザーの反応に気付いて変えたこと
  • 技術的な試行錯誤 — Next.js / TypeScript / iOS / Android まわりで「うまくいった/しくじった」の記録
  • 運営ノート — 数字、施策、悩んだ判断、決め手になった一言

肩肘張った技術論より、翌日からの自分の仕事にも他のだれかの仕事にも、ささやかに効く話 を残していきたいと思っています。

サイト全体の構成

Writing と並んで、用途の違う 2 つのセクションも整えました。

  • Work — Yokko Lab がつくって運営しているアプリの紹介
  • Columns — 他のアプリや Web の デザインを丁寧に読み解くコラム

「いま手を動かしてるもの (Work)」「学び (Writing)」「眺める対象 (Columns)」の 3 つを場所として分けたのは、書き手の心持ちが、それぞれの内容で全然違うからです。

採用した技術

裏側は Next.js 16 App RouterContent Collections を組み合わせました。MDX で書いた記事を型安全に取り出せるのが決め手で、frontmatter の検証から readingTime の自動計算までを一括で面倒を見てくれます。

スキーマは Zod で書きます。たとえば記事用のスキーマはこんな形です。

const articleSchema = z.object({
  content: z.string(),
  title: z.string(),
  description: z.string(),
  publishedAt: z.string(),
  tags: z.array(z.string()).default([]),
  draft: z.boolean().default(false),
});

ビルド時の動作確認は CLI で軽く行えます。

npx content-collections build

ローカルファイル運用にした理由は単純で、書き手としての心理的な負荷をできるだけ下げたかったから。エディタで書いて Git に乗せれば、それで公開できます。

これから書きたいこと

  • アプリのリリースで実際に起きたこと、ユーザーの反応、数字
  • Next.js / TypeScript / Vercel まわりで効いた工夫
  • iOS / Android アプリのデザインを観察するコラム(Columns 側で展開)

最初の記事はこの開設エントリにしました。ここを起点にして、月に数本ずつ静かに増やしていきます。ふらっと寄って、気になる記事があったら少し読んでいってもらえたら嬉しいです。