Corporate Profile

困ったを良かったに変える

株式会社NSKは、Webサイトや業務システムの開発に加え、ネットワーク、PBX、AI連携の構築と保守を行います。 要件整理、実装、移行、運用保守を、お客様の業務に合わせて担当します。

ジムカーナ走行中の紫と黄色の競技車両
Field Tested 競技現場で確認した運用上の課題を、システム設計とプロダクトの改善に反映しています。

Company Profile

会社概要

Corporate Information

株式会社NSK

所在地
〒558-0055
大阪府大阪市住吉区万代5丁目13番19号
5-13-19,Mandai Sumiyoshi-ku Osaka-City Osaka Japan.
代表取締役
西川 佳廣
インボイス番号
T3120001244903
創業
2022年4月
事業内容
  • システムコンサルティング業務
  • モータースポーツ活動
  • コンピュータ・ソフトウェア及びシステムに関する事業
  • 通訳・翻訳業務及びそれに関する企画運営
  • 広告宣伝に関する企画・立案・運営及び代理業務
  • その他 関連する業務

Works

制作物・開発実績

掲載の承諾を得た顧客案件と自社制作物を紹介します。制作内容と、公開できる範囲の運用方法・技術構成を掲載しています。

エアロテックジャパン公式サイトのトップページスクリーンショット

Client Work

エアロテックジャパン様向けシステム支援

既存サイトの商品情報、ニュース、固定ページ、問い合わせ、資料を管理できる軽量CMSへ移行した案件です。

  • 旧サイトから商品128件、画像1,252点、仕様情報919件をUTF-8のMariaDBへ移行し、軽量CMSから管理できる形式に変換しました。
  • 商品、カテゴリ、ニュース、固定ページを日本語と英語で管理できます。閲覧言語を切り替えて表示し、各商品ページから問い合わせできます。
  • 商品画像はドラッグ&ドロップアップロード、メイン画像指定、並び替え、差し替え、削除に対応し、GDで大判/サムネイルを自動生成します。
  • 問い合わせフォームにはCSRF、honeypot、送信時間チェックを実装し、問い合わせ履歴を管理画面で確認できます。
  • 価格表PDFと営業カレンダーもCMSで管理できます。AI補助機能がPDFからブランド名、タイトル、公開日候補を抽出し、イベント名の英訳候補を作成します。
  • 旧URLを新URLへ転送し、旧画像を継続配信します。旧ページは隔離して表示できるため、既存資産を残したまま段階的に移行できます。
  • CMS
  • MariaDB
  • AI入力補助
  • 多言語
  • 運用支援
広田デンタルクリニック公式サイトのトップページスクリーンショット

Client Work

広田デンタルクリニック様向けWeb/業務システム支援

クリニック公式サイト、初診予約/問い合わせフォーム、メール送信、問い合わせ管理、休診日管理をPHP/MariaDBで構成した案件です。

  • 公式サイトのトップページから、診療案内、アクセス、問い合わせ、初診予約を確認できます。スマートフォンでも各フォームへ直接進めます。
  • 予約/問い合わせフォームはCSRF、honeypot、必須入力、メールアドレス検証、動的な入力切替、アプリ内ブラウザやCookie設定への案内を備えています。
  • 送信内容はまずMariaDBへ保存し、その後PHPMailerで医院通知と患者向け自動返信を送るため、メール未着やSMTP障害があっても管理画面から内容を確認できます。
  • SMTPは587 STARTTLS、465 SMTPS、25 SMTPを順に試します。送信設定、送信結果、エラー内容を保存し、メール未着の調査と再送に利用できます。
  • From/Senderを医院ドメインに固定し、Reply-Toに利用者のメールアドレスを設定します。SPF/DMARCに配慮しながら、医院から利用者へ返信できます。
  • 管理画面では問い合わせの検索、並び替え、詳細確認、対応状況の更新ができます。単日または期間で登録した休診日は、予約できない日と公開中の休診案内へ反映されます。
  • Clinic
  • Reservation
  • PHPMailer
  • MariaDB
  • Admin UI
近畿ジムカーナエントリーシステムの競技会一覧スクリーンショット

Motorsport

近畿ジムカーナエントリーシステム

近畿地区のジムカーナ/ダートラ/オートテスト等の競技会情報、エントリー受付、参加者・主催側の運用をWebで扱うオンラインエントリー基盤です。

  • 公開競技会一覧では、開催年、競技会種別、形式、キーワードで絞り込み、受付中/受付前/受付終了/満員などの状態を確認できます。
  • エントラント、クラブ、JMRC管理者のロールを分け、各立場の操作範囲を分離しています。公開ページからはサインイン後のエントリー導線へ接続します。
  • エントリーは下書き、申請完了、受理、キャンセルなどの状態を持ち、過去エントリーの複製や下書き保存により、参加者の再入力負担を下げます。
  • 競技会ごとに受付期間、定員、会場、主催者、資料PDF、参加費を管理し、申込完了時のメール通知や受付後の資料ダウンロード導線を用意しています。
  • 管理側では、イベント管理、参加者確認、受理、メールテンプレート、自動送信、問い合わせ、シリーズランキング/リザルト系の整理に対応しています。
  • セッション保存先をアプリ配下に持たせ、Plesk/PHP環境での長時間利用やスマートフォン表示に配慮しています。
  • Entry
  • Gymkhana
  • Role Management
  • Mail
  • Operations
全日本ジムカーナエントリーシステムの競技会一覧スクリーンショット

Motorsport

全日本ジムカーナエントリーシステム

全日本ジムカーナ選手権の申込を、Excel/紙中心の運用からWebフォーム、Excel入力補助、入金・受理・主催者管理へ移行するPHP/MariaDBのエントリー基盤です。

  • 従来の参加申込書、車両申告書、出場選手カード、参加申込明細書、練習会申込書の入力項目をWebフォームへ置き換える方針で設計しています。
  • 過去のExcelは入力候補の作成に使います。Python解析とAI補助解析を組み合わせ、プロフィール、参加申込、車両申告、選手カードへ候補を反映します。
  • エントラント登録、主催チーム登録、Googleサインイン、メール認証、30日セッション、マイページ、直近エントリーのコピー開始に対応しています。
  • 競技会一覧では受付状況、申込期間、定員、現在台数、特別規則書リンクを公開し、参加者が申込可能な大会を判断しやすくしています。
  • イベントごとにクラス、料金、公開練習/金曜練習、サービス員、資料公開を管理し、固定値をコードへ埋め込まず競技会単位で設定できる方針です。
  • 管理側では、JAF車両、ランキング、リザルト、主催者、入金確認、受理、ゼッケン、資料出力などを領域ごとに分け、公開情報と非公開情報を分離しています。
  • Entry
  • Excel Assist
  • AI補助解析
  • JAF
  • Organizer

AI / PBX

IZUMO-PBX連動のAI電話エージェント

Asterisk/PBXへの着信にAIが一次対応し、問い合わせへの回答、要件整理、RAG検索、通話履歴の保存、保留転送を行う電話応対基盤です。

  • バックエンドはPython 3.12 + FastAPI、管理画面はReact + TypeScript + Vite + Bootstrap、DBはMariaDB、キュー/キャッシュ準備にRedisを採用しています。
  • 常駐SIPクライアントとしてAsteriskへREGISTERし、INVITE/SDP/RTPを直接処理して、OpenAI Realtime WebSocketへ音声を中継する構成にしています。
  • Realtime音声会話と、STT、LLM、TTSを順に使うフォールバックを用意し、割り込み会話と障害時の切り替えを検証しています。
  • RAGは回答根拠の検索に限定し、予約作成、転送、ブロックなどの状態変更はAction層と監査ログで扱う方針にしています。
  • 手動テキスト、ファイル、Web URL、Google Docs/Sheets共有リンクを取り込み、検索テスト、通話中検索、RAG利用情報を含む通話履歴表示に対応しています。
  • IZUMO-PBXのパーク保留方式を前提に、SIP REFER、BLFによる空きパーク番号確認、担当者内線への自動音声通知、担当者不可時のAI再接続までを検証対象にしています。
  • PBX
  • AI Agent
  • FastAPI
  • Realtime
  • RAG
  • Call History

AI / Messaging

LINE AI Agent

LINE公式アカウントのWebhookを受け、会話、添付、実行ジョブをDBに保存し、常駐ワーカーがCodexを実行してLINEへ返信するAIエージェント基盤です。

  • 公開サーバではPHPがWebhookを受け、MariaDB/MySQL互換DBへ保存します。Codex CLIは別のワーカーで実行し、AI実行環境を公開サーバから分離しています。
  • LINEの署名検証、1対1会話、グループ/ルーム内のメンションや明示呼び出し、プロジェクト別作業ディレクトリ選択、現状報告に対応します。
  • 画像、動画、音声、ファイル添付をLINE Content APIから取得し、Webルート外へ保存します。画像はCodex CLIへ渡せる設計で、実行ファイル、スクリプト、マクロ付きOffice、アーカイブ、大容量ファイルは拒否します。
  • 会話履歴とAI回答をDBへ保存し、FULLTEXT検索とLIKEフォールバックで過去知識を参照できるようにしています。
  • 重い処理や添付を含む依頼は即時応答で受け付け、常駐ワーカーがジョブ取得、Codex実行、完了通知、LINE push message送信を担います。
  • LINEチャネルシークレット、アクセストークン、DBパスワード、ワーカートークン、添付ファイル実体、実行ログは公開対象外として扱います。
  • LINE
  • AI Agent
  • Webhook
  • PHP
  • MariaDB
  • Codex CLI

AI / Decision Support

jev_into_codex

Codexが候補の選択や順位付け、分類、採点、根拠の確認を行う前に、JEVへ型付きの判断を依頼するスキルです。オープンソースとして公開しています。

  • 依頼内容がスキルの説明に合うとCodexが判断した場合は、利用者がスキル名を指定しなくても読み込みます。すべての発話を強制的に処理する仕組みではありません。
  • Codexは候補、判断基準、処理の実行を担当し、JEVはchoice、score、noulの型に沿って小さな意味判断を返します。自由文やコードを生成するLLMの代わりにはしません。
  • 同梱のPythonスクリプトはTypeSafeのPOST /v1/systemoneを呼び、候補、確率分布、確信度、採点結果の整合性を確認します。
  • APIキーが未設定の場合や、通信障害、再試行後も続くレート制限、応答不整合、機密情報らしき入力を検出した場合は、JEVの判断を採用せずCodex側の処理へ戻します。
  • Python 3.10以上で動作し、HTTPクライアントやTypeSafe SDKの追加導入は不要です。npxコマンドでユーザー環境へ導入できます。
  • TypeSafeのAPIキーは実行環境のTYPESAFE_API_KEYへ設定します。リポジトリ、.env、コマンド引数、ログ、会話には記録しません。
  • Codex Skill
  • JEV
  • TypeSafe
  • Python
  • Open Source

NFC / URL Redirect

NFC Redirect

NFCとは、数cm程度の近距離で無線通信を行う規格です。NFCタグやNFC内蔵ピンバッジに固定URLを記録し、スマートフォンをかざした利用者を管理画面で設定した転送先へ案内するPHPアプリケーションです。

  • NFCタグには識別子を含む固定URLを書き込みます。管理画面から転送先を変更できるため、配布済みのタグやピンバッジを書き換えずに案内先を切り替えられます。
  • 管理コンソールでは、NFC識別子と転送先URLを登録、編集、削除できます。転送回数と最終アクセス日時を確認し、アクセス解析画面も開けます。
  • 転送には302レスポンスと`Cache-Control: no-store`を使います。NFCタグのURLを変えずに、管理画面で変更した転送先を反映できます。
  • CSRF対策、パスワードハッシュ照合、HTTPS専用Cookie、セッションのアイドルタイムアウト、ログイン試行待機制御を備えます。公開URLの入力値を転送先として使わず、管理者が保存したHTTP/HTTPS URLだけを転送対象にします。
  • PHP/MariaDBとApache mod_rewriteを前提に構成し、アプリケーションと本番固有の設定を公開ディレクトリから分離します。
  • NFC
  • PHP
  • MariaDB
  • URL Redirect
  • Admin UI

Automation

Chatworkの未読を一括既読

大量のChatwork未読を、利用者が任意のタイミングで確認してから一括既読にするWindows向け小規模業務自動化ツールです。

  • Windows 10/11とWindows PowerShell 5.1だけで動作し、追加の.NET SDK、Python、Node.jsを必要としません。
  • 起動すると未読ルーム数、未読メッセージ数、自分宛て未読数を表示し、「はい」を選んだ場合だけ既読化します。「いいえ」では何も変更しません。
  • Chatwork APIキーは現在のWindowsユーザー向けにDPAPIで暗号化して保存し、設定時にはChatwork APIへ接続して有効性を確認します。
  • Chatwork APIに全チャット一括既読の専用エンドポイントはないため、`GET /my/status`、`GET /rooms`、`messages?force=1`、`messages/read` を順に使って未読ルームだけ処理します。
  • 2025年7月以降のChatwork API仕様に従い、POST/PUT系パラメーターは`application/x-www-form-urlencoded`のボディで送信します。
  • 自動常駐やWindows起動時の自動実行は行わず、重要な未読も既読になるリスクを確認ダイアログで明示する設計です。
  • Chatwork
  • Windows
  • PowerShell
  • DPAPI
  • Automation
GASMEET管理画面のシステム設定スクリーンショット

Meeting Booking

GASMEET オンラインミーティング予約システム

Googleカレンダーの空き状況を参照し、Jitsi Meetの参加URLを自動発行するPHP製のオンラインミーティング予約システムです。

  • 予約フォームで氏名、所属、電話番号、メールアドレス、希望日時を受け付け、平日10:00から18:00までの1時間枠を候補として提示します。
  • Google Calendar APIで対象カレンダーの予定と日本の祝日を参照し、既存予定と重複しない空き枠を算出します。
  • 予約確定時にGoogleカレンダーへ予定を登録し、Jitsi Meetの参加URLを自動生成して、申込者宛メールと管理者宛通知メールをSMTPで送信します。
  • 管理画面では予約一覧、予約削除、連携しているGoogleカレンダー予定の削除、ページタイトル、フォーム項目名、メール本文、SMTP、Google連携設定を確認・設定できます。
  • 初回セットアップ画面でDB接続情報、管理者パスワード、Jitsi URL、管理者メール、SMTP設定を保存し、小規模PHPアプリとして導入できるようにしています。
  • config.local.php、logs、.env、credentials.json、DB/SMTP/Googleサービスアカウント情報は公開対象外として扱います。
  • PHP
  • Google Calendar API
  • Jitsi Meet
  • SMTP
  • Admin UI
Cool Mail Listの宛先管理画面スクリーンショット

Mail Delivery

Cool Mail List メール配信管理システム

PHP/MariaDBとPHPMailerで構築するメール配信管理システムです。宛先管理、SMTP送信、配信キュー、購読停止、バウンス処理、AI文面提案を備えています。

  • LaravelやComposerに依存せず、PHPMailerを同梱してSMTP送信を行うPHP/MariaDB構成です。
  • メールアドレス/パスワード認証、管理者承認前提の利用者登録、ロール別メニュー表示、URL直アクセス制限を備えています。
  • 宛先の登録、検索、ステータス管理、CSV/TSV/テキストの宛先インポートに対応し、複数組織のデータ分離も想定しています。
  • 送信者アドレスとSMTP設定を紐付け、SMTPパスワードやOpenAI APIキーをAPP_KEYで暗号化して保存する設計です。
  • テキスト/HTMLメールテンプレート、テンプレート版保存と差分比較、PHPMailerによるテスト送信、キャンペーン作成、宛先別キュー生成に対応します。
  • cronによる低速キュー配信、VERP形式Return-Path、List-Unsubscribe/One-Click List-Unsubscribeヘッダ、ログイン不要の購読停止を備え、配信停止導線を明確にしています。
  • DSNバウンス解析、IMAPによるバウンスメール定期取得、DNS診断、Googleログイン、AI文面提案、監査ログを備え、配信前後の確認と運用履歴を追えるようにしています。
  • PHP
  • MariaDB
  • PHPMailer
  • Mail Queue
  • Bounce Handling
  • AI文面提案

Network Tool

UDP Fast Copy 超高速ネットワーク間コピー

UDPを使って、信頼できる同一LAN内のPC、NAS、バックアップ端末間で大容量ファイルやディレクトリを高速転送するCLIツールです。

  • TCPベースのコピーで速度が伸びにくい環境を補完し、1Gbps以上の有線LAN帯域をできるだけ活用することを目的にしています。
  • ファイル単体とディレクトリ再帰転送に対応し、転送先の親ディレクトリを自動作成して相対パスを維持したコピーを行います。
  • 欠落パケットに対するNACKベースの再送制御と、受信側512MBリングバッファにより、ネットワークとディスク書き込みの揺れを吸収します。
  • Windows 64bitとLinux x86_64向けの配布物を用意し、Go標準ライブラリのみで構成しています。
  • 既定ポートはUDP 50600で、Windows/Linux双方から `/send` / `/receive` と `-send` / `-receive` の形式で扱えます。
  • 信頼できるローカルネットワーク内での利用を前提とし、暗号化や認証は行いません。インターネットや共有ネットワークでは使用しないでください。
  • UDP
  • LAN Transfer
  • Windows
  • Linux
  • Go

Motorsport PR

モータースポーツ活動

サーキットを走行する紫と黄色の競技車両
競技会の申込、受付、記録、分析、連絡を、実際の運用で確認しています。

Public Relations

競技会で確認した要件を開発へ反映

競技会の運営や参加を通じて、申込・受付の流れ、動画分析、情報発信の課題を確認しています。 確認した要件は、エントリーシステム、SyncA、業務自動化ツールの改善に反映します。

  • 競技会で申込、受付、公開情報の分かりやすさを確認します。
  • 走行動画の比較方法を、SyncAの利用例として紹介します。
  • 競技活動と開発成果を、写真、動画、システムの実績として公開します。

Public Relations

モータースポーツ活動の紹介

ジムカーナを中心とした競技活動、参加イベント、関連する制作物を紹介します。

Public Relations

競技会運営でのプロダクト検証

競技会の申込・受付や走行動画の比較を通じて、エントリーシステムとSyncAに必要な改善を確認します。

Public Relations

近畿ジムカーナのオンライン申込

競技会一覧で受付状況と申込期間を確認し、対象の大会へオンラインでエントリーできます。

Products

プロダクトと技術検証

Network Security

SyncA UTM

ネットワーク接続、防御、VPN、DNS/DHCP、証明書、集中管理の機能を備えたLinuxベースのUTM・ルーターアプライアンスです。

Video Analysis

SyncA

走行動画やスポーツフォーム確認向けに、最大10動画の同期再生、区間タイム計測、差分表示、Excel出力を行うWindows向け動画比較ツールです。

LAN Transfer Tool

UDP Fast Copy 超高速ネットワーク間コピー

UDPを使って同一LAN内の大容量ファイルやディレクトリを高速転送するCLIツールです。Windows/Linux対応、NACK再送制御、受信側リングバッファを備えます。

Meeting Booking

GASMEET

Googleカレンダーの空き状況を参照し、Jitsi Meet参加URLを自動発行するPHP製オンラインミーティング予約システムです。

AI Messaging Agent

LINE AI Agent

LINE公式アカウントから受信した会話、添付、ジョブを保存し、別の常駐ワーカーでCodexを実行してLINEへ返信するAIエージェント基盤です。

AI Decision Support

jev_into_codex

Codexが候補選択、分類、採点などを行う前にJEVを呼び出し、型付きの小さな意味判断を利用するオープンソースのCodexスキルです。

NFC Redirect

NFC Redirect

NFCは数cm程度の近距離無線通信規格です。NFCタグや内蔵ピンバッジの固定URLから、管理画面で設定した転送先へ案内するPHP/MariaDBアプリケーションです。

Mail Delivery

Cool Mail List

PHP/MariaDBとPHPMailerで構築するメール配信管理システムです。宛先、SMTP設定、テンプレート、配信キュー、購読停止、バウンスを管理し、AIが文面を提案します。

SyncA

最大10本の動画を同期し、走りの違いを比較する。

SyncAは、走行動画やスポーツフォーム確認を目的に、複数の動画を同じ時間軸で比較する動画解析ツールです。

SyncA紹介ページのスクリーンショット
SyncA紹介ページとアプリ画面のスクリーンショット。

走行ライン、フォーム、区間タイムを並べて確認

最大10本の動画をフレーム単位で同期し、スタート、区間、ゴールの計測ポイントを設定できます。 タイム差を色分けして、走行やフォームの違いを映像と数値で確認できます。ローカル動画とYouTube動画に対応し、Build版ではMTSやMOVをMP4へ変換してから分析できます。

最大10動画の同期比較

ローカル動画とYouTube動画を読み込み、複数の走行やフォームをフレーム単位でそろえて確認できます。

区間タイムと差分の比較

スタート、区間、ゴールの計測ポイントから、トータルタイム、区間タイム、トップとの差分を自動計算します。順位と差分は色分けして表示します。

結果確認とExcel出力

計測結果は文字サイズを調整でき、別ウィンドウ表示やExcel出力により、マルチモニタ環境や記録整理にも使えます。

Windows向けBuild版の動画変換

MTS/MOVやインターレース動画など、ブラウザで扱いにくい素材をMP4へ変換し、進捗や残り時間を見ながら分析準備を進められます。

Labs / Fun

実験・ネタ制作

小規模な制作物と技術実験を紹介します。

ScreenGuruGuru

Windowsの画面表示を回転させる小さな実験用ツールです。実行時の動きは、掲載している動画で確認できます。

remotework

リモートワークを題材にした技術実験です。

懐かしのMooMooエンコード

平文とMoo/moo文字列を相互変換する、シャレと実験の公開Webページです。

Contact

問い合わせ

Webサイトや業務システムの制作、既存システムの復旧・引き継ぎ、PBX・ネットワーク・UTMの構築、AI連携、運用自動化について相談できます。 必要な情報をフォームから送信してください。入力されたメールアドレスへ、送信内容の控えを自動送信します。

  • 公開前の案件、障害対応、既存システムの引き継ぎも相談できます。守秘範囲と対応内容を確認したうえで進めます。
  • 担当者が内容を確認し、対応できる範囲を整理してご連絡します。
10文字以上、3000文字以内で入力してください。

送信内容は問い合わせへの回答目的で利用します。