I'm really happy about how the UI for Vacnotes tur...
# compose-ui-showcase
v
I'm really happy about how the UI for Vacnotes turned out. ๐Ÿฅณ It's designed by my awesome girlfriend and built by me using Compose Multiplatform. Fun fact: Backend is also Kotlin (Ktor), so it's all one big happy Kotlin Mutliplatform project. Next up will be creating a desktop app. ๐Ÿ˜ƒ https://apps.apple.com/us/app/vacnotes-ai-voice-to-text/id6532597260
K 9
Android app exists, but is still in review... ๐Ÿ˜ค
m
Great how can do voice to text and text to voice in compose multi-platform
v
@Meet the short version is "record audio using platform apis and upload to server that uploads to openai". ๐Ÿ˜ƒ That's btw the only reason why I have a backend. The most complex part was getting recording to work well on both android and ios, since those needed to be implemented separately. This "ojbc in Kotlin" code is neither pleasant to write nor to look at. ๐Ÿ˜‚
๐Ÿ˜… 3
m
yeah that why i ask you. it difficult to implement
v
It's hard. But hard is where it gets fun! ๐Ÿ˜ƒ I leave all the easy parts for Copilot.
m
can you please this code in blog or github or any website publish it actually i need it. i know android side but ios side no idea about
v
Sure ๐Ÿ˜ƒ Here's the audiorecorder code I use for ios. Note that it's not perfect and part of it is tailored to how I use it. Also probably won't have time to give any support for it. Other than that, feel free to use it as you like. ๐Ÿ˜ƒ https://gist.github.com/Qw4z1/5a7153246769abd767b52ab7506584c7
๐Ÿ™Œ 2
๐Ÿ‘ 1
โค๏ธ 1
m
ok ok thanks
๐Ÿ™Œ 1
a
As someone with (mild?) ADHD am stuck stewing over the meaning of โ€œVacโ€ โ€ข vaccuum? โ€ข vacuous? (my thoughts are, often) โ€ข vacation (some of my most inspired note-taking) I wanted to play with the UI a bit but, sorry, was a bit put off because I cannot do anything without creating an account. Went ahead. I really recommend you do not push people to buy the Pro immediately on signing in the first time, without experiencing anything of the app. Give them a chance to appreciate the UI and some features first.
๐Ÿ™Œ 1
Youโ€™re also very aggressive pushing to review the app - I got the popup as soon as Iโ€™d recorded my first audio, without the chance to read the transcription, then again after closing that transcription. You might find some people giving you lower ratings just out of annoyance at feeling pestered. The app looks great, nice muted colours and fluid experience. I suspect the AIโ€™s behaviour is out of your control. I was very underwhelmed with its summary but the transcription was spot-on with my Aussie-British accent.
๐Ÿ™Œ 1
v
Thanks for the feedback @Andy Dent. The name started as Voice And Clarity, which got abbreviated and then stuck. ๐Ÿ˜… Will probably rebrand if it takes off. You're not the first one mentioning the account thing, so we might change it soon. ๐Ÿ˜Š Great to hear that the transcription worked! It's sort of out of my control, but I can always fine tune prompts. I'm currently using OpenAI Whisper, but I've started exploring Deepgram and AssemblyAI too. Might use different LLMs for different tasks soon. Would you be willing to send the summary in a DM and say a bit more about what you would have expected? Might help me tweak it a little bit. ๐Ÿ˜Š
a
Is there an android version of the app?
v
@andries.fc it's in review... ๐Ÿ˜–
a
Thanx ๐Ÿ™‚,
v
Yeah, I'm an Android fanboy since 2011, so I really want it approved. Sadly, the Google Play review experience has been horrible the past 6 months, while the App Store review process has been smooth as butter.
a
I only just signed up for a Play Store account, which was a painful few hours on the weekend. Thanks to having a well-established company with a long history inc an app on Appleโ€™s store, verification of identity. only took a couple of days. Iโ€™m a bit nervous as to how long actual app approval will take! I paid a lot of attention to any warnings or feedback during the process, ensuring I paid to setup a new company Google user, had a website on the company domain and (two!) emails using that domain.
v
On the setup, I still have billing issues related to taxes in two countries. This is related to a known bug with no timeline to get it fixed. On review time: Apple took less than 24 hours to approve a first release. Google is on day 8 of In Review.
๐Ÿ˜“ 1
i
That's cool, @Viktor Nyblom! ๐Ÿ™Œ๐Ÿผ Are you sending the ByteArray to the openai service? I'm currently trying to build a transcription app, but it's been tough getting the raw audio data sent to OpenAI (and also to Deepgram's WebSocket API). I'd really appreciate it if you could share how you do it in Vacnotes!
v
@Isfaaghyth so, I first send the audio to my server. Then I use this library server side to talk to open ai: https://github.com/aallam/openai-kotlin This is the relevant code:
Copy code
private suspend fun transcribe(fileName: String, file: File): Transcription {
        val fileSource = FileSource(
            name = fileName,
            source = file.source(),
        )
        val req = TranscriptionRequest(
            fileSource,
            model = ModelId(transcriptionModel)
        )
        return openai.transcription(req)
}
Alright! It should be live on Android now too. ๐Ÿฅณ I've already seen one crash that I think might be a Compose bug, so please dm me if you experience any issues. Also, if you like the app, I would really appreciate a 5 star review in either App Store or Play Store. Feels a bit weird asking for it like this, but it really helps with the rankings. ๐Ÿ˜‡๐Ÿ™ https://play.google.com/store/apps/details?id=se.sabumbi.vacapp