Twilog
About
2023年の各種Twitter騒動のときに遅れ馳せながらTwilogがどういうサービスか知り、Twitterを自動で日記化するという便利さに気づいたので自作し始めたページ。
Zapierを起点としてTweetをGoogle Spreadsheetに蓄積→GitHub Actionsのscheduled workflowで定期的にCSV Endpointからデータを自動取得してwebページ化、という仕組みを実現していたのだが、結局Twitter APIの締め付けは留まるところを知らず、データ取得の維持が大変になったので店じまい。
その後は本家Twilogが再開されたので利用を開始し、不定期にCSVダンプを手動取得→スクリプトでJSONデータに整形してwebページ化する体制になった。
ZapierによるTweet取得以前のデータも、Twitter公式機能で取得したアーカイブから過去データを構成し、webページ化した。
検索SaaSを使って検索機能も提供している。もともとMeilisearchで始めたが、後にfree tierがなくなったのでAlgoliaに移行した。
最新
2025/09/08 (Mon)
{ "createdAt": "2025年9月8日 03:11:53 JST", "touchedAt": "2025年9月8日 03:11:53 JST", "createdDate": "2025-09-08", "text": "ベランダからしっかり見えた", "id": "TwitterStatusId 1964753505316696233", "idStr": "1964753505316696233", "userName": "Gada / ymtszw", "userProfileImageUrl": "https://pbs.twimg.com/profile_images/1520432647868391430/4b2AUYjC_normal.jpg", "retweet": null, "inReplyTo": null, "replies": [], "quote": null, "entitiesTcoUrl": [], "extendedEntitiesMedia": [] }

ベランダからしっかり見えた
{ "createdAt": "2025年9月8日 03:10:53 JST", "touchedAt": "2025年9月8日 03:10:53 JST", "createdDate": "2025-09-08", "text": "ちょうど月食だったのか", "id": "TwitterStatusId 1964753253562024147", "idStr": "1964753253562024147", "userName": "Gada / ymtszw", "userProfileImageUrl": "https://pbs.twimg.com/profile_images/1520432647868391430/4b2AUYjC_normal.jpg", "retweet": null, "inReplyTo": null, "replies": [], "quote": null, "entitiesTcoUrl": [], "extendedEntitiesMedia": [] }

ちょうど月食だったのか
2025/09/07 (Sun)
{ "createdAt": "2025年9月7日 23:19:48 JST", "touchedAt": "2025年9月7日 23:19:48 JST", "createdDate": "2025-09-07", "text": "S3 Heroic Clear GG!!\n安定したTryができたシーズンだった\n#wowjp #warcraft #ut_wow https://x.com/gada_twt/status/1964695099541217546/photo/1", "id": "TwitterStatusId 1964695099541217546", "idStr": "1964695099541217546", "userName": "Gada / ymtszw", "userProfileImageUrl": "https://pbs.twimg.com/profile_images/1520432647868391430/4b2AUYjC_normal.jpg", "retweet": null, "inReplyTo": null, "replies": [], "quote": null, "entitiesTcoUrl": [], "extendedEntitiesMedia": [ { "url": "https://x.com/gada_twt/status/1964695099541217546/photo/1", "sourceUrl": "https://pbs.twimg.com/media/__NOT_LOADED__", "type_": "photo", "expandedUrl": "https://x.com/gada_twt/status/1964695099541217546/photo/1" } ] }

{ "createdAt": "2025年9月7日 11:36:00 JST", "touchedAt": "2025年9月7日 11:36:00 JST", "createdDate": "2025-09-07", "text": "山本由伸、ノーヒットノーランならず\n\nあと1アウトでノーノー達成でしたが、\nホリデーに本塁打を浴びる...\n\n惜しくも達成とはなりませんでしたが、\n本当に素晴らしい投球でした\n\n8.2回112球1安打10奪三振2四球1失点\n\n🎥@MLB \n#山本由伸 #ドジャース\n https://x.com/MLB/status/1964507693949014080/video/1", "id": "TwitterStatusId 1964517982123725270", "idStr": "1964517982123725270", "userName": "Gada / ymtszw", "userProfileImageUrl": "https://pbs.twimg.com/profile_images/1520432647868391430/4b2AUYjC_normal.jpg", "retweet": { "fullText": "山本由伸、ノーヒットノーランならず\n\nあと1アウトでノーノー達成でしたが、\nホリデーに本塁打を浴びる...\n\n惜しくも達成とはなりませんでしたが、\n本当に素晴らしい投球でした\n\n8.2回112球1安打10奪三振2四球1失点\n\n🎥@MLB \n#山本由伸 #ドジャース\n https://x.com/MLB/status/1964507693949014080/video/1", "id": "TwitterStatusId 1964517982123725270", "userName": "【SS】大谷速報&スポーツ速報", "userProfileImageUrl": "https://pbs.twimg.com/profile_images/1734409443348283392/L1tsuY4x_200x200.png", "quote": null, "entitiesTcoUrl": [], "extendedEntitiesMedia": [ { "url": "https://x.com/MLB/status/1964507693949014080/video/1", "sourceUrl": "https://pbs.twimg.com/amplify_video_thumb/__NOT_LOADED__", "type_": "video", "expandedUrl": "https://x.com/MLB/status/1964507693949014080/video/1" } ] }, "inReplyTo": null, "replies": [], "quote": null, "entitiesTcoUrl": [], "extendedEntitiesMedia": [] }Gada / ymtszw retweeted

山本由伸、ノーヒットノーランならず
あと1アウトでノーノー達成でしたが、
ホリデーに本塁打を浴びる...
惜しくも達成とはなりませんでしたが、
本当に素晴らしい投球でした
8.2回112球1安打10奪三振2四球1失点
🎥@MLB
#山本由伸 #ドジャース
あと1アウトでノーノー達成でしたが、
ホリデーに本塁打を浴びる...
惜しくも達成とはなりませんでしたが、
本当に素晴らしい投球でした
8.2回112球1安打10奪三振2四球1失点
🎥@MLB
#山本由伸 #ドジャース
2025/09/06 (Sat)
{ "createdAt": "2025年9月6日 12:32:26 JST", "touchedAt": "2025年9月6日 12:32:26 JST", "createdDate": "2025-09-06", "text": "Traumatizing my Ethereal Soul Trader by bringing him back home after 17 years.\n#warcraft https://x.com/WarcraftMeme/status/1964169291810369935/photo/1", "id": "TwitterStatusId 1964169796158697671", "idStr": "1964169796158697671", "userName": "Gada / ymtszw", "userProfileImageUrl": "https://pbs.twimg.com/profile_images/1520432647868391430/4b2AUYjC_normal.jpg", "retweet": { "fullText": "Traumatizing my Ethereal Soul Trader by bringing him back home after 17 years.\n#warcraft https://x.com/WarcraftMeme/status/1964169291810369935/photo/1", "id": "TwitterStatusId 1964169796158697671", "userName": "Warcraft Memes", "userProfileImageUrl": "https://pbs.twimg.com/profile_images/1492603274465366016/UowlY4Ni_200x200.jpg", "quote": null, "entitiesTcoUrl": [], "extendedEntitiesMedia": [ { "url": "https://x.com/WarcraftMeme/status/1964169291810369935/photo/1", "sourceUrl": "https://pbs.twimg.com/media/__NOT_LOADED__", "type_": "photo", "expandedUrl": "https://x.com/WarcraftMeme/status/1964169291810369935/photo/1" } ] }, "inReplyTo": null, "replies": [], "quote": null, "entitiesTcoUrl": [], "extendedEntitiesMedia": [] }Gada / ymtszw retweeted

Traumatizing my Ethereal Soul Trader by bringing him back home after 17 years.
#warcraft
#warcraft
{ "createdAt": "2025年9月6日 09:21:46 JST", "touchedAt": "2025年9月6日 09:21:46 JST", "createdDate": "2025-09-06", "text": "台風一過でちょっとだけ秋の気を帯びたけど、またすぐ夏に戻りそうな日差し", "id": "TwitterStatusId 1964121813996212347", "idStr": "1964121813996212347", "userName": "Gada / ymtszw", "userProfileImageUrl": "https://pbs.twimg.com/profile_images/1520432647868391430/4b2AUYjC_normal.jpg", "retweet": null, "inReplyTo": null, "replies": [], "quote": null, "entitiesTcoUrl": [], "extendedEntitiesMedia": [] }

台風一過でちょっとだけ秋の気を帯びたけど、またすぐ夏に戻りそうな日差し