パソコンやPCで、メモ帳的なものはたくさんありますが、あえて盆休みを利用してメモ帳アプリを作ってみました。
純正のメモ帳やGoogle Keep、NotionやObsidianなどシンプルなものから多機能なものまで様々なものが選べます。ただ、データの取り回しが面倒だったりするので、色んなところにデータがとっちらかっています。どこかにまとめたいなと常々思っています。
その解決策にはほど遠いのですが、JSONファイルに書き込むメモ帳を作ったら、クラウド上でiPhoneとMacで同時に使えそうだったので、AIにお願いして作ってみました。
- 時系列で並ぶメモ帳+検索+ワードクラウド画像
- キーボードでほぼすべての操作が完結
- 検索が爆速
- 感想
- Readmeファイル
- MeCab版
- Janome版
- MeCabのインストール(Homebrew)
- Pythonライブラリのインストール

時系列で並ぶメモ帳+検索+ワードクラウド画像
本アプリの特徴は、タイムスタンプをキーとして時系列で並べているだけのメモ帳です。
日付、タイトル代わりのタグ、本文の3要素しかありませんが、検索で絞り込めるため、思い出したいときにサッと振り返れるのがいいかと思います。

使いはじめて5日ほどですが、その感想をまとめると、
- 検索は爆速
- 自分がプロデューサーなので、思い付くままに機能を追加できるのが便利
- アプリとして一つにまとめなくても、データはあるので、外部にプログラムを作れば機能追加できる。
まだメモの数が少ないのでデータ数が増えてくるとどうなるのかも、やってみないとわかりません。

2週間ほど前に文章を形態素解析するワードクラウド画像を出来るようにライブラリを追加したので、こちらのメモアプリにも追加してみました。
GPT-5に作ってもらったダミーデータのJSONファイルを読み込ませて作成したワードクラウド画像がこちら。

キーボードでほぼすべての操作が完結
プログラムを立ち上げてしまえば、ほぼキーボードだけで操作できるようにしました。
新しいメモを追加するときは「コマンド+N」、検索するときは「コマンド+F」、メインウインドウに戻るときは「エスケープ」など、Pythonでは一つ一つの機能にキーボードショートカットを設定できるようです。


Readmeファイルに記載されていたキーボードショートカット
Cmd+N: 新規メモ作成Cmd+F: 検索フィールドにフォーカスCmd+S: メモ保存(追加・編集画面)Return: メモ保存Escape: キャンセル
ワードクラウド画像作成などの機能があるので、あとは'self.root.bind'で設定できるようです。
検索が爆速
表示させているのはダミーデータです。ダミーデータですらGPT-5に書いてもらいました。30件ほどのデータなので、文字どおり爆速で検索されます。

仕事のメモ書きや読書メモでも、ひと言書いておく習慣をつけたいものです。
感想
今日も、大変楽しくプログラムを作る指示をAIに出しまくっていたら、お昼をとっくに回って、もうおやつの時間になりました。そろそろジムに行こうかと思うので、感想をまとめておきます。
早いのは今のうちだけかも
データ数が少ないと検索も早いだろう。現在のメモ件数は41件、文字数は2,843文字。1メモあたり70文字程度。これが増えてきたときにどうなるのかは検証していきたい。

AIにアプリを作らせてみて感じていることを綴る
1990年前半に大学生協で買ったMac IIvxを皮切りに、プログラミングに興味はありました。少し書き出すがエラーが出まくりで、全然進まないので、挫折する人生を送ってきました。HTMLとCSSぐらいでしょうか、アマチュアレベルに書けるようになったのは。
行末にセミコロンを打つとか、インデントをそろえるとか、空白を入れるとか、プログラミングの作法すら覚えられませんでした。つくづくダメ人間だなぁとつねづね感じていました。
ただ、AIにお願いするとそういう細々としている商的なところは、全部お任せできる助かります。こちらがやるのはアイデア出しだけで済みます。
ここでは、全てのフィールドを対象に検索対象にしてほしい
設定画面でJSONファイルを選択できるようにしてほしい
こういうことやってくれると使い勝手が良いかも、作業が楽かもということが、指示するだけで形になっていくので、大変楽しいです。
と言っても、継ぎ足しで機能を追加していくと、問題が何度も起こります。何度もAIに指示を出して、エラーメッセージを送ってと、10往復ぐらいしてようやく解決した問題もありました。根気と時間は必要ですね。久しぶりに長時間PCにぶっ続けで向かいました。
私がやるよりはよっぽど早いのですが、AIに作業をさせると作業完了まで数分かかるので、AIへの指示をメモったりして効率的に進めていきたいものです。
自力でコード書ける人はかっこよいですね。
Readmeファイル
クリックでReadmeファイルの全文が見れます
# 時系列メモアプリ iPhoneのPythonistaで使用するメモアプリをmacOSでも動作するように移植したバージョンです。 ## ファイル構成 - `pythonista-memo.py` - Pythonista版 - `macos-memo.py` - macOS GUI版(tkinter使用) - `cli-memo.py` - macOS CLI版(コマンドライン) - `wordcloud/` - ワードクラウド生成スクリプト - `mecab_wordcloud.py` - MeCabを使用したワードクラウド生成 - `jananome_wordcloud.py` - Janomeを使用したワードクラウド生成 ## 機能 ### 基本機能 - 時系列メモの追加(タイムスタンプ自動付与) - タグによる分類 - JSON形式での保存 - メモの編集・削除機能 ### 検索機能 - リアルタイム検索(全フィールド対応) - 詳細検索メニュー(タグ、メモ内容、日付別) - 検索結果のハイライト表示 ### 多ファイル対応 - 複数のJSONファイルの管理 - ファイル切り替え機能 - 新規ファイル作成 - 既存ファイルのインポート ### ワードクラウド機能 - 現在選択中のメモファイルからワードクラウド生成 - 日本語形態素解析対応(MeCab/Janome) - タイムスタンプ付きファイル名で保存 ### キーボードショートカット - `Cmd+N`: 新規メモ作成 - `Cmd+F`: 検索フィールドにフォーカス - `Cmd+S`: メモ保存(追加・編集画面) - `Return`: メモ保存 - `Escape`: キャンセル ## 使い方 ### 1. macOS GUI版 (`macos-memo.py`)
python3 macos-memo.py
#### メイン画面 - **Excel風の表形式表示**: 日時、タグ、本文を列で表示 - **リアルタイム検索**: 上部の検索フィールドで全フィールド検索 - **ワードクラウド作成**: 現在のメモファイルからワードクラウドを生成 - **設定**: ファイル選択と管理 #### メモ操作 - **新規メモ**: 「新規メモ」ボタンまたは `Cmd+N` - **編集**: メモをダブルクリック - **削除**: メモを選択して「削除」ボタン #### 検索機能 - **リアルタイム検索**: メイン画面の検索フィールド - **詳細検索**: 「詳細検索」ボタンで詳細検索メニューを開く #### ファイル管理 - **設定**: 「設定」ボタンでファイル選択画面を開く - **ファイル切り替え**: 設定画面で使用するJSONファイルを選択 - **新規ファイル作成**: 設定画面で新しいJSONファイルを作成 - **ファイルインポート**: 既存のJSONファイルをインポート #### ワードクラウド作成 - **ワードクラウド作成**: 「ワードクラウド作成」ボタンで現在のメモファイルからワードクラウドを生成 - **出力先**: `wordcloud/`フォルダにタイムスタンプ付きで保存 ### 2. macOS CLI版 (`cli-memo.py`)
python3 cli-memo.py
- コマンドラインインターフェース - 軽量で高速 - ターミナルから直接操作 ### 3. Pythonista版 (`pythonista-memo.py`) - `text_dialog`のみを使用してタグ入力エラーを回避 - 検索機能付き(タグ、メモ内容、日付) - 最も安定して動作するバージョン - タイムスタンプ形式統一済み ## 保存場所 ### メモファイル - **デフォルト**: `memos/timeseries_memo.json` - **複数ファイル対応**: `memos/`フォルダ内の任意のJSONファイル ### ワードクラウド - **出力先**: `wordcloud/`フォルダ - **ファイル名**: `wordcloud-YYYY-MM-DD-HH-MM.png` - **Janome版**: `wordcloud-YYYY-MM-DD-HH-MM-jananome.png` ## 動作確認 ### macOS GUI版のテスト
python3 macos-memo.py
### macOS CLI版のテスト
python3 cli-memo.py
### ワードクラウド生成のテスト
MeCab版
python3 wordcloud/mecab_wordcloud.py
Janome版
python3 wordcloud/jananome_wordcloud.py
## 依存関係 ### macOS GUI版 - `tkinter` (標準ライブラリ) - `json` (標準ライブラリ) - `datetime` (標準ライブラリ) ### ワードクラウド生成 - `MeCab` (日本語形態素解析) - `Janome` (日本語形態素解析) - `wordcloud` (ワードクラウド生成) - `matplotlib` (画像表示) ### インストール方法
MeCabのインストール(Homebrew)
brew install mecab mecab-ipadic
Pythonライブラリのインストール
pip3 install mecab-python3 wordcloud matplotlib janome
## 注意事項 - Pythonista版は`dialogs`モジュールに依存するため、macOSでは動作しません - GUI版は`tkinter`を使用しているため、macOSに標準でインストールされているPythonで動作します - CLI版は標準ライブラリのみを使用しているため、どの環境でも動作します - ワードクラウド生成には日本語フォントが必要です(自動検出機能付き) ## トラブルシューティング ### ワードクラウド生成でエラーが発生する場合 1. **MeCabのインストール確認**: `brew list mecab`でインストール状況を確認 2. **日本語フォントの確認**: システムに日本語フォントがインストールされているか確認 3. **Pythonライブラリの確認**: `pip3 list | grep -E "(mecab|wordcloud|matplotlib)"`でライブラリを確認 ### ファイル切り替えでエラーが発生する場合 1. **ファイルパスの確認**: 設定画面でファイルパスを確認 2. **ファイル権限の確認**: JSONファイルの読み書き権限を確認 3. **ファイル形式の確認**: JSONファイルが正しい形式か確認 ### 検索機能が動作しない場合 1. **検索フィールドの確認**: メイン画面の検索フィールドが有効か確認 2. **データの確認**: メモデータが正しく読み込まれているか確認 3. **文字エンコーディングの確認**: UTF-8で保存されているか確認 ### タイムスタンプ形式について すべてのバージョンで統一されたタイムスタンプ形式を使用しています: - **形式**: `2025-08-12 11:16:12` (読みやすい形式) - **ISO形式(T付き)は使用していません**: `2025-08-12T10:52:21+09:00` ## 更新履歴 ### 最新版 - ワードクラウド作成機能を追加 - 多ファイル対応を実装 - リアルタイム検索機能を追加 - キーボードショートカットを追加 - Excel風の表形式表示に変更 - メモ編集・削除機能を追加 - ウィンドウ配置を改善