STARUPテックブログ、はじめます

Jiho Ryuu

Software Engineer

こんにちは、STARUPのエンジニアチームです。このたびテックブログを開設しました。

この記事では、ブログ自体をどう作ったか——「記事をコードとして管理する」という設計思想と技術選定について紹介します。

なぜCMSを使わないのか

世の中にはヘッドレスCMSがたくさんありますが、私たちは記事をすべてGitリポジトリ上のMarkdownで管理する方式を選びました。理由は3つあります。

レビューフローを開発と統一できる

記事の公開フローは、普段のコードと完全に同じです。

ブランチ作成 → Markdownで執筆 → Pull Request → レビュー → マージ = 公開

技術記事の品質はレビューで決まります。コードレビューと同じ文化・同じツールチェーンで記事をレビューできるのは、エンジニア組織にとって自然な選択でした。

CIで品質を機械的に担保できる

frontmatterはZodでスキーマ検証しており、必須項目が欠けた記事はビルドエラーで弾かれます

const postFrontmatterSchema = z.object({
  title: z.string().min(1),
  description: z.string().min(1),
  pubDate: z.coerce.date(),
  author: z.string().min(1),
  tags: z.array(z.string()).default([]),
  draft: z.boolean().default(false),
});

これに加えて、textlintによる日本語校正・リンク切れチェックもCIに組み込んでいく予定です。

ロックインがない

記事は素のMarkdownなので、ZennやQiitaへのクロスポストもスクリプト一本で変換できます。プラットフォームが変わっても資産はそのまま残ります。

技術スタック

レイヤー技術
フレームワークNext.js (App Router / SSG)
記事フォーマットMarkdown + MDX
スタイリングTailwind CSS v4
シンタックスハイライトShiki
ホスティングVercel

全ページを静的生成(SSG)で配信し、クライアントJSは目次の追従やコードのコピーボタンなど最小限に抑えています。

このブログのUIについて

お気づきの方もいるかと思いますが、このブログはVS Codeのようなエディタを模したUIです。左のエクスプローラーには記事がファイルツリーとして並び、下部のステータスバーには読了時間が表示されています。

エンジニアが毎日見ている画面をブログとして再構築することで、「コードを書く会社」であることをデザインそのもので伝えたい——そんな意図を込めています。

これから書いていくこと

  • プロダクト開発で得た技術知見(アーキテクチャ、パフォーマンス改善)
  • 技術選定の意思決定の記録
  • 開発チームのカルチャーやAI活用の取り組み

月1〜2本のペースで、誠実かつ具体的に書いていきます。どうぞよろしくお願いします。

Jiho Ryuu

Software Engineer

// we are hiring

STARUPで一緒に働きませんか?

こうした技術的な挑戦を一緒に楽しめる仲間を募集しています。

採用情報を見る →