Linc'well, inc.のフィード
https://zenn.dev/p/lincwell_inc
医療スタートアップ Linc'well のエンジニアの記事を集めています。
フィード

Claude Code の承認待ちを見逃さないために、光る Clawd を机に置いた
48
Linc'well, inc.のフィード
!本記事で紹介するのは業務外で作った個人プロジェクトです。Anthropic 非公式のファンプロジェクトであり、Anthropic とは無関係です。 15 分間、Claude Code は私を待っていたClaude Code にタスクを投げて別の作業に移り、戻ってきたら権限確認ダイアログで止まったまま 15 分経っていた——これを何度もやりました。ターミナルのベルもデスクトップ通知も、自分には定着しませんでした。通知は「見に行くもの」で、気づけないときは結局気づけない。そこで、状態そのものを机の上に置くことにしました。M5Atom Lite(...
6日前

エピックオーナー制で、チームのプロジェクト推進力を底上げする
Linc'well, inc.のフィード
私たちのチームでは、規模の大きい機能開発をうまく進めるために、エピックオーナーという役割を導入しました。この記事では、実際にやってみて見えてきた効果と、運用の中で気をつけている点を紹介します。 エピックオーナー導入の背景 これまでの体制前提として、私たちのチームはPdM・デザイナー・エンジニアが連携しながら開発を進めるスクラムチームです。こうしたチームでは、PdMの技術面での相談相手として要件定義・設計・リリース計画などの技術的な意思決定をリードする、テックリードのような役割を置くケースがあります。私たちのチームでもかつてはテックリードを置いていましたが、リードに負荷が集中し...
1ヶ月前

Metabaseのグラフがおかしくなった原因は表示行数の上限だった話
Linc'well, inc.のフィード
はじめに私の所属しているチームでは「リリース後の観測会」を行っています。「リリースした機能が問題なく使われているか」「リリースした機能が効果的に働いているか」などをチーム全体で確認する会です。観測会は毎週行っており、リリースした機能が日々使われていることを実感します。観測会ではたびたびMetabaseを使用しています。MetabaseはOSSのBI(ビジネスインテリジェンス)ツールで、SQLクエリを書くとDBから取得したデータをそのままグラフや表として可視化できます。使いやすく非常に便利なツールですが、最近少し苦戦したことがあったのでご紹介しようと思います。 Meta...
2ヶ月前

アプリチームで SLI / SLO の運用を始めました
Linc'well, inc.のフィード
はじめに2026年5月、私たちのモバイルアプリで SLI / SLO の計測・運用が、定例サイクルとして本格稼働しました。これまでアプリの品質は「なんとなく」で語られがちでしたが、サービスの信頼性を数値で捉え、目標をもって継続的に改善していける状態をつくる、というのが今回の取り組みです。この記事では、SLI / SLO の運用を立ち上げるまでに考えたことや、ツール選定の判断、そして立ち上げてみて見えてきた残課題を共有します。完成した運用の紹介ではなく、立ち上げ期の記録です。これから SLI / SLO の導入を検討している方が、何から始めるか・どんな観点で考えるかのヒントとして...
2ヶ月前

ECS ネイティブ Blue/Green の lifecycle hook で本番前にスモークテストする
Linc'well, inc.のフィード
認証 API(Rust / Actix-web)のデプロイを、Amazon ECS ネイティブの Blue/Green デプロイ機能で構成しました。その仕組みをまとめます。 TL;DR認証 API のデプロイを、ECS ネイティブの Blue/Green で構成しました。ECS サービスに Blue/Green デプロイを宣言するだけで構成できます。ターゲットグループと本番/テストリスナーの紐付けも設定で完結します。本番トラフィックを流す前に、新規タスク専用のテストリスナーへスモークテストを当てます。承認ゲートは SSM Parameter Store とポーリング用 La...
2ヶ月前

ECS のデプロイを ecspresso へ移行して自動化した話
Linc'well, inc.のフィード
はじめにこんにちは。Linc'well R&S(Reliability & Security)チームのくのです!弊社では複数のサービスを ECS(Fargate)上で運用しているのですが、今回はそのうちの一つを対象に、デプロイの自動化に取り組みました。これまでこのサービスのデプロイは、ECR にイメージを push し、手動で ECS サービスを更新する、という手作業で行っていました。ECS のタスク定義・サービス自体は Terraform で管理していましたが、イメージタグを :latest で運用していたため、デプロイのたびにタスク定義の中身を書き換える必要...
2ヶ月前

自社でプッシュ配信を内製化したときのアーキテクチャ変遷
Linc'well, inc.のフィード
プッシュ配信とは本記事で扱うプッシュ配信は、任意のタイミングで任意のユーザーへ送る「運用側発信型」の通知です。クリフォアアプリ内でのユーザー操作やイベントに連動して送るリアルタイム通知とは区別しています。ここでいう「クリフォアアプリ」とは、自社で開発・運営しているサービスです(「クリフォアアプリ」 はこちら)。本稿は2026年6月時点での取り組みをもとにしています。 内製化を選んだ背景クリフォアアプリでは、ユーザー連動型のリアルタイム通知ではなく、運用側が任意に送りたいタイミングで送る通知を実現したいと考えていました。そのため、まずは「プッシュを送れる状態」をつくることが重...
2ヶ月前

AI疲れ軽減のためにモブプロを始めたら抜群の成果と引き換えに人間が疲弊したので、持続可能なモブプロをガチで模索してみた
Linc'well, inc.のフィード
AIの登場により、エンジニアの仕事の進め方も大きく変化しています。私の所属するチームではAIを活用したモブプログラミングを取り入れました。運用して気付いたことをまとめます。 モブプロの導入2026年初頭、弊チームではエンジニア各自がAIを活用して開発を進めていましたが、同時にAI疲れも発生していました。AI疲れの原因を探ったところ、以下のような課題が見えてきました。各自がAIを活用しているが、AIからの質問に1人で考えて応答するのが大変他の人の開発内容がわからず、他の人に相談がしづらい。特に新人はキャッチアップが大変AIとの開発で各自のアウトプットのスピードは上がったが...
2ヶ月前

リリースして終わりにしない ― アウトカム計測を開発フローに組み込んで、チームの価値探索サイクルを速くした話
Linc'well, inc.のフィード
はじめにAIの活用で、機能を「作る」スピードはどんどん速くなっています。私の所属するプロダクトチームでも、AIを積極的に活用して知見を共有し合いながら、安定して開発を進められるようになってきました。一方で、速く作れるようになったぶん、「リリースした機能が本当に価値を生んだのか」を検証するスピードのほうが、相対的にボトルネックになりやすいと感じていました。作る速度だけが上がっても、それが価値につながったかを確かめられなければ、次の一手の精度は上がりません。そこでチームとしてさらに一歩進むために、開発フローの中でアウトカムを計測しやすくし、「リリース → 検証 → 次の仮説」という価...
3ヶ月前

個人的 AI ツールの変遷
Linc'well, inc.のフィード
AI が目まぐるしく発展する中、使用ツールも目まぐるしく移り変わっています。執筆時点までの変遷や所感を備忘録的にまとめてみました。※: Tips や具体的な使い方には言及はしていません。※: 個人的なものなので会社全体の変遷ではありません。 使用ツールの変遷 現在使っているツールタスクごとにメインとサブで整理すると以下のとおりです。 コーディング役割ツールメインClaude Code基本的に VS Code の拡張機能で使用しており、Plan Mode から始め、徐々に直す流れで使用よくやる作業は skill 化 コードレビュー...
3ヶ月前

E2Eテストを民主化したら、朝には失敗の分析も再実行も修正PRも終わっていた
Linc'well, inc.のフィード
はじめに始業時にSlackを開いたら、昨夜実行したE2Eテストの失敗の分析も、再実行も、修正PRの作成も、ぜんぶ終わっていた。そんな状態を実現するまでの、QAとAIのお話です。 第1章:QAチームが一手に担っていた時代私たちのチームでは、PlaywrightでE2Eテストを自動化しています。私たちは、20以上の診療科を持つクリニックに向けて、オンライン・対面それぞれの診療形式に対応したシステムを提供しています。重要なユーザー体験だけをテストしようとしても、リリースの度に手動でカバーするにはコストが高く、メンバーも限られていたため、自動E2Eテストを導入しました。また、一...
3ヶ月前

SSO 化を目指して、認可サーバーを Rust / Actix Web で構築した話
Linc'well, inc.のフィード
はじめに弊社では複数のサービスが並行して稼働しており、それぞれが個別に認証・認可を抱えていました。サービスが増えるほど、ユーザー体験のばらつきや運用コストの増加が目に見えてきたため、全サービスの SSO 化を目指すことになりました。その中心に据えるのが認可サーバーです。OAuth 2.0 / OpenID Connect を軸に、各サービスが共通の認可基盤を参照する形にすれば、ログイン状態の共有や権限管理の一元化が可能になります。本記事では、認可サーバー構築にあたって行った言語・フレームワーク選定と、その後の本番運用・移行を経て得られた知見をまとめます。 言語・FW 選定...
3ヶ月前

RubyKaigi 2026 参加レポート — Ruby の未来を、Rails 運用の中長期視点で。
Linc'well, inc.のフィード
はじめに私たちLinc’wellは2026 年 4 月22〜24日、北海道・函館で開催された RubyKaigi 2026 にスポンサー&ブース出展というカタチで参加してきました。ここでは私が聞いてきたセッションの内容をいくつか取り上げてみたいと思います。さて、RubyKaigi のセッションは「週明けからすぐ業務で使える」というよりも、Ruby の内部や思想を理解して、中長期で Ruby とどう付き合うかを考えるための糧だと思っています。このレポートでは印象に残った 9 セッションを取り上げ、それぞれ「Rails で運用しているアプリにどんな中長期の影響がありそうか」を一言ず...
3ヶ月前

処方箋でRuby力診断:おくすり袋の徹底解説
Linc'well, inc.のフィード
はじめにRubyKaigi 2026 にて、Linc'well のブースにお立ち寄りいただいたみなさま、ありがとうございました。今回私たちは、ブースでお渡しするノベルティを少しでも楽しんでいただけるように、ちょっと変わった"おくすり袋"風の紙袋と、Wasmで作ったアプリケーションを用意しました。なお、この“おくすり袋”はあくまでジョークノベルティです。実際のお薬ではありませんので、見た目や記載内容も含めて、イベント用の遊び心として楽しんでみてください。"おくすり袋"風の紙袋QRコードの読み込み先コンテンツhttps://lincwell.github.i...
3ヶ月前

Props / Context / Redux、どれを使う?Reactステート管理を1枚のフローチャートで判断する
Linc'well, inc.のフィード
はじめに前職では主に Vue.js + Nuxt.js を使って開発していました。Vuex(Pinia)という、実質ほぼ一択の状態管理ライブラリがあり、「状態をどこに持たせるか」で迷う場面はあまりありませんでした。しかし React.js に移ってからは事情が変わります。Props、Context、Redux と選択肢が増えたことで、状態の置き場所の判断基準が曖昧になりやすいからです。その結果、担当したプロジェクトでは Props で書かれるケースが多く、バケツリレーや保守性の低下が起きやすい構造になっていました。同じように迷っている方は少なくないはずです。この記事では、Red...
4ヶ月前

転職したらRouterが変わった話 ― go_router と auto_route を両方使って分かったこと
Linc'well, inc.のフィード
はじめに先日、Studyplus × Linc'well 合同の Flutter LT イベントで「転職したら Router が変わった話」というタイトルで登壇しました。https://note.linc-well.com/n/nf21b2bde977f自分は転職をきっかけに go_router と auto_route を両方使うことになりました。転職前は go_router、転職後は auto_route という環境です。「go_router auto_route 比較」で検索すると、「○○はこっちが優れている」「△△には対応していない」といった記事が出てきて、今の選択...
5ヶ月前

【SLI/SLO】予約のレイテンシーに向き合ってUI/UXを改善した
Linc'well, inc.のフィード
この記事について株式会社Linc’well ではSLI/SLOをチームごとに運用しています。私が所属するチームでは主に予約、診察、決済領域のSLI/SLOを運用しています。今回は「予約完了までに時間がかかる」という問い合わせをきっかけに、バックエンドのパフォーマンス改善を行いました。それだけではなく、UI/UXの改善にまで波及した事例をまとめました。 先に結論を3つボトルネックは外部サービス応答遅延によるタイムアウトだったUIのための同期処理がバックエンドのパフォーマンスを悪化させていたSLI/SLOと向き合った結果、バックエンドのパフォーマンスだけでなくUI/UXまで...
5ヶ月前

RailsのRakeタスクのライフサイクルにフックする2つの方法
Linc'well, inc.のフィード
対象読者この記事は、次のような方を対象にしています。Rails アプリケーションで Rakeタスクを日常的に使っている方Rakefile や Rakeタスクにフックしたいが、「どこを触ればよいかわからない」「壊しそうで怖い」と感じている方Rakeタスク実行時のログ取得や、実行コンテキスト(どのタスク起点か)の管理に困ったことがある方Rails / Rake の内部実装を深く知っている必要はありませんが、Rakeタスクを一度でも書いたことがあると読みやすい内容になっています。※この記事は筆者の調査・検証に基づくメモです。プロジェクト要件(実行環境、ログ基盤、セキュリ...
8ヶ月前

Claude Codeを使った負荷試験基盤開発の振り返り
Linc'well, inc.のフィード
概要認証APIの負荷試験を実施し、一定条件あたりのスループットと本番に必要なシステムリソースを割り出すことを目的としています。本記事では、AWS Step Functions、Lambda、K6を組み合わせた負荷試験基盤の構築プロセスと、Claude Codeを活用した開発で得られた知見を共有します。 試験内容 実行環境今回の負荷試験では、AWS Lambda(Custom Runtime)上でK6を実行し、Step Functionsでオーケストレーションする構成を採用しました。Step Functionsは2層構造になっており、下位のステートマシンが複数のシナリオを並...
8ヶ月前

PostgreSQLで大文字・小文字を区別しないユニーク制約を付ける2つの方法【citext / LOWER インデックス】
Linc'well, inc.のフィード
アプリケーションのデータを扱う中で、「文字列の大文字・小文字を区別せずに重複を避けたい」というケースはよくあります。例えば、ユーザーが入力する識別子やコード、名称などで、大文字・小文字の違いだけで別データとして扱うのは望ましくない場面があります。しかし PostgreSQL のユニーク制約は、text / varchar 型はデフォルトで 大文字・小文字を区別して比較するため、別データとして取り扱われます。本記事では PostgreSQL において 大文字・小文字を区別しないユニーク制約を実現する方法を紹介します。 ユニーク制約のデフォルト挙動の確認テーブル作成CREATE...
8ヶ月前