見出し画像

【無料ツール配布】夕方の連絡帳書きで残業してない?クリックだけで「家族が安心する温かいコメント」を一発作成する支援ツールを作った話

クリエイター: カイ|独学介護AIエンジニア【今日からラクする現場改善】
メインパートナー: Anti-Gravity 2.0


1. 夕方16時30分、送迎車が出る直前の「連絡帳パニック」

「あと15分で送迎の車が出るのに、連絡帳がまだ半分も書けていない……!」

デイサービスやショートステイ、小規模多機能などの現場で働く介護士さんなら、この冷や汗が出るような焦りを一度は経験したことがあるのではないでしょうか。

夕方のフロアは、まさに戦場です。

  • 帰りの身支度やトイレ誘導

  • お薬や持ち物の指差し確認

  • ドライバーとの送迎ルート打ち合わせ

  • そして、机の上に山積みになった20人〜30人分の「連絡帳」

時計の針をチラチラ見ながら、ペンを握る右手を猛スピードで走らせる。
頭の中は真っ白になり、絞り出すように出てくる言葉はいつも決まってこれでした。

「本日も元気に来所されました。昼食は完食され、体操にも積極的に参加されています。変わりなく過ごされました。」

書き終えた瞬間、ふと自己嫌悪に襲われます。
「昨日も、先週も、まったく同じ文章を書いてしまった……」
「ご家族から『いつも同じことしか書いてないわね』と思われていないだろうか……」

そんな葛藤を抱えながら、気づけば送迎が出発したあとも残った書類を書き続け、今日も30分、40分とサービス残業になっていく。

今回は、そんな**「夕方の連絡帳書きに追われる全国の介護士さん」を救うために、完全無料で使える連絡帳コメント作成ツール**を作りました!


2. なぜ連絡帳のコメントは「ワンパターン」になってしまうのか?

連絡帳のコメント書きが苦痛になってしまう理由は、介護士さんの文章力や熱意が足りないからではありません。**「脳のエネルギーが限界を迎えている夕方に、ゼロから文章をひねり出さなければならない仕組み」**に原因があります。

現場の連絡帳書きには、主に3つの大きな壁があります。

  • ① 表現のボキャブラリー枯渇: 毎日同じ利用者様を担当していると、「元気に」「楽しそうに」「穏やかに」以外の形容詞が思い浮かばなくなる。

  • ② 個別エピソードを思い出す時間のなさ: 20人分の午前のレクや昼食時の会話を、夕方の忙しい時間に一人ひとりじっくり思い返す余裕がない。

  • ③ ご家族への配慮というプレッシャー: 「体調の変化を伝えつつも、不安にさせすぎない温かいトーン」を意識するあまり、言葉選びに慎重になりすぎて手が止まる。

その結果、「無難で機械的な定型文」になってしまうか、「文章がまとまらず長文になって時間が溶ける」の二者択一になってしまうのです。


3. ご家族が本当に読みたいのは「検査データ」ではなく「本人の笑顔と物語」

ある日、在宅で介護をされているご家族とお話ししたとき、こんな言葉をいただきました。

「連絡帳に『血圧120/70、食事完食、異常なし』って書いてあるのも安心なんですけどね。一番嬉しいのは、**『今日はお隣の方と昔の漬物作りの話で大笑いされていましたよ』**みたいな、家では見られない本人の楽しそうな表情が目に浮かぶひと言なんです。」

ご家族は、日中離れている大切な人が「どんな気持ちで過ごしていたか」「誰とどんな楽しい時間を共有できたか」という温かい物語を求めています。

とはいえ、介護士が一人ひとりにそんな情緒ある長文をゼロから書いていたら、毎日何時間あっても足りません。

そこで考えました。

「今日の様子(表情・食事・レク・特記)をチェックボックスでポチポチ選ぶだけで、ご家族の心がホッと温まる自然で豊かな文章を一瞬で組み立ててくれるツールがあればいいのでは?」

そうして開発したのが、今回ご紹介する**『連絡帳・デイ通信コメント作成アシスタント(CareContactAI)』**です!


4. 作ったツール:『連絡帳コメント作成アシスタント(CareContactAI)』

このツールは、パソコンやタブレット、スマホのブラウザで動く超シンプルなアプリです。

使い方はたったの3ステップ

  1. 利用者様のお名前を入力(例:田中 様)

  2. 本日のご様子・食事・レク・特記を選択肢からタップ

  3. **「コメントを生成する」**を押すだけで、温かみのある自然な連絡帳文章が3秒で完成!

【出力例プレビュー】
田中 様、本日も笑顔で元気に来所されました!
昼食は「美味しいね」と笑顔で完食され、午後の個別機能訓練では熱心に歩行練習に取り組まれておりました。
体操の時間も大きく手足を動かされ、周囲の方とも楽しそうにお話しされる場面が多く見られました。
バイタル・体調ともに安定して穏やかに過ごされています。
朝夕の気温差がございますので、ご自宅でもあたたかくしてお過ごしくださいね。本日もありがとうございました!

文体のトーンも「温かく親しみやすい」「丁寧で安心感重視」「リハビリ・活動報告重視」「短めシンプル」などワンクリックで切り替え可能です。さらに「別の言い回しを生成」ボタンを押せば、同じ選択内容でも異なる表現パターンを瞬時に提案してくれます!


5. 【完全無料】ツールの受け取り方・動かし方

このツールは、外部のサーバーや有料サービスへの通信を一切行わない「単一のHTMLファイル」で作られています。
施設内のパソコンでも、個人情報が外部に送信される心配は一切ありません(完全ローカル完結型)。

ツールを開く方法

  1. 下の黒いコード枠の中身をすべてコピーします。

  2. デスクトップなどで右クリックして「新規作成」→「テキスト ドキュメント」を作成し、貼り付けます。

  3. ファイル名を `renrakucho_tool.html` に変更して保存します。

  4. 保存したファイルをダブルクリックするだけで、お使いのブラウザ(EdgeやChrome、Safari等)ですぐに起動します!

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>連絡帳コメント作成アシスタント | CareContactAI</title>
  <style>
    :root {
      --primary: #e06d53;
      --primary-hover: #c9573e;
      --bg: #fdfbf7;
      --card: #ffffff;
      --text: #333333;
      --muted: #666666;
      --border: #e8e2d8;
      --accent-bg: #fff5f2;
    }
    * { box-sizing: border-box; margin: 0; padding: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; }
    body { background-color: var(--bg); color: var(--text); line-height: 1.6; padding: 20px 12px; }
    .container { max-width: 720px; margin: 0 auto; background: var(--card); border-radius: 16px; box-shadow: 0 4px 20px rgba(0,0,0,0.06); padding: 24px; border: 1px solid var(--border); }
    h1 { font-size: 1.4rem; color: var(--primary); text-align: center; margin-bottom: 8px; display: flex; align-items: center; justify-content: center; gap: 8px; }
    .subtitle { text-align: center; color: var(--muted); font-size: 0.88rem; margin-bottom: 24px; }
    .section-title { font-size: 0.95rem; font-weight: bold; color: #444; margin: 16px 0 8px; border-left: 4px solid var(--primary); padding-left: 8px; }
    .form-group { margin-bottom: 16px; }
    label { display: block; font-size: 0.85rem; font-weight: 600; color: #555; margin-bottom: 6px; }
    input[type="text"], select, textarea { width: 100%; padding: 10px 12px; border: 1px solid var(--border); border-radius: 8px; font-size: 0.95rem; background: #fafafa; }
    input[type="text"]:focus, select:focus, textarea:focus { outline: none; border-color: var(--primary); background: #fff; box-shadow: 0 0 0 3px rgba(224,109,83,0.15); }
    .grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
    @media (max-width: 480px) { .grid-2 { grid-template-columns: 1fr; } }
    .btn-group { display: flex; gap: 10px; margin-top: 20px; }
    button { cursor: pointer; border: none; border-radius: 8px; font-weight: bold; transition: all 0.2s; font-size: 0.95rem; }
    .btn-primary { flex: 2; background: var(--primary); color: white; padding: 14px; box-shadow: 0 3px 10px rgba(224,109,83,0.3); }
    .btn-primary:hover { background: var(--primary-hover); transform: translateY(-1px); }
    .btn-secondary { flex: 1; background: #eee; color: #555; padding: 14px; }
    .btn-secondary:hover { background: #e0e0e0; }
    .result-box { margin-top: 24px; background: var(--accent-bg); border: 2px dashed var(--primary); border-radius: 12px; padding: 16px; }
    .result-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
    .result-header h3 { font-size: 1rem; color: var(--primary); }
    .btn-copy { background: #fff; border: 1px solid var(--primary); color: var(--primary); padding: 6px 14px; border-radius: 6px; font-size: 0.85rem; }
    .btn-copy:hover { background: var(--primary); color: #fff; }
    .preview-text { width: 100%; min-height: 140px; background: #ffffff; border: 1px solid var(--border); border-radius: 8px; padding: 12px; font-size: 0.95rem; line-height: 1.7; color: #222; resize: vertical; }
    .toast { position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); background: rgba(0,0,0,0.8); color: white; padding: 10px 20px; border-radius: 20px; font-size: 0.85rem; display: none; z-index: 1000; }
  </style>
</head>
<body>

<div class="container">
  <h1>📖 連絡帳コメント作成アシスタント</h1>
  <p class="subtitle">夕方の連絡帳書き残業をゼロに!家族が安心する温かい文章を3秒作成</p>

  <div class="form-group">
    <label>利用者様のお名前・呼称</label>
    <input type="text" id="userName" placeholder="例:山田 様(苗字だけでもOK)" value="山田 様">
  </div>

  <div class="grid-2">
    <div class="form-group">
      <label>① ご本人の表情・ご様子</label>
      <select id="moodSelect">
        <option value="smile">満面の笑顔で活気にあふれていた</option>
        <option value="calm" selected>終始穏やかでリラックスされていた</option>
        <option value="talk">昔の思い出話を熱心に語ってくださった</option>
        <option value="social">他の利用者様と楽しそうに談笑されていた</option>
        <option value="active">レクリエーションで大活躍されていた</option>
        <option value="tired">少し眠気があり、のんびり休憩を挟みつつ</option>
      </select>
    </div>

    <div class="form-group">
      <label>② お食事・おやつ</label>
      <select id="mealSelect">
        <option value="full" selected>昼食を「美味しい」と綺麗に完食</option>
        <option value="good">主食8割・副食全量をしっかり召し上がった</option>
        <option value="soup">お汁物やお好みの具材を中心に召し上がった</option>
        <option value="snack">3時のおやつを嬉しそうにペロリと完食</option>
        <option value="careful">むせ込みなく、ご自身のペースでゆっくり召し上がった</option>
      </select>
    </div>
  </div>

  <div class="grid-2">
    <div class="form-group">
      <label>③ 活動・リハビリ・レク</label>
      <select id="activitySelect">
        <option value="gym" selected>集団体操で大きく腕と足を動かしてリフレッシュ</option>
        <option value="rehab">個別機能訓練で熱心に歩行練習に取り組まれた</option>
        <option value="craft">作品作り(塗り絵・ちぎり絵)に集中して完成</option>
        <option value="sing">カラオケや音楽レクで懐かしい歌を口ずさまれた</option>
        <option value="brain">脳トレ・計算問題に意欲的に挑戦され全問正解</option>
        <option value="bath">温かいお風呂に入り「さっぱりした」と極上の笑顔</option>
      </select>
    </div>

    <div class="form-group">
      <label>④ 特記・ご家庭へのメッセージ</label>
      <select id="memoSelect">
        <option value="none" selected>特に変わりなくバイタル安定・元気にお過ごし</option>
        <option value="nails">爪切りを実施し、手元もすっきり清潔に</option>
        <option value="water">水分をしっかり1000ml以上摂取、脱水予防バッチリ</option>
        <option value="nap">食後に少しウトウトと心地よいお昼寝をされた</option>
        <option value="thanks">いつも温かいご支援とご準備に感謝申し上げます</option>
      </select>
    </div>
  </div>

  <div class="form-group">
    <label>⑤ 文体・トーン</label>
    <select id="toneSelect">
      <option value="warm" selected>温かく親しみやすい(ご家族がホッとする標準トーン)</option>
      <option value="polite">丁寧でフォーマル(礼儀正しいトーン)</option>
      <option value="active">活動・リハビリ重視(意欲や成果をしっかり伝える)</option>
      <option value="short">短めシンプル(手書き欄が小さい連絡帳向け)</option>
    </select>
  </div>

  <div class="btn-group">
    <button class="btn-primary" onclick="generateComment()">✨ コメントを自動生成する</button>
    <button class="btn-secondary" onclick="generateComment(true)">🔄 別の言い回し</button>
  </div>

  <div class="result-box" id="resultArea" style="display:none;">
    <div class="result-header">
      <h3>📋 作成された連絡帳コメント</h3>
      <button class="btn-copy" onclick="copyText()">テキストをコピー</button>
    </div>
    <textarea class="preview-text" id="outputText"></textarea>
  </div>
</div>

<div class="toast" id="toast">クリップボードにコピーしました!</div>

<script>
  const patterns = {
    warm: [
      (name, m, f, a, memo) => `${name}、本日も笑顔で元気に来所されました!\nお昼ご飯は${f}。午後の活動では${a}、${m}。${memo}\nバイタル・ご体調ともに終始安定しており、穏やかな一日となりました。本日もご利用ありがとうございました!`,
      (name, m, f, a, memo) => `本日も${name}と楽しい時間を過ごさせていただきました!\nお食事は${f}、食後も${m}。フロアの活動では${a}など、とても生き生きとしたご様子でした。${memo}\n寒暖差の気になる季節ですので、今夜もご自宅でゆったりお休みくださいね。`,
      (name, m, f, a, memo) => `${name}、本日も元気に来てくださいました!\n活動の時間には${a}姿がとても印象的で、${m}。お食事も${f}、しっかりエネルギーを蓄えていらっしゃいます。${memo}\nまた次回、笑顔でお会いできるのをスタッフ一同楽しみにしております!`
    ],
    polite: [
      (name, m, f, a, memo) => `本日も${name}にご来所いただき誠にありがとうございました。\nご様子としては${m}、昼食におかれましては${f}。\n日中の活動では${a}など、意欲的に参加されております。${memo}\nバイタル測定値も平常通り安定しております。今後ともよろしくお願い申し上げます。`,
      (name, m, f, a, memo) => `${name}の本日のデイサービスでのご様子をご報告いたします。\nフロアでは終始${m}、お食事も${f}ご様子でした。\n機能訓練および活動におきましては、${a}。${memo}\nご体調に変わりなくお過ごしいただきました。本日もありがとうございました。`
    ],
    active: [
      (name, m, f, a, memo) => `${name}、本日も大変意欲的に活動へご参加いただきました!\n特に${a}場面では素晴らしい集中力と力強さを発揮され、${m}。\nお食事も${f}、水分もしっかり補給されております。${memo}\n日々の積み重ねがしっかりお力になっていますね!本日もお疲れ様でした。`
    ],
    short: [
      (name, m, f, a, memo) => `${name}、本日も元気に来所されました。\n昼食は${f}。日中は${a}、${m}。${memo}\n体調変わりなく安定してお過ごしです。本日もありがとうございました!`
    ]
  };

  const moodMap = {
    smile: "「ここに来ると楽しいね」と満面の笑顔を見せてくださり、周囲を明るくしてくださいました",
    calm: "終始穏やかな表情でリラックスされ、ゆったりとした時間を楽しまれていました",
    talk: "懐かしい昔のお仕事やご家族のお話を熱心に語ってくださった",
    social: "お隣の方と趣味の話題で楽しそうに談笑され、フロアに素敵な笑い声が響いていました",
    active: "レクリエーションではひときわ素晴らしい活躍を見せられ、皆様から大きな拍手が送られていました",
    tired: "少しお疲れ気味のご様子も見られましたが、ご自身のペースで無理なくのんびりとお過ごしいただきました"
  };

  const mealMap = {
    full: "「美味しいね」と笑顔を浮かべながら綺麗に完食されました",
    good: "主食8割・副食全量をしっかりと召し上がり、食欲も旺盛でした",
    soup: "温かいお汁物やお好みの具材を中心に、美味しく召し上がられました",
    snack: "3時のおやつも「甘くて美味しい」と嬉しそうにペロリと召し上がりました",
    careful: "むせ込み等もなく、ご自身のペースでゆっくり味わいながら召し上がりました"
  };

  const actMap = {
    gym: "集団体操で大きく腕や足を伸ばし、気持ちよく身体を動かされました",
    rehab: "個別機能訓練にて正しい姿勢を意識しながら熱心に歩行練習に取り組まれました",
    craft: "手先を器用に使われ、素敵な作品作り(塗り絵・ちぎり絵)を完成させられました",
    sing: "音楽レクにて懐かしい名曲の数々をリズムに合わせて口ずさまれました",
    brain: "脳トレ・計算プリントに意欲的に挑戦され、見事に全問正解されました",
    bath: "温かいお風呂で温まり、「極楽だね、さっぱりしたよ」と最高のリフレッシュをされました"
  };

  const memoMap = {
    none: "",
    nails: "本日、爪切りを実施させていただき手元もすっきり清潔に整っております。",
    water: "水分摂取も良好で、本日計1,000ml以上しっかり補給されております。",
    nap: "食後に心地よくウトウトとお昼寝を挟み、午後もスッキリ活動されました。",
    thanks: "いつもデイサービスへの温かいご協力と持ち物のご準備、本当にありがとうございます。"
  };

  let lastIdx = -1;

  function generateComment(isAlternate = false) {
    const name = document.getElementById('userName').value.trim() || 'ご利用者 様';
    const mood = moodMap[document.getElementById('moodSelect').value];
    const meal = mealMap[document.getElementById('mealSelect').value];
    const act = actMap[document.getElementById('activitySelect').value];
    const memo = memoMap[document.getElementById('memoSelect').value];
    const tone = document.getElementById('toneSelect').value;

    const list = patterns[tone] || patterns.warm;
    let idx = Math.floor(Math.random() * list.length);
    if (isAlternate && list.length > 1 && idx === lastIdx) {
      idx = (idx + 1) % list.length;
    }
    lastIdx = idx;

    const generator = list[idx];
    const result = generator(name, mood, meal, act, memo);

    document.getElementById('outputText').value = result;
    document.getElementById('resultArea').style.display = 'block';
    document.getElementById('resultArea').scrollIntoView({ behavior: 'smooth' });
  }

  function copyText() {
    const text = document.getElementById('outputText');
    text.select();
    navigator.clipboard.writeText(text.value).then(() => {
      const toast = document.getElementById('toast');
      toast.style.display = 'block';
      setTimeout(() => { toast.style.display = 'none'; }, 2000);
    });
  }
</script>

</body>
</html>

6. 💬 現場の「リアルな生の声」を聞かせてください!

いつも記事を読んでいただき、本当にありがとうございます!
介護現場の残業やムダな手作業を1分でも減らすため、現役のみなさんが日々感じているリアルなお悩みをもとに、次の無料ツールや改善ノウハウを作っていきたいと思っています。

ぜひ、下のコメント欄で以下の3つについて教えていただけると嬉しいです!

  • ① あなたの施設で一番面倒なことはなんですか?

  • ② AIでできそうなことはなんですか?

  • ③ あなたにとって必要なデジタル化はなんですか?

「〇〇の書類作成が毎回手書きで本当にしんどい…」
「夕方の申し送りをスマホでパパッと音声入力したい!」
「うちの施設はPCが古すぎてDX以前の問題!」

など、どんな小さな愚痴やご意見、思いつきでも大歓迎です(番号への回答だけでもOKです!)。
いただいたコメントを参考に、次回以降の「完全無料ツール」として実際に開発・配布していきますので、ぜひお気軽にコメント欄で教えてくださいね!


7. 【まとめ】介護士が本当に時間を注ぐべきは「ペンを持つ手」ではなく「目の前の笑顔」

介護現場のICT化やAI活用というと、「なんだか難しそう」「現場の温かみが失われるのでは?」と警戒されることもあります。

でも、ツールの目的は「介護の手を抜くこと」ではありません。
**「書類や画面とにらめっこする時間をゼロにして、利用者様と目と目を合わせて笑い合う時間を取り戻すこと」**です。

夕方の送迎前、連絡帳書きの焦りから解放されて、「今日も楽しかったですね!また来週待ってますね!」と笑顔で利用者様の手を握って見送る。
そんなあたたかい時間と、定時でスッキリ帰れる夕方を、このツールで少しでもお届けできたら嬉しいです。

今日の現場も、本当にお疲れ様でした!

いいなと思ったら応援しよう!