How I created an app in 15h

Let’s talk about VoicePost, my current side projeckt. It started with an idea.

As I post daily on LinkedIn, I need quite a lot of content. And most of my ideas come to me on my daily morning walk.

Voice post app

But I hate stopping and typing my ideas into Notion.

There had to be a better way.

So I thought, why not create an app that turns audio into a post draft.

The first step

I just sat down and created a mockup.

3 screens, that’s all there was in the beginning.

I started programming

Exactly for a reason like this, I created my Fast Flutter Template. I want to move quickly.

Basic app setup, done

Login, done.

Firebase integration, done.

But let’s take a step back, I didn’t even start with Firebase as a backend. I commented out one line in the code, the ‘Authguard’ and the app could be used without login.

But what had I to do?

  • [ ] record audio

  • [ ] transcribe it

  • [ ] send it to openAI

Record was easy.

I used this package https://pub.dev/packages/record.

Docs were straight forward.

Here is my voice controller. (yes, no error handling, no permission check, it’s an MVP)

Next: Transcribe

I know I could do it in the client with some Google ML stuff, but I thought if I need to already use OpenAI for the post generation, I could just also transcribe it.

Had a quick look at the OpenAI documentation and quickly had the right call.

I tried to use the api with this package https://pub.dev/packages/chat_gpt_sdk. But it just wouldn’t work.

Back to basics, just do a simple http.post. Send the audio as payload. Done.

Final: Post generation

Another API call to OpenAI using their chat completions endpoint.

Done.

Ok, here is still a lot to be done when it comes to prompt engineering.

Making it ready for testing:

The problem: I had my OpenAI API key in the client. And that’s not safe nor good.

I thought for a second to let the users just add their own API key, but that would only work for tech savvy people.

So my natural choice was Firebase.

  • [ ] Activate functions

  • [ ] Write a transcribeAudio

  • [ ] Write a generatePost

Struggled a bit with the locations where the functions were hosted.

But now the app is ready to be tested.

Summary

I created VoicePost in 15h.

This was only possible because I already did it 30+ times. Skills stack.

And because I used my template Fast Flutter Template, of course.

A basic app setup takes me less than 1h now.

Here is the link if you’re interested.

I really appreciate you reading my posts.

Thank you.

I would be even more grateful if you would do me a favor and follow me on Twitter/X. I only started using it and need some help there 🙂 

https://twitter.com/josef__wilhelm

Reply

or to participate.