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
260
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
180
Other Decks in Technology
See All in Technology
LLMやAIエージェントをソフトウェアに組み込むプラクティス
shibuiwilliam
2
430
関数型の考えを TypeScript に持ち込んで、テストしやすい純粋関数を増やす / Pure at the Core, Effects at the Edge: Bringing Functional Thinking into TypeScript
kaminashi
2
130
非定型なドキュメントを効率よくリファクタする 〜えぇ!?仕様書27本の移行が1日で終わったって!?〜
subroh0508
2
570
SoccerMaster: A Vision Foundation Model for Soccer Understanding
kzykmyzw
0
150
ZOZOTOWNの進化と信頼性を両立する負荷試験
zozotech
PRO
2
270
AmplifyHostingConstructからSSRフレームワークのためのホスティング設計を考察する/amplify-hosting-construct
fossamagna
1
250
第67回コンピュータビジョン勉強会CVPR2026読会前編
tsukamotokenji
0
150
Type-safe IaC for Dart
coborinai
0
160
10年目を迎えた「ABEMA」がどのように AI 活用を推進して、AI 駆動開発にシフトしているのか / How ABEMA, entering its 10th year, is promoting the use of AI and shifting toward AI-driven development
miyukki
0
290
AIが実装を自走する時代の認知負債との戦い
lycorptech_jp
PRO
1
420
Gen3R: 3D Scene Generation Meets Feed-Forward Reconstruction
spatial_ai_network
0
140
“それは自分の仕事じゃない"を越えて行け
yuukiyo
1
490
Featured
See All Featured
Google's AI Overviews - The New Search
badams
0
1.1k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
Claude Code のすすめ
schroneko
67
230k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Designing for Performance
lara
611
70k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Making the Leap to Tech Lead
cromwellryan
135
10k
From π to Pie charts
rasagy
0
240
Visualization
eitanlees
152
17k
The browser strikes back
jonoalderson
0
1.4k
The agentic SEO stack - context over prompts
schlessera
0
850
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