Portfolio

CODE VOID

暗い空間に浮かぶガラスのエディターでコードが書かれ、光の粒子となって運ばれ、演算され、制作物として現れます。スクロールでその一連の流れを辿れます。

Code is written on a glass editor floating in dark space, carried away as particles of light, computed, and returned as finished work. Scroll to follow the whole run.

お使いの環境では3D表示を利用できないため、内容をテキストで表示しています。

3D rendering is unavailable in this environment, so the contents are shown as text.

制作物

Works

LLM_Local_Chat

完全ローカルで動く音声対話AIチャット。

A voice-conversation AI chat that runs entirely on the local machine.

音声入力から応答生成、読み上げまでを手元の環境だけで完結させる対話アプリです。会話内容を外部へ送信しない構成を前提に設計しています。

Speech input, response generation, and read-back all happen on your own machine. It is designed around never sending conversation content to an external service.

  • Python
  • llama-cpp-python
  • Whisper
  • Tkinter
  • Local only

GitHub

mewz

ローカルで動く行動・記憶管理エージェント。

A local agent that keeps track of actions and memory.

自然文の指示をローカルLLMで解釈し、TODO・予定・メモ・会話ログ・行動ログを扱うエージェントです。イベントバスとコントローラで入力と処理を分け、読む処理と書く処理の責務を分離しています。

A local LLM interprets plain-language input, then tools handle todos, schedules, memos, conversation logs and activity logs. An event bus and controller keep input separate from processing, and reading is kept apart from writing.

  • Python
  • SQLite
  • Local LLM
  • Whisper
  • Event bus

ローカルアーカイブ(未公開)

Local archive (not published)

mewmo

暗号化した保管庫を正本にするローカルメモアプリ。

A local note app whose source of truth is an encrypted vault.

ノートの正本を暗号化して保持し、Markdown・TXT・JSON・ZIPの取り込みとMarkdownでの取り出しに対応します。検索インデックスは正本から再構築でき、暗号化バックアップと読み取り専用の破損検査を備えます。Obsidian互換の保管庫ではありません。

Notes are held in an encrypted vault, with import from Markdown, TXT, JSON and ZIP and export back to Markdown. The search index can be rebuilt from the vault, and it includes encrypted backup plus a read-only integrity check. It is not an Obsidian-compatible vault.

  • Python
  • Encrypted vault
  • Local first

ローカルアーカイブ(未公開)

Local archive (not published)

voice_input

Windows向けのローカル音声入力。

Local speech-to-text input for Windows.

マイク音声をローカルのWhisperで文字起こしし、クリップボードへ残すか、安全確認をしてから前面のアプリへ貼り付けます。音声も文字も外部サービスへ送信しません。

Microphone audio is transcribed by a local Whisper model, then either left on the clipboard or pasted into the foreground app after an explicit confirmation. Neither the audio nor the text leaves the machine.

  • Python
  • faster-whisper
  • Hotkey
  • No upload

ローカルアーカイブ(未公開)

Local archive (not published)

voice_logger

話した内容をその場で文字にして書き溜める記録ツール。

A logger that turns what you say into text as you speak and keeps appending it.

マイク入力から発話している区間だけを取り出し、ローカルの音声認識にかけて、日付ごとのJSONLへ1行ずつ追記します。保存形式はそのJSONL1つだけで、中間ファイルや変換レイヤを持たない構成にしています。

It picks out just the stretches where you are actually speaking, runs them through local speech recognition, and appends them line by line to a JSONL file for the day. That JSONL is the only stored format: there are no intermediate files and no conversion layers.

  • Python
  • PySide6
  • webrtcvad
  • JSONL only

ローカルアーカイブ(未公開)

Local archive (not published)

biolog

家族の健康記録をセルフホストで管理するアプリ。

A self-hosted health record tracker for a family.

体温・血圧・脈拍・体重・体脂肪・食事や行動のログを日次で記録し、可視化します。SQLiteファイル1つで完結し、標準構成では同一PCからの利用だけを想定してlocalhostに限定しています。

Daily records of temperature, blood pressure, pulse, weight, body fat, meals and activity, with charts. Everything lives in a single SQLite file, and the default configuration binds to localhost for same-machine use only.

  • Python
  • FastAPI
  • Streamlit
  • Docker
  • Localhost only

GitHub

biolog_mobile

ホーム画面に追加して使う、オフライン対応の健康記録PWA。

An offline-capable health record PWA you add to your home screen.

サーバーやDockerを用意せず、公開URLを開いてホーム画面に追加するだけで使えます。記録は端末内に保存し、バックアップとCSV書き出しに対応します。現在はベータとして公開しているものです。

No server or Docker setup: open the published URL and add it to your home screen. Records stay on the device, with backup and CSV export. It is currently published as a beta.

  • JavaScript
  • PWA
  • Offline
  • Beta

GitHubWeb

Auto_BGM

ローカルBGM生成のワークフロー管理ツール。

A workflow tool for generating BGM locally.

プロンプトのキューを1回につき1件だけ処理し、生成・解析・採用までをデスクトップUIから扱います。生成済みの音声を削除・移動・上書きしない設計にしています。

It processes at most one queued prompt per run, and handles generation, analysis and adoption from a desktop UI. By design it never deletes, moves or overwrites audio that has already been generated.

  • Python
  • PySide6
  • Stable Audio
  • Queue based

ローカルアーカイブ(未公開)

Local archive (not published)

midi_maker

最小構成のMIDIエディタとパターン生成ツール。

A minimal MIDI editor with pattern generation.

ピアノロールでノートを手編集し、標準の.midで保存・読込ができます。スケールとリズムの指定から決まった手順でパターンを生成し、ローカルLLMからのテキスト指定は任意の追加機能です。時間はすべてtickで扱います。

Edit notes by hand in a piano roll and save or load standard .mid files. Patterns are generated deterministically from a scale and rhythm specification, with text input via a local LLM as an optional extra. All timing is handled in ticks.

  • Python
  • PySide6
  • mido
  • MIDI I/O

ローカルアーカイブ(未公開)

Local archive (not published)

totalmenulist

レシピ・献立・買い物リストをまとめて扱うデスクトップアプリ。

A desktop app covering recipes, meal plans and shopping lists.

レシピの登録・検索から献立の組み立て、材料を人数分に換算した買い物リストの生成までを1つのアプリで行います。手持ちの食材を入力するとスコアリングで献立を提案する機能もあります。外部サービス不要のローカル完結型です。

One app that goes from registering and searching recipes to building meal plans and generating a shopping list scaled to the number of people. Enter the ingredients you already have and it scores and suggests menus. It runs locally with no external service.

  • Python
  • Tkinter
  • SQLite
  • Offline

ローカルアーカイブ(未公開)

Local archive (not published)

kakeibo

レシート読み取りに対応したローカル家計簿。

A local household budget app with receipt reading.

手入力に加えてレシート画像やPDFを読み取って登録でき、店舗名と科目の対応を覚えます。円グラフや月別・科目別の比較、予算と固定費の管理、Excel出力、バックアップと復元に対応します。

Enter spending by hand or read it from receipt images and PDFs, and it learns which category each shop belongs to. Includes pie charts, monthly and per-category comparisons, budget and fixed-cost management, Excel export, and backup and restore.

  • Python
  • Tkinter
  • SQLite
  • OCR

ローカルアーカイブ(未公開)

Local archive (not published)

security

自分のPC1台の内部だけを見る、ローカル完結の監査ツール。

A self-contained audit tool that looks only inside my own PC.

監視の対象は、この端末自身が出している通信と、この端末の上で動いているプロセス・ファイアウォール設定・バックアップ状態だけです。外部のネットワークや他人の端末を覗くものではありません。記録した内容は端末内のSQLiteに残り、読み取り専用の画面で時系列に確認します。検知と記録だけを行い、自動で遮断や修復はしません。判断は人が行う前提です。インターネット接続も管理者権限も不要で、カーネルやドライバには触れません。

It watches only the traffic this machine itself sends, plus the processes, firewall settings and backup state on this same machine. It does not look at other networks or anyone else's devices. What it records stays in a local SQLite file and is reviewed through a read-only timeline. It detects and records only: nothing is blocked or repaired automatically, and every judgement is left to a person. It needs no internet connection and no administrator rights, and it never touches the kernel or drivers.

  • Python
  • FastAPI
  • Streamlit
  • SQLite
  • This PC only
  • Detect only

ローカルアーカイブ(未公開)

Local archive (not published)

english_app

自分の経験を1分の英語スピーチにして練習するWebアプリ。

A web app for rehearsing your own experience as a one-minute English talk.

日本語で書いた経験を英語のスクリプトに変換し、その内容を読み込んで練習ページとして表示します。読み上げにはローカルの音声合成を併用します。

An experience written in Japanese is turned into an English script, which the page then loads as a practice sheet. Playback uses a local text-to-speech engine.

  • HTML / JS
  • Piper TTS
  • Speaking practice

ローカルアーカイブ(未公開)

Local archive (not published)

english_speaking_trainer

「体験を英語で話す装置」を目指した試作。

A prototype aimed at being a device for talking about your own experience in English.

学習アプリらしさを出さず、自然さと1分という短さを優先する方向で設計した英会話練習の試作です。採点やテストは置いていません。単一HTMLの試作段階です。

A speaking-practice prototype designed to avoid feeling like a study app, prioritising natural phrasing and a one-minute length. There is no scoring or testing. It is still a single-HTML prototype.

  • HTML
  • Prototype
  • No scoring

ローカルアーカイブ(未公開・試作)

Local archive (prototype, not published)

USB_checker

USB機器の構成変化と打鍵の異常を見るWindows向けの検知ツール。

A Windows detector for USB configuration changes and typing anomalies.

接続中のUSB機器のインターフェース構成を、承認済みのベースラインと突き合わせて変化を検知します。あわせてキー入力のタイミング統計から自動打鍵の疑いを見ます。検知と記録だけを行い、遮断はしません。承認は必ず利用者が明示的に行い、初回も含めて自動では登録しません。管理者権限もネットワーク通信も使わず、追加の依存パッケージを持たない構成です。キー入力の内容は解釈せず、押下中を超えて保持しません。

It compares the interface layout of connected USB devices against an approved baseline and reports changes, and separately looks at keystroke timing statistics for signs of automated typing. It only detects and records: nothing is blocked. Approvals are always made explicitly by the user, never automatically, not even the first time. It needs no administrator rights, makes no network connections, and has no third-party dependencies. Key input is never interpreted and is not retained beyond the moment a key is held.

  • Python
  • Win32 API
  • Raw Input
  • No dependencies
  • Detect only

ローカルアーカイブ(未公開)

Local archive (not published)

Favorites_Launcher

登録したYouTubeのリンクを整理して、選んだ1件を既定ブラウザで開くランチャー。

A launcher that organises saved YouTube links and opens one in the default browser.

ブラウザのブックマークHTMLをフォルダ階層ごと取り込み、動画IDで重複をまとめます。1本の動画を複数のリストに所属させられる構成で、検索と並べ替え、順番またはシャッフルのキューに対応します。再生機能そのものは持たず、選んだ1件を通常のYouTubeページとして既定ブラウザで開くところまでを担当します。埋め込み再生やAPI連携は意図的に範囲外としました。

It imports bookmark HTML from a browser, folder tree and all, then merges duplicates by video ID. A single video can belong to several lists, with search, sorting, and an ordered or shuffled queue. It does not play anything itself: it opens the chosen video as an ordinary YouTube page in the default browser. Embedded playback and API integration were deliberately left out of scope.

  • Python
  • Tkinter
  • SQLite
  • Local only

ローカルアーカイブ(未公開)

Local archive (not published)

MeishiCraft

日本の名刺をレイアウトして、PNG・PDF・印刷まで出せるWindows向けのデスクトップアプリ。

A Windows desktop app for laying out Japanese business cards and exporting them to PNG, PDF, or print.

91×55mmの標準サイズを縦横どちらでも扱え、表面と裏面を編集できます。文字、画像、QRコード、図形、線を置いて、移動、拡大縮小、重ね順の変更ができ、取り消しとやり直しにも対応します。枠からはみ出した文字は警告で気づけます。位置はミリ単位で保持し、編集画面、PNG、PDF、印刷で同じ描画規則を使うため、画面で見たとおりに出力されます。作った名刺は1つのファイルにまとめて保存し、後から読み直して編集できます。書き出しはPNGが96、150、300 DPI、PDFは実寸で、名刺1枚でもA4用紙10面付けでも出せます。

It handles the standard 91x55mm card in either orientation, with a front and a back. You can place text, images, QR codes, shapes, and lines, then move, resize, and reorder them, with undo and redo. Text that overflows its box is flagged. Positions are kept in millimetres, and the same drawing rules are used on screen, in PNG, in PDF, and when printing, so the output matches what you designed. A card is saved as a single file you can reopen and keep editing. PNG exports at 96, 150, or 300 DPI, and PDF exports at true size, either as one card or ten to an A4 sheet.

  • Python
  • PySide6
  • segno
  • Windows
  • Local only

ローカルアーカイブ(未公開)

Local archive (not published)

QRCodeMaker

入力した内容を、読み取り可能なQRコード画像にするWindows向けアプリ。

A Windows app that turns what you type into a scannable QR code image.

URL、メールアドレス、電話番号、SMS、テキスト、Wi-Fiの接続情報、連絡先カードに対応し、スマートフォンのカメラで読み取れるQRコードをPNGで保存できます。CSVから連絡先をまとめて読み込めば、1人1ページのPDFや、1人1ファイルのPNGを一括で書き出せます。インターネットには接続せず、入力した内容が外部へ送信されることはありません。処理はすべて手元のパソコンの中だけで完結します。

It covers web addresses, email, phone numbers, SMS, plain text, Wi-Fi credentials, and contact cards, saving each as a PNG that a phone camera can read. Load a CSV of contacts and it will produce a PDF with one person per page, or one PNG file per person, in a single run. It never connects to the internet, so nothing you type is sent anywhere: everything happens on your own computer.

  • Python
  • PySide6
  • qrcode
  • Pillow
  • Offline

ローカルアーカイブ(未公開)

Local archive (not published)

Favorites_Launcher_iOS_Local

Windows版 Favorites_Launcher の書き出しを、iPhoneやiPadで開いて編集できる1ファイルのHTMLアプリ。

A single HTML file that opens and edits Favorites_Launcher exports on an iPhone or iPad.

サーバーもインストールも要りません。HTMLファイルを1つiPhoneのファイルアプリへコピーし、タップして開くだけで使えます。Windows版が書き出したブックマークHTML、JSON、CSVを、拡張子と中身から自動で判別して読み込み、一覧表示、検索、タイトルやリンクの編集、リストの作成と振り分けができます。編集した内容は、Windows版が読める形式へ書き戻せます。編集中のデータは画面を開いている間だけメモリに置き、ブラウザの保存領域は使いません。利用者が書き出したファイルを正本とする設計です。表示は端末のライトとダークの設定に追従します。

No server and no installation: copy one HTML file into the Files app on an iPhone and tap it to open. It reads the bookmark HTML, JSON, and CSV that the Windows version exports, working out the format from the file itself, then lets you browse, search, edit titles and links, and create and assign lists. Edits can be written back in a format the Windows version reads. Data being edited lives only in memory while the page is open, with no browser storage used, so the file you export is the record. The display follows the light or dark setting of the device.

  • JavaScript
  • HTML
  • Single file
  • iPhone / iPad
  • Offline

ローカルアーカイブ(未公開)

Local archive (not published)