Inspiration
When I was preparing for my final examinations, I would frequently come across this small YouTube channel that hosted a bunch of great quotes. On some days, I would scroll through the channel endlessly. It served as a mental reset from all the studying. I figured this application could serve the same purpose for someone else.
What it does
myQuote is a simple quotes app. Its main features are speech synthesis and a minimal user interface guided by the 60-30-10 color rule: a dominant background color, a secondary text color, and an accent color for controls and highlights.
Users can read quotes, listen to them, save favorites, and share them. The app also offers a collection of premium themes and bundled fonts without changing the underlying UI structure. Pro users can set their own notification time.
How we built it
Initially, I wanted to program the app locally, solo and slowly, but my hardware was simply not good enough for the workflow I had in mind. So, I decided to build it using AI and cloud infrastructure. I used a promotional ChatGPT Plus trial that coincided with Shipaton’s competition period.
The app is written in Kotlin, with Jetpack Compose and Material 3 handling the interface. Jetpack DataStore stores local preferences, Android’s text-to-speech system reads the quotes, and RevenueCat manages purchases and premium access.
All the APKs were compiled through GitHub Actions. The entire process was iterative: I gave ChatGPT instructions, downloaded the resulting builds, and tested the app on physical devices to see whether it met my specifications. When something failed or looked wrong, that became the next round of work.
Challenges we ran into
The biggest initial challenge was not having enough computational power to build the application comfortably on my own machine. Moving the builds to GitHub Actions made the project practical. Without the promotional ChatGPT offer, I would probably have abandoned it.
Testing brought its own challenges. Speech synthesis depended on the voices installed on each device, and an interface that scrolled smoothly on one device could struggle on another. Premium access also needed attention: a successful purchase had to remain correctly recognized after reopening the app. The implementation uses RevenueCat’s customer information to determine whether the premium entitlement is active.
Getting an APK to compile was only part of the job. I still had to check what it actually did.
Accomplishments that we're proud of
The first fully functioning prototype was built in six days.
From there, I refined the interface, themes, speech controls, and purchase behavior through repeated testing.
The quote collection and fonts are bundled with the app. Quotes can be read locally, and speech works offline when a suitable offline voice is installed. Online voices and RevenueCat purchase checks use network access.
I also ended up with a repeatable cloud build process that let me keep developing despite my hardware limitations.
What we learned
You can build an entire application using cloud infrastructure, even when your own machine cannot comfortably handle the development environment.
AI made implementation faster, but I still had to define what I wanted, test the results, and identify where the behavior fell short. The more precise my instructions and feedback became, the more useful the process was.
The biggest lesson for me was that I could change how I approached the work. I did not need to wait for better hardware before starting.
What's next for myQuote
I plan to publish myQuote on the Google Play Store. For now, I am submitting it to Shipaton’s Next Gen category, with public source code and a judge build that uses RevenueCat’s Test Store for purchases.
Log in or sign up for Devpost to join the conversation.