Product

Grimoire — A lightweight songwriting App

Grimoire — A lightweight songwriting App

Grimoire — A lightweight songwriting App

Tools

Figma

Cursor

Xcode

Figma

Cursor

Xcode

Figma

Cursor

Xcode

Tech Stack

SwiftUI DSwaveformImage

Lottie

SwiftUI DSwaveformImage

Lottie

SwiftUI

DSwaveformImage

Lottie

Goals

Provide songwriters with a seamless way to write song lyrics on their iPhones.

Provide songwriters with a seamless way to write song lyrics on their iPhones.

Provide songwriters with a seamless way to write song lyrics on their iPhones.

My Role

Designed in Figma and built with Cursor and Xcode. Grimoire is an iOS songwriting app that allows users to attach audio files to a notepad, loop sections of music, and organize songs into folders. This enables a seamless songwriting experience that reduces friction and supports creative flow.

Designed in Figma and built with Cursor and Xcode. Grimoire is an iOS songwriting app that allows users to attach audio files to a notepad, loop sections of music, and organize songs into folders. This enables a seamless songwriting experience that reduces friction and supports creative flow.

Designed in Figma and built with Cursor and Xcode. Grimoire is an iOS songwriting app that allows users to attach audio files to a notepad, loop sections of music, and organize songs into folders. This enables a seamless songwriting experience that reduces friction and supports creative flow.

Building with AI

Building with AI

The initial plan was to build this with React Native and CocoaPods. I quickly realized that wasn’t ideal due to the lack of precise audio control, so I opted to use Swift instead for better playback management.


Using Figma MCP and Cursor, I was able to build a working prototype quickly. The process was new to me, but with proper design token organization, layer naming, and thoughtful prompting, I was able to get it done. The app is now in the process of being deployed to the App Store.

The initial plan was to build this with React Native and CocaPods. I quickly realized that wasn't ideal an instead switch to a SwiftUI build for more control over audio playback.


Together with Figma MCP and Cursor I was able to build a working prototype quickly, the app is now in the process of being deployed to the App store.

The initial plan was to build this with React Native and CocoaPods. I quickly realized that wasn’t ideal due to the lack of precise audio control, so I opted to use Swift instead for better playback management.


Using Figma MCP and Cursor, I was able to build a working prototype quickly. The process was new to me, but with proper design token organization, layer naming, and thoughtful prompting, I was able to get it done. The app is now in the process of being deployed to the App Store.

Outcomes

Shipped a working beta to 12 early testers, receiving feedback on clarity and usability.

Shipped a working beta to 12 early testers, receiving feedback on clarity and usability.

Shipped a working beta to 12 early testers, receiving feedback on clarity and usability.

92% of users said looping felt “more intuitive” than their current setup.

92% of users said looping felt “more intuitive” than their current setup.

92% of users said looping felt “more intuitive” than their current setup.

Discovered an opportunity to evolve into a full song draft manager, potentially including cloud sync and version history.

Problem Space

Problem Space

When songwriting, many tools outside of pen and paper can be distracting. Many iOS users rely on the native Notepad app, but it lacks key features that would make it ideal for writing with music.

When songwriting, many tools outside of pen and paper can be distracting. Many iOS users rely on the native Notepad app, but it lacks key features that would make it ideal for writing with music.

When songwriting, many tools outside of pen and paper can be distracting. Many iOS users rely on the native Notepad app, but it lacks key features that would make it ideal for writing with music.

Solutions

Solutions

Import and attach audio directly to a notepad.

Loop specific audio segments for detailed lyric writing or melody matching.

Organize songs into folders, enabling structured songwriting sessions across projects.

Research & Discovery

To validate the opportunity, I interviewed musicians and songwriters ranging from bedroom producers to professional artists. Key insights:

To validate the opportunity, I interviewed musicians and songwriters ranging from bedroom producers to professional artists. Key insights:

"I mainly use the native iPhone notepad because you can play music in it."
"The notepad app has an audio player but it doesn't have a looping feature to make writing hooks easier."
"Having a digital version of my song lyrics makes it easier to upload them to website like Genius."

Key Features

Key Features

🎼 Audio + Notepad

Users can attach local and cloud based audio files and playback their music while writing lyrics.

🔁 Looping Engine

Implemented custom loop points users can drag and reset, supporting precise section focus.

🗂 Folder System

Inspired by file managers, users can create folders, move songs, and collapse lists for clean navigation.

🎼 Audio + Notepad

Users can attach local and cloud based audio files and playback their music while writing lyrics.

🔁 Looping Engine

Implemented custom loop points users can drag and reset, supporting precise section focus.

🗂 Folder System

Inspired by file managers, users can create folders, move songs, and collapse lists for clean navigation.

Icon

Icon

A simple but eye grabbing icon was chosen for the app, I wanted something that could be easily located when opening up your phone.

A simple but eye grabbing icon was chosen for the app, I wanted something that could be easily located when opening up your phone.

Photo

Adding a Song

Adding a Song

Users can quickly browse local and cloud based files and attach them to song sessions.

Users can quickly browse local and cloud based files and attach them to song sessions.

Photo

Music Player

Music Player

As a key touchpoint of the app I wanted the music player to be easy to use but also subtle.

Considering responsiveness I opted to simply the player from earlier version to ensure screen compatibility.

As a key touchpoint of the app I wanted the music player to be easy to use but also subtle.

Considering responsiveness I opted to simply the player from earlier version to ensure screen compatibility.

Photo
Photo

Resident Profiles

Resident Profiles

Data is key for proper resident management, this page serves as the center for internal users. I made sure to present data in a manageable way for the users.

Data is key for proper resident management, this page serves as the center for internal users. I made sure to present data in a manageable way for the users.

Photo

Design Tokens

Design Tokens

As a key touchpoint of the app I wanted the music player to be easy to use but also subtle.

As a key touchpoint of the app I wanted the music player to be easy to use but also subtle.

Photo

Looping in Action

Looping in Action

Keeping the timestamps while customizing the loop was a top ask from beta testers.

Keeping the timestamps while customizing the loop was a top ask from beta testers.

Photo

Next Steps

Launch on app store in Q3.

Launch on app store in Q3.

Launch on app store in Q3.

Build backend structure and

Build backend structure and

Build backend structure and

Expand notepad features with annotations, and maybe add social aspect if userbase allows for it.

Expand notepad features with annotations, and maybe add social aspect if userbase allows for it.

Expand notepad features with annotations, and maybe add social aspect if userbase allows for it.