alfieqashwa
alfieqashwa3w ago

Qozy Cue -- Billiard & Cafe Real Time Online Application

Hi, I think I've successfully rewrite my app https://qozycue.com from T3-stack https://t3.qozycue.com It's from Prisma (PostgreSQL) & tRPC to Convex BaaS. It's still production testing. I'm so lonely here. Hopefully can make friends in this community and learn together.
Qozy Cue
Billiard & Cafe Online Application.
Qozy Cue
Billiard & Cafe Online Application.
6 Replies
Matt Luo
Matt Luo3w ago
I just realized the documentation is in Indonesian. Convex community is becoming increasingly global
Matt Luo
Matt Luo3w ago
I like this bouncing animation:
No description
jamwt
jamwt3w ago
Nice! Would love to hear any feedback you have re: pros and cons on Convex vs. t3/prisma!
alfieqashwa
alfieqashwaOP2w ago
Sure! As a Frontend Engineer, I use the T3 Stack as a boilerplate to speed up full-stack app development. tRPC (and of course, TypeScript) helps me catch potential bugs early in the development process. However, I soon realized I needed real-time technology because there would be scenarios where multiple cashiers work on the same page simultaneously. At the time, I tweaked the page by using refetchInterval() from TanStack Query every five seconds to avoid using WebSockets. But I was concerned that this approach might lead to additional costs in production (e.g., on Neon, a serverless Postgres platform). I was already familiar with Supabase, an open-source Firebase alternative, and had also heard about AppWrite. So, I researched and compared both. Based on my limited knowledge and experience, Supabase doesn’t seem as strong as Firebase when it comes to real-time capabilities. By chance, I discovered Convex while browsing about WebSockets, and I became curious about it—especially after watching your discussion on SQL history on this YouTube video: https://www.youtube.com/watch?v=WjIbppFX7Ww Fortunately, my prior experience with tRPC gave me the right mental model to pick up Convex quickly. I was especially happy to remove all the await utils.order.invalidate() calls scattered throughout my code. I really enjoyed my experience rewriting the app, even though I was initially a bit confused because my understanding of relational data structures was deeply rooted in SQL rather than NoSQL. I had a similar struggle when learning MongoDB (my bad!). Right now, I’m still encountering some potential bugs because I forgot to manually remove related data—something I used to handle with onDelete: Cascade in Prisma ORM.
Convex
YouTube
Scaling SQL Databases for Modern Applications
In this episode of Databased, Tom Redman speaks with Jamie Turner and James Cowling about the historical context that necessitated the invention of SQL 1.0 and how these databases have scaled over time. They touch on the challenges of maintaining transactionality and consistency, the rise and limitations of NoSQL databases, and optimizing for de...
alfieqashwa
alfieqashwaOP2w ago
Hey, Mr Matt Luo. Thank you for your response! Yes, I'm from Indonesia. I see your email in the database—why not click the trial bouncing animation (a Tailwind animation) and explore the app further?
Matt Luo
Matt Luo2w ago
Oh I got impeded by the Indonesian in the app. Then got a bit busy with my own app. But let’s connect again soon 🙂

Did you find this page helpful?