朝起きるのが苦痛だった私が、Air Alarm を個人開発した理由
朝起きるのが昔から苦手だった
私は昔から、朝起きることが本当に苦手でした。
アラームが鳴ってもすぐに起きられず、無理やり起こされたような感覚のまま一日が始まることも少なくありませんでした。
「もっと自然に、少しでも楽に起きられないだろうか」と考えることがよくありました。
着目したのは睡眠サイクルだった
そんな中で知ったのが、睡眠サイクルという考え方です。
人は眠っている間、ずっと同じ深さで眠っているわけではなく、ある程度の周期で眠りの深さが変化します。
もし比較的起きやすいタイミングでアラームを鳴らすことができれば、朝のつらさを少し減らせるのではないかと思いました。
そこで、「この考え方を使ったアラームアプリを自分で作れないか」と考えたことが、Air Alarm を作り始めたきっかけです。
眠ったタイミングをどうやって知るか
次に考えたのは、「そもそも、どうやって眠ったタイミングを知るのか」ということでした。
最初に思いついたのが AirPods Pro です。
私は普段、寝る前に AirPods Pro をつけて音楽や動画を流すことが多いのですが、AirPods Pro には、ユーザーが眠ったことを検知して自動で再生を止めるような仕組みがあります。
これをうまく使えば、入眠のタイミングを知るヒントになるのではないか。
そう考えたことで、ただのアイデアだったものが、少しずつ「実際に形にできそうなアプリ」に変わっていきました。
最初の実装は、正直あまりよくなかった
ただ、アイデアがあっても、実際にアプリとして作るのは簡単ではありませんでした。
特に難しかったのは、アラーム機能の実装です。
最初の段階では、どうやって iPhone でしっかり動くアラームを作ればよいのか分かりませんでした。
そのため、市場にある既存のアプリを参考にしながら、自分なりにアラーム画面を作り、アプリの中でアラームが動く仕組みを試していました。
一応動くものはできましたが、この方法には問題がありました。
- 実装としてあまりきれいではなかった
- バックグラウンドでアプリが止められる可能性があった
- 端末のメディア音量の影響を受けやすかった
つまり、「とりあえず動くもの」は作れても、「安心して使えるアラーム」にはなっていませんでした。
AlarmKit を知って、実装が大きく変わった
その後、自分でいろいろ調べていく中で、iOS 16 以降では AlarmKit という API が使えることを知りました。
この API を使うことで、より自然で安定した形でアラーム機能を実装できるようになりました。
結果として、アプリの中で無理やり音を鳴らすような作り方ではなく、アラームとしてちゃんと機能する形に近づけることができました。
この発見は、Air Alarm を作る上でとても大きかったです。
自分が作りたかったのは、見た目だけアラームらしいものではなく、実際に安心して使えるアラームだったからです。
この開発を通して学んだこと
Air Alarm の開発を通して、いくつか大事なことを学びました。
1. 最初の作り方が正解とは限らない
最初は、自分にできる方法でまず作ってみるしかありませんでした。
でも、実際に作ってみたからこそ、その方法の問題点にも気づくことができました。
開発では、最初から完璧な答えにたどり着くことよりも、まず試して、問題を見つけて、より良い方法に直していくことが大切だと感じました。
2. 良い体験を作るには、仕組みの理解が必要
ユーザーにとって大事なのは、画面があることではなく、必要なときにちゃんと機能することです。
特にアラームのような機能では、見た目以上に安定性が重要です。
この経験を通して、UI だけでなく、OS の仕組みや API の使い方まで理解して設計する大切さを学びました。
自分の悩みから始まったからこそ、作れたアプリだった
Air Alarm は、もともと「朝起きるのがつらい」という、自分自身のとても個人的な悩みから始まったアプリです。
でも、自分の悩みだったからこそ、どんな体験がほしいのかを具体的に考え続けることができました。
そして、その悩みをただの不便で終わらせず、実際にアプリとして形にできたことは、自分にとって大きな経験になりました。
私は個人開発をするとき、ただ機能を作るだけではなく、「それは本当に使いたい体験になっているか」を大切にしています。
Air Alarm の開発を通して、アイデアを形にする面白さだけでなく、使えるプロダクトにする難しさも強く実感しました。
そして同時に、こうした試行錯誤そのものが、自分にとってものづくりの一番面白い部分だと、あらためて感じました。