<

1コマ漫画検索サービスTiqav2 (Algolia + Cloudinary + Google Cloud Vision API) 作ってみた

画像で会話って楽しい

皆さん、チャットツールでコミュニケーションするとき、絵文字や画像って使ってますか? 僕はよく使ってます。人とコミュニケーションするのに、文字だけだと堅苦しいイメージですよね。 例えば、

『OK です、それで先に進めて下さい。』

というフレーズだけだと、相手がどのような感情なのか読み取りにくいです。

そこで、次のような画像でコミュニケーションを取ると、柔らかい印象を与えることができます。

golia LGTM
golia LGTM

Tiqav2

Tiqav とは?

画像を使って会話をするためのサービスとして、Tiqav があります。

http://dev.tiqav.com/

現在は、サービス終了しています。 Tiqav2 は、その Tiqav を参考にして作りました。

Tiqav2 とは?

Tiqav2 は、大きく分けて 2 つの機能があります。

  1. 画像とテキストを保存
  2. 画像を検索&表示

2 つの機能

画像とテキストを保存

Saving flow by Tiqav2
Saving flow by Tiqav2

検索する為には、全文検索サービスの Algolia を使います。

https://www.algolia.com/

Algolia に保存する情報は、主に 3 つです。画像 URL と拡張子、そしてテキストです。 画像は画像変換&管理サービスの Cloudinary に保存します。保存後、Cloudinary より、画像 URL と拡張子が手に入ります。

https://cloudinary.com/

テキストは、Google Cloud Vision API へ画像を渡すことでテキストを抽出します。 もちろん、手動でテキストを設定することもできます。

https://cloud.google.com/vision/

画像を検索&表示

Searching Flow  By Tiqav2
Searching Flow By Tiqav2

テキストで全文検索を行います。その結果の ID と Extension を組み合わせることで、 画像を表示することができます。Extension の種類は、Cloudinary のサポートするもの全てになります。

"gif", "png", "jpg", "bmp", "ico", "pdf", "tiff", "eps", "jpc", "jp2", "psd", "webp", "zip", "svg", "mp4", "webm", "wdp", "hpx", "djvu", "ai", "flif", "bpg", "miff", "tga", "heic"

https://cloudinary.com/documentation/image_transformations#supported_image_formats

この画像を表示する機能を使うと、次のように Slack 上で画像を送信することができます。

Send Tiqav2 URL on Slack
Send Tiqav2 URL on Slack

詳しい機能は、次のリポジトリをご確認下さい。

https://github.com/silverbirder/tiqav2

SaaS は個人開発には最適

今回、全文検索であったり画像管理は、SaaS に全て任せました。テキスト抽出はなくてもよかったのですが、Google Cloud Vision API が、そこそこ使えたため、そちらも使いました。

個人で開発する際、リソース(時間、お金、人)は組織に比べてとても小さいです。 SaaS は、1つのことを上手くやってくれるし、個人の利用範囲であれば無料なものが多いです。 ニッチなカスタマイズしたい要求がない限り、SaaS は大体の要望を叶えてくれます。 どんな種類の SaaS があるか知りたい方は、↓ のサイトを見てみて下さい。参考になるはずです。

https://saasblocks.io/

SaaS に面倒なことは任せて、プロダクトコードに集中することは、私にとって、とても大切にしています。 ちなみに今回のプロダクトコードは、CleanArchitecture + InversifyJS で作りました。

終わりに

Tiqav2 は、OSS として公開していますので、誰でも無料で構築できます。 ぜひ、使ってみて下さい。快適なコミュニケーションを目指しましょう!

Tags

ZoomのMeetingを自動生成するGASライブラリ zoom-meeting-creator を作った

2020-06-06

みなさん、Zoom使っていますか? ZoomのMeetingを自動生成するGASライブラリを公開しましたので、そのきっかけと使い方について紹介しようと思います。...

アカウント画像一括更新ツールを作ったので、紹介と学びについて

2020-06-04

GoogleやGithubなど、様々なサービスのプロフィール情報(画像, etc)を一括更新するツール、puppeteer-account-manager を開発しました。開発の目的や、開発から得た知見を紹介します。...

TwitterにあるLinkを収集するツール Cotlin で、世界中のプレゼンテーション資料を知ろう

2020-03-15

Twitterに投稿されているLinkを収集するツール Cotlin を作りました。Collect links in tweet から、Cotlinという名前にしました。Androidのアレに似ています。...

GMailをGCalendarに登録するサービス rMinc を作ってみた

2020-02-17

ターゲットユーザー * GMailとGCalendarを使っている人 メールを開くって面倒じゃないですか? 例えば、次のようなメールを受信していたとします。* アマゾンで商品を購入した際、お届け予定日が記載されたメール * 映画館(TOHOシネマ)でネット予約した際、上映日が記載されたメール * ホテルをネット予約した際、宿泊日が記載されたメール...

ZoomのMeetingを自動生成するGASライブラリ zoom-meeting-creator を作った

2020-06-06

みなさん、Zoom使っていますか? ZoomのMeetingを自動生成するGASライブラリを公開しましたので、そのきっかけと使い方について紹介しようと思います。...

アカウント画像一括更新ツールを作ったので、紹介と学びについて

2020-06-04

GoogleやGithubなど、様々なサービスのプロフィール情報(画像, etc)を一括更新するツール、puppeteer-account-manager を開発しました。開発の目的や、開発から得た知見を紹介します。...

TwitterにあるLinkを収集するツール Cotlin で、世界中のプレゼンテーション資料を知ろう

2020-03-15

Twitterに投稿されているLinkを収集するツール Cotlin を作りました。Collect links in tweet から、Cotlinという名前にしました。Androidのアレに似ています。...

GMailをGCalendarに登録するサービス rMinc を作ってみた

2020-02-17

ターゲットユーザー * GMailとGCalendarを使っている人 メールを開くって面倒じゃないですか? 例えば、次のようなメールを受信していたとします。* アマゾンで商品を購入した際、お届け予定日が記載されたメール * 映画館(TOHOシネマ)でネット予約した際、上映日が記載されたメール * ホテルをネット予約した際、宿泊日が記載されたメール...

ZoomのMeetingを自動生成するGASライブラリ zoom-meeting-creator を作った

2020-06-06

みなさん、Zoom使っていますか? ZoomのMeetingを自動生成するGASライブラリを公開しましたので、そのきっかけと使い方について紹介しようと思います。...

アカウント画像一括更新ツールを作ったので、紹介と学びについて

2020-06-04

GoogleやGithubなど、様々なサービスのプロフィール情報(画像, etc)を一括更新するツール、puppeteer-account-manager を開発しました。開発の目的や、開発から得た知見を紹介します。...

TwitterにあるLinkを収集するツール Cotlin で、世界中のプレゼンテーション資料を知ろう

2020-03-15

Twitterに投稿されているLinkを収集するツール Cotlin を作りました。Collect links in tweet から、Cotlinという名前にしました。Androidのアレに似ています。...

GMailをGCalendarに登録するサービス rMinc を作ってみた

2020-02-17

ターゲットユーザー * GMailとGCalendarを使っている人 メールを開くって面倒じゃないですか? 例えば、次のようなメールを受信していたとします。* アマゾンで商品を購入した際、お届け予定日が記載されたメール * 映画館(TOHOシネマ)でネット予約した際、上映日が記載されたメール * ホテルをネット予約した際、宿泊日が記載されたメール...

TikTokスクレイプ基盤をGCP上で構築してハマったこと

2021-08-28

TikTokへスクレイプするバッチをGCP上で構築しました。GCP構築のシステム設計話と、その構築時に、ハマったことを共有します。...

ブラウザの仕組みを学ぶ

2021-05-24

Webフロントエンジニアたるもの、ブラウザの仕組みに興味を持つのは自然の摂理です。本記事では、私がブラウザの仕組みを学んでいく過程を備忘録として残します。...

リモートワークになってから『気軽にすぐ聞く』ことが難しくなった

2021-03-10

リモートワークが普及しつつある今、オンラインでの仕事に慣れているエンジニアも多いのではないでしょうか。私も、そのエンジニアの一人であり、約1年はリモートワークしています。そんな中、久々に会社へ出社すると、気軽に話しかける楽さ を実感しました。この体験について、深堀りしたいと思います。...

20代後半エンジニアである私がこれから学ぶべきこと

2020-10-29

私は、現在26歳のWebエンジニアです。これまでの技術に対する学び方と、これからの技術に対する学び方について、少し考えたいと思っています。...

Micro Frontends を調べたすべて

2020-10-07

Micro Frontendsに関わる記事を100件以上読みました(参考記事に記載しています)。そこから得たMicro Frontendsについてこの投稿に記録します。また、調査メモについて、次のリポジトリに残しています。...

ZoomのMeetingを自動生成するGASライブラリ zoom-meeting-creator を作った

2020-06-06

みなさん、Zoom使っていますか? ZoomのMeetingを自動生成するGASライブラリを公開しましたので、そのきっかけと使い方について紹介しようと思います。...

アカウント画像一括更新ツールを作ったので、紹介と学びについて

2020-06-04

GoogleやGithubなど、様々なサービスのプロフィール情報(画像, etc)を一括更新するツール、puppeteer-account-manager を開発しました。開発の目的や、開発から得た知見を紹介します。...

Micro Frontends を学んだすべて

2020-05-04

Micro FrontendsというWebフロントエンドアーキテクチャがあります。このアーキテクチャを知るために、書籍を読み、簡単なサンプルWebアプリを開発しました。そこから学んだことをすべて議事録として残したいと思います。...

TwitterにあるLinkを収集するツール Cotlin で、世界中のプレゼンテーション資料を知ろう

2020-03-15

Twitterに投稿されているLinkを収集するツール Cotlin を作りました。Collect links in tweet から、Cotlinという名前にしました。Androidのアレに似ています。...

Google Apps Script で FetchAllとRedirctURL の組み合わせは悪い

2020-02-24

Google Apps Script (以下、GAS)で、困ったことがあったので備忘録として残しておこうと思います。...

GMailをGCalendarに登録するサービス rMinc を作ってみた

2020-02-17

ターゲットユーザー * GMailとGCalendarを使っている人 メールを開くって面倒じゃないですか? 例えば、次のようなメールを受信していたとします。* アマゾンで商品を購入した際、お届け予定日が記載されたメール * 映画館(TOHOシネマ)でネット予約した際、上映日が記載されたメール * ホテルをネット予約した際、宿泊日が記載されたメール...

フィリピンに行ってきたら、日本は良いなって思うようになった

2019-10-27

2019年10月11日~2019年10月15日の5日間、フィリピンに行ってきました。日本人男性(前職の先輩:Kikuchi)とフィリピン人女性が結婚するため、その結婚式旅行に同伴させて頂きました。Kikuchiさんとは、私が新人の頃に大変お世話になった方なので、お祝いの気持ちが込み上げてきました。:)...

技術書典7で初執筆した経験をすべて公開

2019-09-06

技術書典7で初執筆しました。記事の目的 * 執筆でどういったことをしたのかの備忘録 * 執筆を考えている人の助けになりたい実際に販売する本は↓のものです。...

Algolia Community Party in 京都 - 2019年5月10日 参加レポート

2019-05-11

Algolia Community Party in 京都 - 2019年5月10日。こちらに参加しましたので、ご報告までに記事を書こうと思います。...