[{"data":1,"prerenderedAt":353},["ShallowReactive",2],{"i-material-symbols:language":3,"i-material-symbols:light-mode-rounded":8,"i-material-symbols:dark-mode-rounded":10,"i-material-symbols:contrast":12,"i-material-symbols:menu-rounded":14,"case-latest-index-zh":16,"i-material-symbols:mic-outline":273,"i-material-symbols:document-scanner-outline":275,"i-material-symbols:groups-outline":277,"news-latest-index-zh":279,"i-material-symbols:arrow-back-ios-new-rounded":349,"i-material-symbols:arrow-forward-ios-rounded":351},{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":7},0,24,false,"\u003Cpath fill=\"currentColor\" d=\"M8.125 21.213q-1.825-.788-3.187-2.15t-2.15-3.188T2 11.988t.788-3.875t2.15-3.175t3.187-2.15T12.013 2t3.875.788t3.175 2.15t2.15 3.175t.787 3.875t-.787 3.887t-2.15 3.188t-3.175 2.15t-3.875.787t-3.888-.787M12 19.95q.65-.9 1.125-1.875T13.9 16h-3.8q.3 1.1.775 2.075T12 19.95m-2.6-.4q-.45-.825-.787-1.713T8.05 16H5.1q.725 1.25 1.813 2.175T9.4 19.55m5.2 0q1.4-.45 2.488-1.375T18.9 16h-2.95q-.225.95-.562 1.838T14.6 19.55M4.25 14h3.4q-.075-.5-.112-.987T7.5 12t.038-1.012T7.65 10h-3.4q-.125.5-.187.988T4 12t.063 1.013t.187.987m5.4 0h4.7q.075-.5.113-.987T14.5 12t-.038-1.012T14.35 10h-4.7q-.075.5-.112.988T9.5 12t.038 1.013t.112.987m6.7 0h3.4q.125-.5.188-.987T20 12t-.062-1.012T19.75 10h-3.4q.075.5.113.988T16.5 12t-.038 1.013t-.112.987m-.4-6h2.95q-.725-1.25-1.812-2.175T14.6 4.45q.45.825.788 1.713T15.95 8M10.1 8h3.8q-.3-1.1-.775-2.075T12 4.05q-.65.9-1.125 1.875T10.1 8m-5 0h2.95q.225-.95.563-1.838T9.4 4.45Q8 4.9 6.912 5.825T5.1 8\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":9},"\u003Cpath fill=\"currentColor\" d=\"M8.463 15.538Q7 14.075 7 12t1.463-3.537T12 7t3.538 1.463T17 12t-1.463 3.538T12 17t-3.537-1.463M2 13q-.425 0-.712-.288T1 12t.288-.712T2 11h2q.425 0 .713.288T5 12t-.288.713T4 13zm18 0q-.425 0-.712-.288T19 12t.288-.712T20 11h2q.425 0 .713.288T23 12t-.288.713T22 13zm-8.712-8.287Q11 4.425 11 4V2q0-.425.288-.712T12 1t.713.288T13 2v2q0 .425-.288.713T12 5t-.712-.288m0 18Q11 22.426 11 22v-2q0-.425.288-.712T12 19t.713.288T13 20v2q0 .425-.288.713T12 23t-.712-.288M5.65 7.05L4.575 6q-.3-.275-.288-.7t.288-.725q.3-.3.725-.3t.7.3L7.05 5.65q.275.3.275.7t-.275.7t-.687.288t-.713-.288M18 19.425l-1.05-1.075q-.275-.3-.275-.712t.275-.688q.275-.3.688-.287t.712.287L19.425 18q.3.275.288.7t-.288.725q-.3.3-.725.3t-.7-.3M16.95 7.05q-.3-.275-.288-.687t.288-.713L18 4.575q.275-.3.7-.288t.725.288q.3.3.3.725t-.3.7L18.35 7.05q-.3.275-.7.275t-.7-.275M4.575 19.425q-.3-.3-.3-.725t.3-.7l1.075-1.05q.3-.275.712-.275t.688.275q.3.275.288.688t-.288.712L6 19.425q-.275.3-.7.288t-.725-.288\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":11},"\u003Cpath fill=\"currentColor\" d=\"M12 21q-3.775 0-6.387-2.613T3 12q0-3.45 2.25-5.988T11 3.05q.325-.05.575.088t.4.362t.163.525t-.188.575q-.425.65-.638 1.375T11.1 7.5q0 2.25 1.575 3.825T16.5 12.9q.775 0 1.538-.225t1.362-.625q.275-.175.563-.162t.512.137q.25.125.388.375t.087.6q-.35 3.45-2.937 5.725T12 21\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":13},"\u003Cpath fill=\"currentColor\" d=\"M8.1 21.213q-1.825-.788-3.175-2.138T2.788 15.9T2 12t.788-3.9t2.137-3.175T8.1 2.788T12 2t3.9.788t3.175 2.137T21.213 8.1T22 12t-.788 3.9t-2.137 3.175t-3.175 2.138T12 22t-3.9-.788m4.9-1.287q2.975-.375 4.988-2.613T20 12t-2.013-5.312T13 4.075z\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":15},"\u003Cpath fill=\"currentColor\" d=\"M4 18q-.425 0-.712-.288T3 17t.288-.712T4 16h16q.425 0 .713.288T21 17t-.288.713T20 18zm0-5q-.425 0-.712-.288T3 12t.288-.712T4 11h16q.425 0 .713.288T21 12t-.288.713T20 13zm0-5q-.425 0-.712-.288T3 7t.288-.712T4 6h16q.425 0 .713.288T21 7t-.288.713T20 8z\"\u002F>",[17,125,208],{"id":18,"title":19,"body":20,"description":89,"extension":96,"field":97,"icon":98,"kind":99,"meta":100,"navigation":101,"order":102,"path":103,"scope":104,"seo":111,"slug":112,"stack":113,"stem":120,"summary":121,"__hash__":122,"japaneseOnly":101,"locales":123},"cases\u002Fcases\u002Fja\u002F01-streaming-platform.md","配信プラットフォームの全面刷新と課金基盤の再構築",{"type":21,"value":22,"toc":88},"minimark",[23,27,31,34,47,50,64,67],[24,25,26],"h2",{"id":26},"概要",[28,29,30],"p",{},"クリエイターとファンをつなぐ配信プラットフォームの全面リニューアルです。長年 PHP（Laravel）で運用されてきたサービスを、機能を整理し直したうえで、Django の API と Nuxt の SSR による構成へ作り替えました。要件の整理から設計、デザイン、開発、インフラ、リリース後の運用まで一貫して担当しています。",[24,32,33],{"id":33},"課題",[35,36,37,41,44],"ul",{},[38,39,40],"li",{},"長く積み重なった機能と仕様が、コードの中にしか残っていない",[38,42,43],{},"課金・ポイント・報酬など、お金の流れが複雑で、誤りが許されない",[38,45,46],{},"既存の利用者やデータを、サービスを止めずに新しい基盤へ引き継ぐ必要がある",[24,48,49],{"id":49},"取り組み",[35,51,52,55,58,61],{},[38,53,54],{},"旧システムの挙動を洗い出し、機能を網羅した要件仕様書を作成してから再設計しました。",[38,56,57],{},"課金・ポイント・報酬は、すべての増減を台帳として記録する設計にし、残高や支払いをいつでも追跡・検証できるようにしました。",[38,59,60],{},"旧データベースから段階的にデータを移し、既存アカウントは初回ログイン時に新しい認証基盤へ移行する仕組みで、利用者に再登録を求めずに引き継ぎました。",[38,62,63],{},"ライブ配信（予約・通知）、HLS によるストリーミング再生、プッシュ通知に対応した PWA など、配信体験を支える機能を実装しました。",[24,65,66],{"id":66},"技術のポイント",[35,68,69,76,82],{},[38,70,71,75],{},[72,73,74],"strong",{},"台帳による整合性","：お金の流れを台帳で追えるようにし、不正や不整合を仕組みで防ぐ。",[38,77,78,81],{},[72,79,80],{},"段階的な移行","：旧システムと並行しながら、データと認証を利用者の負担なく移す。",[38,83,84,87],{},[72,85,86],{},"インフラのコード化","：AWS 上の環境を Terraform で管理し、再現性のある構築と運用を実現。",{"title":89,"searchDepth":90,"depth":90,"links":91},"",2,[92,93,94,95],{"id":26,"depth":90,"text":26},{"id":33,"depth":90,"text":33},{"id":49,"depth":90,"text":49},{"id":66,"depth":90,"text":66},"md","クリエイター支援","mic","migration",{},true,1,"\u002Fcases\u002Fja\u002F01-streaming-platform",[105,106,107,108,109,110],"企画","設計","デザイン","開発","インフラ","運用",{"title":19,"description":89},"streaming-platform",[114,115,116,117,118,119],"Django","Nuxt（SSR）","PWA","AWS","Terraform","Laravel（移行元）","cases\u002Fja\u002F01-streaming-platform","長く運用されてきた配信プラットフォームを、PHP から Django と Nuxt の構成へ全面的に作り直しました。ライブ配信や課金、報酬の仕組みまで含め、企画から運用までを担っています。","dztktK00YVYF2GO8xibjwSDss32_M_SqcxDsafxPtFQ",[124],"ja",{"id":126,"title":127,"body":128,"description":89,"extension":96,"field":192,"icon":193,"kind":194,"meta":195,"navigation":101,"order":90,"path":196,"scope":197,"seo":198,"slug":199,"stack":200,"stem":204,"summary":205,"__hash__":206,"japaneseOnly":101,"locales":207},"cases\u002Fcases\u002Fja\u002F02-ai-document-saas.md","生成 AI で書類の仕分けとデータ化を自動化する SaaS",{"type":21,"value":129,"toc":186},[130,132,135,137,148,150,164,166],[24,131,26],{"id":26},[28,133,134],{},"事業所に日々届く書類の仕分けや転記を、生成 AI で自動化するマルチテナントの SaaS です。管理サイト、事業所ごとの利用者向け画面、サービスサイト、API までをゼロから設計・開発し、リリース後の運用と改善も担っています。",[24,136,33],{"id":33},[35,138,139,142,145],{},[38,140,141],{},"書類の種類や様式がばらばらで、人の手で仕分け・転記するのに大きな手間がかかる",[38,143,144],{},"複数の事業所が使うため、データをテナントごとに確実に分ける必要がある",[38,146,147],{},"AI の処理には費用がかかるため、精度とコストの両立が求められる",[24,149,49],{"id":49},[35,151,152,155,158,161],{},[38,153,154],{},"取り込んだ書類をページ単位で解析し、向きや内容を判定したうえで、まとまりごとに分割・分類するパイプラインを構築しました。",[38,156,157],{},"必要な情報は構造化データとして取り出し、関連する記録へ自動で紐付けます。帳票の作成と PDF 出力にも対応しています。",[38,159,160],{},"処理の不要なページを早い段階で見分けて AI に送らないなど、運用コストを抑える工夫を入れています。",[38,162,163],{},"処理に失敗したときは自動で再試行・復旧し、担当者の手を止めない設計にしました。",[24,165,66],{"id":66},[35,167,168,174,180],{},[38,169,170,173],{},[72,171,172],{},"マルチテナント設計","：テナントごとのデータ分離と権限を、アプリケーションの土台から設計。",[38,175,176,179],{},[72,177,178],{},"生成 AI のパイプライン","：Gemini を使い、解析・分割・分類・抽出の各段階を組み合わせて精度を確保。",[38,181,182,185],{},[72,183,184],{},"管理画面","：django-unfold を使い、運用担当者が扱いやすい画面を短期間で実現。",{"title":89,"searchDepth":90,"depth":90,"links":187},[188,189,190,191],{"id":26,"depth":90,"text":26},{"id":33,"depth":90,"text":33},{"id":49,"depth":90,"text":49},{"id":66,"depth":90,"text":66},"介護・福祉","document","new",{},"\u002Fcases\u002Fja\u002F02-ai-document-saas",[106,107,108,109,110],{"title":127,"description":89},"ai-document-saas",[114,201,202,203,118],"django-unfold","Gemini","AWS ECS","cases\u002Fja\u002F02-ai-document-saas","事業所に届く大量の書類を、生成 AI でページ単位に解析し、分類・データ化するマルチテナント SaaS をゼロから開発しました。","cPugvORT-KQXMwQKDu3YtOWK55gIj_3EqntxrbAgQ74",[124],{"id":209,"title":210,"body":211,"description":89,"extension":96,"field":260,"icon":261,"kind":194,"meta":262,"navigation":101,"order":263,"path":264,"scope":265,"seo":266,"slug":267,"stack":268,"stem":269,"summary":270,"__hash__":271,"japaneseOnly":101,"locales":272},"cases\u002Fcases\u002Fja\u002F03-member-service.md","企業向け会員制 Web サービスの開発",{"type":21,"value":212,"toc":254},[213,215,218,220,228,230,238,240],[24,214,26],{"id":26},[28,216,217],{},"企業の担当者が利用する会員制の Web サービスです。デザインからシステムの設計・開発までを担当し、Django の管理画面と API、Nuxt の SSR による利用者向けのアプリケーションを構築しました。",[24,219,33],{"id":33},[35,221,222,225],{},[38,223,224],{},"個人と組織の両方の単位で、会員と権限を管理する必要がある",[38,226,227],{},"蓄積された情報を、利用者が目的に合わせて探しやすくしたい",[24,229,49],{"id":49},[35,231,232,235],{},[38,233,234],{},"会員登録・ログイン、組織の管理、料金プランなど、会員制サービスの基盤を構築しました。",[38,236,237],{},"蓄積された情報の検索、お気に入りや閲覧履歴、利用者どうしの掲示板を実装しました。",[24,239,66],{"id":66},[35,241,242,248],{},[38,243,244,247],{},[72,245,246],{},"SSR による体験","：ログイン後の画面も含めて Nuxt の SSR で構築し、表示の速さと検索エンジンへの対応を両立。",[38,249,250,253],{},[72,251,252],{},"管理と運営","：コンテンツや会員の情報を、運営チームが管理画面から扱える構成に。",{"title":89,"searchDepth":90,"depth":90,"links":255},[256,257,258,259],{"id":26,"depth":90,"text":26},{"id":33,"depth":90,"text":33},{"id":49,"depth":90,"text":49},{"id":66,"depth":90,"text":66},"官民連携","members",{},3,"\u002Fcases\u002Fja\u002F03-member-service",[106,107,108],{"title":210,"description":89},"member-service",[114,115],"cases\u002Fja\u002F03-member-service","企業の担当者が利用する会員制サービスを、ゼロから開発しました。会員登録から組織管理、データベース検索、掲示板までを備えています。","DG0Lht84Lr4dEC8tejKaQ7Q8veRhTQYMUDmQgDRrFVs",[124],{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":274},"\u003Cpath fill=\"currentColor\" d=\"M9.875 13.125Q9 12.25 9 11V5q0-1.25.875-2.125T12 2t2.125.875T15 5v6q0 1.25-.875 2.125T12 14t-2.125-.875M11 21v-3.075q-2.6-.35-4.3-2.325T5 11h2q0 2.075 1.463 3.538T12 16t3.538-1.463T17 11h2q0 2.625-1.7 4.6T13 17.925V21zm1.713-9.287Q13 11.425 13 11V5q0-.425-.288-.712T12 4t-.712.288T11 5v6q0 .425.288.713T12 12t.713-.288\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":276},"\u003Cpath fill=\"currentColor\" d=\"M2 6V1h5v2H4v3zm18 0V3h-3V1h5v5zM2 23v-5h2v3h3v2zm15 0v-2h3v-3h2v5zM7 18h10V6H7zm0 2q-.825 0-1.412-.587T5 18V6q0-.825.588-1.412T7 4h10q.825 0 1.413.588T19 6v12q0 .825-.587 1.413T17 20zm2-10h6V8H9zm0 3h6v-2H9zm0 3h6v-2H9zm-2 2V6z\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":278},"\u003Cpath fill=\"currentColor\" d=\"M0 18v-1.575q0-1.075 1.1-1.75T4 14q.325 0 .625.013t.575.062q-.35.525-.525 1.1t-.175 1.2V18zm6 0v-1.625q0-.8.438-1.463t1.237-1.162T9.588 13T12 12.75q1.325 0 2.438.25t1.912.75t1.225 1.163t.425 1.462V18zm13.5 0v-1.625q0-.65-.162-1.225t-.488-1.075q.275-.05.563-.062T20 14q1.8 0 2.9.663t1.1 1.762V18zM8.125 16H15.9q-.25-.5-1.388-.875T12 14.75t-2.512.375T8.125 16M4 13q-.825 0-1.412-.587T2 11q0-.85.588-1.425T4 9q.85 0 1.425.575T6 11q0 .825-.575 1.413T4 13m16 0q-.825 0-1.412-.587T18 11q0-.85.588-1.425T20 9q.85 0 1.425.575T22 11q0 .825-.575 1.413T20 13m-8-1q-1.25 0-2.125-.875T9 9q0-1.275.875-2.137T12 6q1.275 0 2.138.863T15 9q0 1.25-.862 2.125T12 12m0-2q.425 0 .713-.288T13 9t-.288-.712T12 8t-.712.288T11 9t.288.713T12 10m0-1\"\u002F>",[280],{"id":281,"title":282,"body":283,"category":339,"description":287,"extension":96,"meta":340,"navigation":101,"path":341,"publishedAt":342,"seo":343,"slug":344,"stem":345,"thumbnail":346,"__hash__":347,"japaneseOnly":101,"locales":348},"news\u002Fnews\u002Fja\u002F2024-05-28-homepage-renewal.md","ホームページをリニューアルしました",{"type":21,"value":284,"toc":335},[285,288,291,298,301,305,314,320],[28,286,287],{},"「気軽に夢に挑戦できるスタートアップのエコシステムを実現する」をミッションに掲げる株式会社LaunchAtは、2024年5月28日にコーポレートサイトをフルリニューアルしたことをお知らせいたします。",[24,289,290],{"id":290},"リニューアルの背景",[28,292,293,294,297],{},"LaunchAt は創業3年目に突入し、2024年5月にコーポレートサイトのフルリニューアルを行いました。",[295,296],"br",{},"\nこれまで受託開発に注力してきたところから、よりエンドユーザーの皆様にとって身近な存在となるべく、活動範囲を広げることを発信していくため、信頼のおけるサイトとなるようにリニューアルを実施しました。",[28,299,300],{},"まずは、クライアントの皆様にとって LaunchAt がサービスローンチの拠点であり続けることはもちろん、これからもスタートアップのイノベーションを支援し続けられるよう、「気軽に夢に挑戦できるスタートアップのエコシステムを実現する」ミッションの実現に挑戦してまいります。",[24,302,304],{"id":303},"株式会社launchat-概要","株式会社LaunchAt 概要",[28,306,307,308,310,311,313],{},"株式会社LaunchAtは、「気軽に夢に挑戦できるスタートアップのエコシステムを実現する」をミッションに掲げるシステム開発会社です。",[295,309],{},"\nこれまで、WEBサイト制作はもちろん、ライブ配信サービス、CMS、SaaS等の幅広いサービスを、起業家の方や、スタートアップ事業者の方とともに開発してきました。",[295,312],{},"\n今後は、システム開発のみならず、新規事業開発全般へと活動の幅を広げ、新たな仕組みで多くのイノベーションを実現するスタートアップ企業となることを目指します。",[28,315,316,317,319],{},"設立：2022年3月",[295,318],{},"\n代表者：代表取締役CEO 遠藤",[28,321,322,323,328,330,331],{},"コーポレートサイト：",[324,325,327],"a",{"href":326},"\u002F","https:\u002F\u002Flaunchat.jp\u002F",[295,329],{},"\nお問い合わせ：",[324,332,334],{"href":333},"\u002Fcontact","https:\u002F\u002Flaunchat.jp\u002Fcontact",{"title":89,"searchDepth":90,"depth":90,"links":336},[337,338],{"id":290,"depth":90,"text":290},{"id":303,"depth":90,"text":304},"release",{},"\u002Fnews\u002Fja\u002F2024-05-28-homepage-renewal","2024-05-28T10:00:00+09:00",{"title":282,"description":287},"39c43760-898a-44c3-8438-708d36ea8d6a","news\u002Fja\u002F2024-05-28-homepage-renewal",null,"sJmAvmh0ygVIRgA48tux-ucB2k9Pgg3qum9BI3Fn3X0",[124],{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":350},"\u003Cpath fill=\"currentColor\" d=\"m9.55 12l7.35 7.35q.375.375.363.875t-.388.875t-.875.375t-.875-.375l-7.7-7.675q-.3-.3-.45-.675t-.15-.75t.15-.75t.45-.675l7.7-7.7q.375-.375.888-.363t.887.388t.375.875t-.375.875z\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":352},"\u003Cpath fill=\"currentColor\" d=\"m14.475 12l-7.35-7.35q-.375-.375-.363-.888t.388-.887t.888-.375t.887.375l7.675 7.7q.3.3.45.675t.15.75t-.15.75t-.45.675l-7.7 7.7q-.375.375-.875.363T7.15 21.1t-.375-.888t.375-.887z\"\u002F>",1794605450414]