About Me

普段は製造現場で勤務しながら、休日に個人でプログラミングやWebアプリの開発を行っています。

「こういうツールがあったら便利だな」「やってみたい」と思ったアイデアをもとに、PHPやJavaScript、Pythonなどを使って学習しながら形にしています。

※私自身に感音性難聴(聴覚障がい)があります。仕事や日常でのコミュニケーションでは、聞き取りやすさへのご配慮や筆談・文字での補助などお願いします。

製造業 個人開発 PHP / JavaScript / Python Webアプリ制作
AI Web Tool

Hub(AI MIND MAP)

非公開(API制限のためスクショ紹介)

キーワードを入力するだけで、自動で階層的なマインドマップを生成・視覚化するWebツールです。APIのレート制限等の関係から現在一般公開はしていませんが、実際の画面イメージを以下に掲載しています。

アイデア元は、『Mapify』です。このサイトを無料で使用したところ1回だけで使えなくなってしまったので何度でも利用をと思い作りました。本家とは違って簡易版ですが、個人使用には十分かなと思っています。本格的にやるなら『Xmind』の使用を勧めます。

※ 画像をクリックすると原寸サイズで表示できます

Hub AIマインドマップ スクリーンショット
原寸サイズで見る
Web App & Windows Tool

NSP(Need Shift Planner) シフト自動作成システム

二勤交替(D/N/O)対応 Webアプリ&Windows自動生成ツール

■ NSPの作成理由

PHPやJavaScriptの学習を兼ねて、製造現場の二勤交替(D/N/O)における「制約付きシフト作成ツール」の開発に挑戦しています。これは、看護師の勤務編成で知られる『ナーススケジューリング問題(NSP)』と同じ系統の難題ですが、実装を進める中で「あったら便利だな」と思う機能を次々と追加していきました。

■ NSPで出来ること(概要)

シフト作成、希望申請、スタッフ管理、CSV入出力、連絡、監査・バックアeeップをまとめて行えます。(※Webアプリ内でWindows専用自動作成ツールのダウンロードも可能です)

■ Webアプリ側の主な機能

  • カレンダー表示・日別の編集・一括入力・担当の入れ替え
  • 希望申請(本人/代理入力)と締切・未提出者への通知
  • スタッフ管理(配慮業務、勤務可否、月間上限、出勤パターン、社員番号)
  • 応援(班をまたぐ貸出)の候補表示・申請・承認
  • CSV入出力(取込はプレビュー確認後に反映、反映前バックアップ)
  • 連絡スレッド(全員/グループ/個人宛、任意のメール通知)
  • 監査ログ・月次バックアップ/復元・テーマと画面状態の保存

■ Windows専用自動作成ツールについて

「シフト表の下書きを、条件を守って自動で作ってくれる道具」です。人が手で組むより速いですが、「完璧に公平で、いちばん良い組み方」を保証するものではありません。

【できること】
  • 班ごと・日ごと・昼/夜ごとに、必要な人数をそろえる
  • 工程ごとに必要な人数を満たす(「この工程が苦手」な人は外して数える)
  • 連続勤務の上限・勤務間の十分な休息・日勤系から夜勤への前休み(絶対に守る条件)
  • 夜勤の上限(月・週・連続)はソフトに抑制(状況により譲ることがある)
  • 週の公休(完全な週は絶対、月端はソフト)と、月の公休日数(月途中は在籍日数で按分)
  • 希望休をできるだけ通す(「必須」は固定、「できれば」は優先して寄せる)
  • 昼だけ/夜だけの人、入社前・退職後・休職中の人は入れない(月の途中開始にも対応)
  • 班をまたぐ応援を人数に反映(承認された応援だけ)
  • 一度決めた日・過去の日は、勝手に変えない
  • 祝日の日勤必要人数の加算や、夜勤後の追加休みは設定で有効化できる(いずれも初期はオフ)
【苦手なこと(手動での調整が必要な部分)】
  • 「夜勤の回数」や「休日の取り方」の公平さを、計算でそろえるのは弱いです。自動で調整するのは公休数の差だけで、夜勤・週末・負荷の偏りは最後に人が見て調整します。
  • 工程ごとの人数は「その工程ができる人が何人勤務しているか」で数えるため、同じ人がいくつもの工程の人数として重複して数えられることがあります。「誰がどの工程を担当するか」までは決めていません。
  • 残業や実際の勤務時間の管理はざっくりしています(「1日8時間」で数える近似)。
  • 決まった順番のローテーション(例:昼勤2日 → 夜勤2日 → 休み2日、のような繰り返し)を自動で守らせることはしません。夜勤2連の弱い加点や、週内の日夜混在の抑制はありますが、保証はしません。
  • 資格や熟練度で人を選ぶことはしません(「この工程が苦手」を外すまで)。
  • 出てくるのは「制限時間内で見つけた良い案」で、数学的に「最善」という保証はありません。条件が厳しすぎると、調整用の仮の案が出てくることがあります(そのままは保存できません)。

【総合評価】

・シフト表の下書き作りには十分使えるかと思います。最低人数・工程の人数・法律や社内ルール寄りの条件・希望・休職/入職を、同時にそこそこ満たした案を出せます。

・「公平さまで自動で完璧」はまだです。夜勤の偏りや工程の割り振りは、人が仕上げる前提です。

■ 全体を通した反省点

事前の要件定義や納期設定を行わないまま思いつくままに開発を進めたため、機能追加と完璧な「質」の追求に終始してしまい、開発の収束が難しくなったこと。