Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
事業モメンタムを生み出すプロダクト開発
Search
Takashi Machinaga
February 27, 2025
Technology
250
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
事業モメンタムを生み出すプロダクト開発
Takashi Machinaga
February 27, 2025
More Decks by Takashi Machinaga
See All by Takashi Machinaga
複雑なフォームに立ち向かう Next.js の技術選定
macchiitaka
4
1.8k
AI駆動の自動テスト生成
macchiitaka
1
180
What is Standard Schema?
macchiitaka
0
170
Other Decks in Technology
See All in Technology
Why is RC4 still being used?
tamaiyutaro
0
310
テスト設計の本質を改めて考えてみる~生成AIを活用する時代だからこそ、作ったテストの説明性を高めよう~
yamasaki696
1
400
NDIAS CTF 2026 問題解説会資料
bata_24
0
180
Claude Code 珍プレー好プレー
shinyasaita
0
290
AI駆動開発におけるQAエンジニアの役割事例 〜AI駆動開発の現場から〜
kobayashiyorimitsu
0
400
End-to-Endで考える信頼性 —LINEアプリにおけるクライアント開発×SRE連携の実践
maruloop
4
3.4k
CSに"SLO"は要らない、経営層に"99.9%"は伝わらない - SREを全社に"翻訳"する3原則
cscengineer
PRO
1
3.8k
SRE Next 2026 何でも屋からの脱却
bto
0
100
事業価値を⽣み出すSREへ SREが担うべき意思決定の5層
kenta_hi
2
2.4k
AIと共生する開発者プラットフォーム:バクラクのモノレポ×マイクロサービス基盤
sakajunquality
2
2.8k
Baseline対応のDOMの型定義を作った
uhyo
3
720
デジタル・デザイン:次の50年を描く「進化する青写真」
y150saya
0
840
Featured
See All Featured
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
370
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
WCS-LA-2024
lcolladotor
0
680
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
500
AI: The stuff that nobody shows you
jnunemaker
PRO
8
770
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Designing Powerful Visuals for Engaging Learning
tmiket
1
440
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
200
Unsuck your backbone
ammeep
672
58k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
280
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Transcript
事業モメンタムを⽣み出すプロダクト開発 1 ヶ⽉で AI FAX をリリースした開発アプローチ 2025-02-27 株式会社IVRy(アイブリー) 町永 隆
@macchiitaka
⾃⼰紹介 • @macchiitaka • 2024年8⽉ IVRy に⼊社 • 主にWebフロントエンドの機能開発 町永
隆(Takashi Machinaga) 2 ソフトウェアエンジニア
IVRyとは?
電話⾃動応答サービスIVRy 電話AI SaaS IVRy(アイブリー)は、 ⽉額2,980円からカスタム電話をカンタンに作成できるサービス。 全ての電話業務を誰でもすぐにAIを使って効率化できます
今⽇は電話の話はしません
AI FAXの話をします
AI FAXとは? 初期費⽤/設備費⽤ゼロ、⽉額2,980円から利⽤可能な、 AIでFAXを⾃動⽂字起こし(OCR)できるクラウドFAXです。
ビジネス上のFAXを取り巻く現状 「ファクシミリの利⽤調査結果」を公開 〜5割を超える⽅が⽇常の業務フローの中でファクスを利⽤〜 「ファクシミリの利⽤調査結果」を公開 〜5割を超える⽅が⽇常の業務フローの中でファクスを利⽤〜 あなたはお勤め先で⽂書や画像を送ったり受けたりするために ファクス(ファクシミリ)を使⽤していますか? 業種別のファクスの使⽤有無(単位=%) 法⼈コミュニケーションではFAXは根強く残っており、40.1%が「勤務先でFAXを使⽤している」業界の業務慣習 や相⼿⽅のITリテラシーによるチャネル依存が⾼く、業界によっては50%を超える使⽤状況が続いています。
FAX業務において⽣じる課題 コスト⾯での負担だけでなく、デジタルデータになっていないことで送受信場所の制 約や受取時‧受注対応時のヒューマンエラーの温床にもなっています。 外出先やリモート ワーク先ではFAX が⾒れない‧返信 できない インク‧⽤紙の ⼊れ替えや 詰まった時の故障
対応に⼿がかかる 受け取ったものが ⾒つからず対応が 漏れる/後から探す のも⼀苦労 FAXで届いた内容 を⼈がパソコンに 毎回転記しており ミスが起きる
2024年11⽉、AI FAXリリース
初期開発をしてました
僕とAI FAXの出会い
⼊社して1ヶ⽉のある⽇の会話 同僚「FAXプロジェクト、フロントエンドエンジニア探してるんだって〜」 町永「へぇ〜、チンチロに勝ったらやりますよ(ノリ)」 🎲 🎲 🎲
🎲 チンチロ • チンチロは3個のサイコロを使って役で勝敗を決める⽇本の伝統的な遊び • Slackで「チンチロ」と打つとカスタムレスポンスが返ってくる
🎲 チンチロ
🎲 チンチロ
🎲 チンチロ
🎲 チンチロ
ほなやるか☺
ところで
なぜエンジニアを探してた?
嬉しいことにプロダクトが できる前にお客様が AI FAXのご要望をいただいた
“10⽉頭に間に合えば”
“10⽉頭に間に合えば” ※ このとき9⽉2⽇
ほ、ほなやるか…☺
開発スタート!
開発中に⼤事にしていたこと
• スケジュール不安は正直ある • それでも、だからこそ、開発を楽しむ! • ⽂化祭 • みんなが盛り上げてくれる ◦ 毎⽇の進捗を
Slack で共有 ▪ めっちゃリアクションもらえる ◦ All Handsで進捗やリリース予告 ▪ 「待ってましたー!」「⾰命だ」 • 本来チーム開発は楽しい! 開発を楽しむ
• 開発中から絶対にいいプロダクトになると確信があった • でもPMF前のプロダクトには違いない... • だからチームのメンバーに知ってもらい、期待してもらいたい • 広めてくれる⼈、売ってくれる⼈がいればこそ、次の開発のチャンスができる • もっといいプロダクトにできる
• 開発の⽂脈で期待値調整という場合は、下げるパターンが多い • モメンタムを作るためにはときに期待値を上げることも⼤事 プロダクトの期待値を上げる
具体的にどんな開発してたの?
設計の⼀部をお⾒せします!
FAX送信機能
FAX送信機能 CPaaS IVRy サーバー ブラウザ PDF JPEG PNG PDF FAX
ブラウザからPDFや画像をFAXとして送信する機能。複数ファイル送信可。
FAX送信機能 CPaaS IVRy サーバー ブラウザ PDF FAX どこでPDFを ⽣成する? PDF
JPEG PNG ブラウザからPDFや画像をFAXとして送信する機能。複数ファイル送信可。
ブラウザでPDFを⽣成してます
なぜブラウザで⽣成? • ブラウザで⽣成したほうがシンプルにUXがいい ◦ 送信前にプレビューを表⽰したい ◦ 画像のリサイズや回転をプレビューに反映したい ◦ PDFのファイルサイズをアップロード前に知りたい •
開発機能を最⼩にしたい ◦ サーバーサイドで⽣成する場合、⾮同期で処理のためのキューや結果の通 知など必要な機能が増える • リソース効率を最⼤化したい ◦ できるだけ並列で開発したいがチームの成熟度が低い
どうやって変換してるの?
PDF⽣成フロー
PDF⽣成フロー
ファイルをキューに追加 • フォームに取り込まれたファイルは 拡張⼦とファイルの中⾝を確認して バリデーション • すべてオンメモリのキューに追加 • ファイルの並び順を保持するため •
キューからひとつずつ取り出して後 続の処理を実⾏
すべて画像のURL形式に変換
PDF⽣成フロー
• ファイルオブジェクトだとアプリ内 で取り回しづらい • オブジェクトURL参照に変換し て、 URL⽂字列形式で保持 • URL.createObjectURL() 画像をオブジェクトURL参照に変換
PDF⽣成フロー
• PDF.js を利⽤し1ページずつ画像に変換 ◦ Firefox PDF リーダー • Web Worker
で並列処理 • OffscreenCanvas で Canvas に描画 • Canvas から Blob に変換 • 画像はオブジェクトURL参照 PDFを画像に変換
画像の加⼯
PDF⽣成フロー
• FAXの仕様に合わせて画像を変換 • スマホの写真はFAXの仕様に対して⼤きい • CPaaSが⾃動で縮⼩してくれるが過度に縮⼩する • 解像度は⾼い⽅がOCRの精度が⾼い • Blob
(JPEG) を指定 サイズ、縦横⽐、向きを変換
PDF⽣成フロー
すべてのファイルを送信画像に変換 • キューが空になるまでファイルから送信画像への変換を繰り返す
PDF⽣成フロー
PDFファイルを⽣成 • jspdfを利⽤してPDFのBlobを⽣成 • Web Workerで処理 • 画像がPNGの場合、処理がJPEGの10倍 遅い •
オブジェクトURLをUIスレッドに返却
PDF⽣成フロー
PDFファイルを複製 • UIスレッドでPDFを複製してからWeb Workerを停⽌する • オブジェクトURLは⽣成したスレッドが停⽌すると参照できなくなる • PDFファイル完成
無事送信成功!🎉
もっと仕様⼩さくできたんじゃない?
限られた時間で⾮機能要件に どれだけこだわれるかが腕の⾒せどころ
UIはUXにこだわった⽅が 絶対楽しい
まとめ • チームで開発を楽しむ。本来チーム開発は楽しい • みんなに期待してもらう。事業もプロダクトも期待されると好循環が回る • 限られた時間で⾮機能要件にどれだけこだわることができるかが腕の⾒せどころ
事業開発の才能がなくても「どこまでやれば」新規事業は⽴ち上がるのか https://note.com/r_takayanagi/n/nc50b34be36a5 チンチロに勝ったらAI FAXが完成した話 https://note.com/kikuivry/n/n779add0c78bb Re: チンチロに負けて AI FAX を開発した話
https://note.com/macchiitaka_ivry/n/n2eb787aae62a ほかのメンバー視点
電話、FAX以外にも⽔⾯下で プロダクトたくさん作ってます!
フロントエンド周りで 改善したいこともたくさんあります!
https://ivry-jp.notion.site/IVRy-127eea80adae801397a4e4d7ea74e291