LINE Bot + Pixela で日々の活動を見える化した話
- ジョギングやボイトレ記録を Pixela でグラフ化
- ついでにメモを Notion へ直接保存
週末にこんな LINE Bot を作ってみたら、自分には思った以上に実用的だった🙃
ジョギングをすぐサボっちゃうのを見える化して何とかしたい、Notion 公式アプリは重いのでメモとるのが面倒~と思いついたのがきっかけ。

Notion

LINE で入力したらこんな感じで反映される。
(以下、プログラマ向けの内容です)
Pixela について
活動記録などを GitHub のコミットログ (草) のように可視化してくれるサービス。
API が非常にシンプル、ドキュメントもしっかりしているので何もハマることがなかった。ここまでしっかりしたサービスを自分も提供できるようになりたい・・と思った。
Nuxt3 + LINE Bot について
今回 LINE での入力部分 (=LINE Bot) を Nuxt3 (/server) で実現している。最近使い始めた Nuxt3 がどこまでできるか検証したかったのがその採用理由。(使いたかっただけ)
所感としては
ハマりポイント
正直盲点だったのだが、公式 SDK (Node.js) が「Express 前提」だった点。(Nuxt3 は基本 Nitro 前提)
ただ、調べると「Express で動作させる方法」も用意されており、
export default fromNodeMiddleware
を使えば実現可能であった。Nuxt3 よくできてる。
該当部分の実装はこんなかんじ。
今回は「Express 利用部分」を別フォルダ (/server_express) に切り出して実装。Nitro 利用部分と明確に分けたかったのが理由。
自分はフロントエンド本職ではないので正直このくらいしか思いつかなかったが、もしかしたらもっと簡単に実現できるのかもしれない。有識者の方お願いします🙇
まとめ
個人開発、自分が好きなものを好きに作るだけで、勝手に自身のスキル強化にもなってよいな・・と改めて思った。
Nuxt3 完全に理解した。というわけで Nuxt3 案件お待ちしています🤣
技術スタック
pixe.la developers.notion.com developers.line.biz developers.line.biz developers.line.biz
キーボード掃除
愛用している HHKB のキーキャップを 墨→白 に交換した。墨は光の反射でキーキャップの文字が見えないのが地味にストレスで。

交換ついでに掃除したのだが、そのとき 100均のコンロ掃除用シートが非常によかった話。
キーボード本体
- キーキャップを外す
- コンロ掃除用シートをかぶせて拭く
- それでも届かないところだけ綿棒

「キーボードはアルカリ電解水で拭くとピカピカになる」となにかで読んだのを思い出して、手元のコンロ用掃除シートを使ってみた。本体を拭くときは「シートをキーキャップ外しの先端に挟んで拭く」これがなかなか楽でよかった。
写真をよく見ると「激落ちくん」亜種であることに気づく
キーキャップ本体
- 重曹 + ぬるま湯 に漬けこむ
- しばらくしたらコンロ掃除用シートで拭き上げ

キーキャップって微妙に高さが違う複数種類があるのだな・・と掃除するたびに思い出す。
そして配置画像を見ずに並べてみたら間違えた。何年エンジニアやってるんだと言いたい。いつかは無刻印に挑戦したいけどまだ難しそう🙃
フリーランスや起業家を目指すエンジニアを支える技術たち 第一回「見積もりを支える技術」
エンジニアカフェ で行われた素敵なイベント。今回のゲストは自分の友人でもある、グルー株式会社 代表取締役 迫田孝太 (@cohtan) 氏。
engineercafe.connpass.com www.youtube.com
議論も活発で非常に盛りあがったイベントだった。自分は配信参加組なので聞こえた部分だけの議事メモ (本人許可済)。
見積もりプラン
- 松竹梅 用意する
- サンプル料金表があるとよい
- 過去の事例
- 金額がないとこわいよね (例えばお寿司屋)
- 納品して終わりではなく伴走する
- 一緒に使えるようになるまで伴走する
- よりお客さんからも信頼していただける
- ビジネスネタにもなる
システムの納期とは確率分布
- 「この日にリリースする」という「点」で考えない
- ある日付をピークとした確率分布で考えるほうが現実的
- 実際には読めない何かしらが起きることが多い
- 例えばメンバーが病気や怪我をするかもしれないし、担当者が変わったりなど
「締め切りは絶対に守るもの」と考えると世界が変わる
- スタートダッシュ型でいく
- リスクが早めにわかる
- なぜラストスパート型になりがちか?
- 人間は自身の実力を過信しがち
- 謙虚にやりましょう
値決めは経営
- 値決めは「誰もが得をするように」決める
- 自分だけでなく相手の利益も出るポイントを考える
人月計算
- 定量的に測るものが他にない
- お客さんがそれに納得しているかどうかが大事
- 納得してもらえてない場合は一緒に考えませんか?
- 人月計算自体をお客さんとのコミュニケーションにする ★
- お客さんにも考えてもらいたい、関わってもらいたい
- 「相手を喜ばせる段取りを考える作業」が見積もり
初めての相手との仕事
- まずはミニマムな作業を一緒にやってお互いの相性を測る
- どこで事故が起こりやすいか
- スピード感
- 最初からコミュニケーションの手を抜かない
- 大きな依頼が来た場合にも小さな作業をできればやる
発注スキル
- 発注だけしていると身につかない気がする
- 受注経験が必要
- 相手の立場を一度経験する
危険フラグな案件
- ふわっとした思いつきから話す人に多い
- ふわっとしたメリットしか考えていない (宝くじみたいな発想)
- 必ずビジネス的に考える
- このくらいの収入が出てるときはこのくらいの支出になる・・と計算できるはず
非ITな方からの発注
別業界に参入する場合
- まずは自分で手を動かしてみる
- 別に専門家がいるとしても自分で何かしらあたりがつけれるようになっておく
- 最低限の知識は必ず勉強
- 業界のビジネスモデルはどうなっているのか
- 得意な人にすべておまかせはダメ
- 会計も含めて
- どんどん自分で失敗してみる
- 失敗してもケガしないレベルで
自身のキャパより大きい案件を発注された場合に断るかどうか
- 直接的なリスクは少ないけど規模が大きい、は請けたい
- 人命にかかわるなどは難しい
- 自分たちで何とかできるレベルなら・・
- リスクが算出できない場合は請けない
- そういう案件はまだ自分たちが請ける段階ではないのかもね
規模大きいけどまわりと協力してやって・・と発注された場合
- 再委託できる会社が信頼できるのが最前提
- 自分たちだけで「やろうと思えば最悪できる」なら請けたい
はじめてのお客さんからの発注
- 料金表を作っておくのがやはり良いかも
そのほかいろいろ
あと参考になったのが、@cohtan の話し方。 議論がヒートアップすると自分は早口になりがちなのが悩みで。それが理由でお互いどんどんスピードが上がっていくことが多いのだが、
- 自分のターンでゆっくり話して場のスピードを調整する
- やわらかい物腰でゆっくり話す
長丁場なのにこれを実現していて見事だなぁと感じた。
自分自身も立場上よく見積もりすることが多いのだけど、「見積もり」という行動を言語化するのはなかなか難しい。次回はオフラインで議論にぜひ参加したいところ🙃
SpreadSheet から Google Calendar へ一括登録


本日は「一粒万倍日」。今年の一粒万倍日をいっそすべてカレンダー登録しておくか・・と思って GAS で書いた。
GAS register to Google Calendar from SpreadSheet
正直何番煎じだという話だが、GAS は Google 環境まわりのツール作りたいときにぱっと思いついてぱっと雑に書けてよい。
SpreadSheet を JSON 化する部分 はずいぶん前に書いたのだが、現在も何度も再利用して使っている。大量の方に Fork されてることに今頃気づいた。うれしいけどコードの書き方が古くてはずかしい 🙃
謹賀新年

今年の目標は
- もっと体力をつける
- もっと水分摂取する
- もっと感情を揺さぶる
体力
ここ数年は何しても疲れやすい。なにか始める時の初動のパワーも落ちた。明らかに体力面が原因でまずい。
仕事に影響出さないためにも、今後20年以上戦うためにも、ずっと歌うためにも、運動習慣を継続したいところ。

去年の運動記録。動きやすい秋頃は頑張ってる感あるが、寒くなった途端サボってる。今年は負けない(たぶん)
水分摂取
水分摂取が足りてないとき、明らかに肌が乾燥していると感じるようになった。乾燥すると年齢以上に老けて見えるので非常に困る。
過去記事にも書いたのだが、ついにウォーターサーバーを導入した。これでエンドレスお白湯生活。さてどうなるか。
感情
自分にとってはこれが最重要。感情を揺さぶられるような体験が最近あまりできていないので、五感全般というか「感じる」という機能が退化している気がする。
自分の場合は音楽の場でステージに立ったり、登壇したり、緊張感が出る場にもっと行って刺激を摂取すればよいのかな。

写真は先日遊びにいった友人のライブ風景。生演奏はいろんなものが摂取できてよい。
ということで、本年もよろしくお願いします 🙃
