# VoNo(https://vono.co.jp/)
電子書籍に音声読み上げ機能を組み合わせた新しい読書体験を提供するWebアプリ「VoNo」を開発。
[https://vono.co.jp/](https://vono.co.jp/)
---
## 【開発の経緯】
UI/UXデザイナーとしてポートフォリオ制作に取り組む中で、利用していたオーディオブックアプリに使いづらさを感じたことがきっかけで、VoNoを着想しました。
UI/UXデザインを進めるうちにプロダクトへの愛着が強くなり、「自分で形にしたい」と思うように。本格的に開発することを決意しました。
---
## 【開発スケジュール】
| 時期 | 内容 |
|------|------|
| 2024年8月 | VoNoを着想 |
| 2024年9月〜11月 | UI/UXデザインを制作 |
| 2024年12月〜2025年3月 | MVPを開発 |
| 2025年4月 | 株式会社VoNoを設立 |
| 2025年4月〜現在 | VoNoの開発を継続しつつ、フリーランスとして他社プロダクトの開発支援も実施 |
---
## 【技術的な取り組みと成果】
### ■ 大規模フック統合(オーケストレーションアプローチ)
- **成果**:ロジックとUIを完全分離し、React Native移植が容易に。保守コストを削減。
- **取り組み**:10個以上のカスタムフックを中央オーケストレーターで統合管理する仕組みを実装。
- **工夫**:依存関係と実行順序を最適化し、ループや過剰更新(0.1秒単位更新など)によるパフォーマンス問題を回避。
---
### ■ テキストと音声のリアルタイム同期
- **成果**:速度変更や一時停止時でもズレなく、完璧な同期を実現。停止時にも正確にハイライトを保持。
- **取り組み**:音声ファイルとテキストをリアルタイムで同期。再生速度変更(0.5x〜2.0x)にも対応。
- **工夫**:ファイル切替時の遅延を解消するMapベースの先読みシステムを導入。停止時ハイライト保持の仕組みを実装。
---
### ■ JWT認証+Cookieによるハイブリッド認証
- **成果**:API呼び出し回数を90%以上削減(120回/時 → 10〜15回/時)。認証レスポンスを0msまで短縮。
- **取り組み**:Supabase JWTとセッションCookieを組み合わせたユーザー認証方式を構築。API層ではCookieから即時にJWTを復号・検証できるハイブリッド認証方式を構築。
- **工夫**:認証(Authentication)と認可(Authorization)を完全分離し、機能単位で権限レベルを定義。JWTを復号することで、セッションキャッシュ的に即時レスポンスを返却。
---
### 技術スタック
`React (18.2)` / `Next.js (14.1)` / `Tailwind CSS` / `shadcn/ui` / `Vercel` / `Supabase`
---
## 【自己PR】
デザイン力と実装力(React / Next.js)の両輪を活かし、プロダクトに貢献していきたいと考えています。
UI/UXデザイナーとして、コンポーネント設計やDB構造を意識した上で、目標定義・UXリサーチ・OOUI設計・パターン出し・デザインの言語化まで幅広く対応できます。
デザイン工程の後も、実装まで一貫して担うことで、より整合性の取れた体験を提供することができます。
「デザイナーとエンジニアの連携が重い」「デザイナーのタスクが空く」
こうしたスタートアップあるあるのお悩みを、私ならデザイン=実装に直結させる開発体験で解決できます。