【ITニュース解説】I built a free multilingual (Urdu + English) writing platform — here's what I learned
2026年10月12日に「Dev.to」が公開したITニュース「I built a free multilingual (Urdu + English) writing platform — here's what I learned」について初心者にもわかりやすく解説しています。
ITニュース概要
多言語対応の無料投稿サイトNazmHub開発を通じ、多くを学んだ。多言語対応は初期設計に深く組み込み、Next.jsとSupabaseはソロ開発に強力な組み合わせだ。コンテンツは部分公開で登録を促し、モデレーションは早期実装が不可欠。無料ホスティングで十分始められると実感した。
ITニュース解説
NazmHubという多言語対応のライティングプラットフォームを開発した経験から得られた学びについて解説する。このプロジェクトは、ウルドゥー語と英語で物語や記事を公開できる場所を、無料で、特定の言語に偏らず、ノートパソコンがなくても利用できることを目指して作られた。この経験は、システムエンジニアを目指す初心者にとっても多くの示唆を与えてくれるだろう。
まず、多言語対応についてだ。多くの多言語サイトでは、もう一つの言語が後から付け足された機能のように扱われがちで、単に翻訳ウィジェットを設置する程度で終わってしまうこともある。しかし、NazmHubでは「最初から多言語対応」を徹底した。これは、サイトのURL構造に英語(/en/)とウルドゥー語(/ur/)のプレフィックスを組み込み、それぞれの言語専用の翻訳辞書を用意することを意味する。さらに、ウルドゥー語に適したフォント(文字の種類やデザイン)を選び、ウルドゥー語が右から左へ書かれる言語であるため、レイアウトもRTL(Right-to-Left)に対応させた。この経験から学んだことは、もし特定の言語がユーザーにとって非常に重要であるならば、それは単なる翻訳機能ではなく、サイトのURLルーティング、デザインシステム、そしてコンテンツを管理する仕組み(コンテンツモデル)の根本に組み込むべきだということだ。
次に、開発に使用された技術スタックについて説明する。このプラットフォーム全体は、主にNext.jsとSupabaseという組み合わせで構築された。Next.jsは、WebサイトやWebアプリケーションを効率的に開発するためのフレームワークであり、ここでは新しいApp Router機能とCloudflare Pages上のエッジランタイムを活用している。エッジランタイムとは、ユーザーに近い場所でプログラムを実行することで、高速なWeb体験を提供する技術だ。一方、Supabaseは、データベース機能とユーザー認証機能を一括で提供するサービスであり、NazmHubのデータベース層と認証層を担っている。これら二つの技術を組み合わせることで、認証機能、投稿機能、コメント機能、子供向け物語ライブラリ、小説の連載、そして管理者によるコンテンツ承認待ちのキューなど、多岐にわたる機能をたった一人で開発し、運用することが可能になった。この経験から特に重要だと感じたのは、環境設定の重要性だ。開発中に遭遇した最も複雑な問題は、なんとコードのバグではなく、SupabaseのURL設定ミスだった。環境変数のURLに余計なパスが一つ付いているだけで、全てのデータベースクエリが失敗するという事態が発生した。コードと同じくらい、環境設定も厳密に確認するべきだと強く認識した。
ユーザー獲得と収益化の戦略についても興味深い学びがあった。NazmHubでは、閲覧者がログアウト状態の場合、各物語の冒頭約80語のみが表示され、全文を読むためには無料登録が必要となる「ティーザーゲーティング」という手法を採用している。ただし、子供向けのコーナーは完全に無料で閲覧できる。この方法は、厳格な有料の壁(ペイウォール)を設けるよりも、カジュアルな読者をコミュニティメンバーへと転換させるのに効果的だと感じた。コンテンツプラットフォームを構築する際、ペイウォールやサインアップウォールを「壁」としてではなく、読者を惹きつけ、登録へと導く「コンバージョンファネル(転換経路)」として考えるべきだという教訓を得た。
コンテンツモデレーション、つまり投稿内容の監視と承認も、製品の重要な機能として最初から組み込むべきだということを学んだ。NazmHubでは、執筆者が新しい小説シリーズを作成し、エピソードを投稿できるが、それらが一般に公開される前には必ず管理者による承認が必要となる。このモデレーションキューを開発の初期段階、まだ見知らぬ誰かが自由にコンテンツを投稿できる状態になる前に構築しておいたことで、「とりあえず公開して、モデレーションは後回し」というよくある落とし穴にはまることを避けられた。ユーザーの信頼とプラットフォームの安全性を確保する機能は、サービスを開始する初日から提供すべきものなのである。
最後に、開発費用についてだが、驚くべきことにこのプラットフォームは全て無料のホスティングサービスで運用されている。具体的には、Cloudflare PagesとSupabaseの無料プランを利用しており、インフラにかかる費用はゼロだ。サイトは「nazmhub.pages.dev」というURLで実際に運営され、多くの読者に利用されているにもかかわらず、インフラ費用は一銭もかかっていない。この経験は、「サービスを始めるにはお金が必要だ」という考えが、開発を始めるのをためらう理由になってはいけないということを示している。
これらの経験は、システムエンジニアを目指す初心者にとって、実際のWebサービス開発における多言語対応の重要性、モダンな技術スタックの選定と運用、ユーザー体験と収益化戦略、安全性確保の設計、そして低コストでの開発開始といった多岐にわたる側面を理解する上で非常に有益な学びとなるだろう。自分のアイデアを形にする上で、技術的な選択だけでなく、ユーザーや運用の視点を取り入れることの重要性がよくわかる事例だ。