Inspiration

Producers always struggle to finish their tracks — drives are always full of unfinished projects, and the reason isn't talent, it's having no system. Every solution out there is a generic task manager reskinned with a music emoji. None of them understand how producers actually work. I understand this issue as I have a music background, therefore I built Finito to fix that. It is personally helping me to finish and track my music progress.

What it does

Finito gives every track a visual pipeline — Idea, WIP, Mixing, Mastering, Finished — so producers can save and track all their projects in one place with real-time reminders so nothing goes cold.

Real audio analysis — This is the best part of the app where users can have real-time audio analysis, because I know that there is no benefit in working on unprofessional tracks. Upload a mix and Finito runs an actual FFT on the audio file using the Web Audio API — in the browser, no server needed. It measures real low, mid, and high frequency balance, then sends those numbers to Gemini AI for a specific mixing diagnosis based on actual signal data. Not guesswork.

DAW-aware AI — Set your DAW and every suggestion changes. FL Studio gets Fruity Parametric EQ 2 references. Ableton gets stock device advice. Logic gets Channel EQ. Studio One gets Pro EQ. You can even ask about any third-party plugin. It feels like a producer friend who knows your setup.

Milestones — At the starting phase, we did not have milestones, but I thought this could be a good feature to add because milestones add a bit of excitement and give immense satisfaction even when we complete just a few. I already broke down the entire thing in the video — you can break tracks into checkpoints: drums done, vocals recorded, mix approved. Check them off as you go. Progress bars update on the kanban card. Small wins compound into finished tracks.

Automated accountability — Untouched for 3 days? Email. Deadline approaching? Email. Mark a track Finished? AWS Lambda fires automatically via DynamoDB Streams and sends a congratulations email. That moment deserves to be celebrated. This is one of the most important features to have in this app.

Export — Imagine you have plans to travel and all your project data is on the app dashboard. You can simply export all your projects and write down your ideas offline when you are away from your desktop. Just download all projects as Excel, JSON, or CSV for offline reference.

How I built it

Built on the H0 stack — Vercel and AWS.

DynamoDB — three tables: projects, activity log, and AI chat history. The projects table uses a Global Secondary Index for status queries, TTL to auto-expire abandoned projects after 180 days, Streams to trigger Lambda functions on status changes, and Transactions for atomic writes across tables.

S3 — audio file storage with presigned URLs. The frontend never touches credentials — it requests a presigned URL, uploads directly to S3, and the key is stored in DynamoDB.

Lambda + SES — Lambda functions triggered by DynamoDB Streams send automated emails on project completion. A Vercel Cron job runs daily checking for stalled projects and approaching deadlines, then sends reminders via SES.

IAM — scoped permissions for every service. The Lambda role only accesses the specific tables and SES actions it needs.

The FFT analysis runs entirely client-side using the Web Audio API — audio never leaves the browser, which matters when dealing with unreleased music.

Challenges I ran into

  1. It was not easy because I had never used AWS before. Therefore, DynamoDB Streams and Lambda wiring took significant debugging.
  2. IAM permissions had to be scoped exactly right.
  3. SES sandbox mode means emails land in spam — in production this would use a verified domain with DKIM and SPF. This was frustrating, but I am happy that it is working because it took significant time to get it right.
  4. Knowing when to stop adding features and start explaining what is already there — every hour on feature fourteen is an hour the first thirteen go unexplained.

Accomplishments I'm proud of

  1. It makes me happy that I was able to build something for music producers because the music community is really close to me. I am also proud of the UI and UX of the app.
  2. Real FFT frequency analysis running in the browser with actual signal data feeding into AI diagnosis.
  3. DAW-aware AI that references specific plugins the producer actually has — not generic advice.
  4. Fully event-driven AWS architecture: DynamoDB Streams → Lambda → SES.
  5. Three DynamoDB tables with GSI, TTL, Streams, and Transactions — production-grade, not a demo database. I truly believe this can be a really good app for music producers.

What I learned

As I already mentioned, I had never used AWS before, so this was a fresh experience for me.

  1. DynamoDB Streams are genuinely powerful and underused. The pattern of "data changes → event fires → something happens" is exactly right for this kind of application.
  2. FFT analysis in the browser is more capable than I expected — the Web Audio API gives you real frequency data that is actually useful for mixing diagnosis.
  3. DAW-aware AI was the best idea I had. Generic AI advice for producers is everywhere. Advice that knows your setup feels completely different.

What's next for Finito

  1. Full auth with Cognito so every producer has their own account.
  2. Spotify and SoundCloud integration for release tracking.
  3. Mobile app so producers can log ideas on the go.
  4. Inspiration library — save reference tracks, album art, and DAW templates per project.

Built With

  • amazon-web-services
  • aws-dynamodb
  • aws-iam
  • aws-lambda
  • aws-ses
  • dynamodb-streams
  • gemini-ai
  • next.js
  • tailwind-css
  • vercel
  • vercel-cron
  • web-audio-api-(fft)
Share this project:

Updates