Downpoll.

Edited 10.30.2024 - Migrated db from Planetscale to Turso.

Downpoll is a simple polling application that allows the user to create their own polls and share them. This app was created to demonstrate some new and exciting technologies that I had been interested in for a while, mainly tRPC - a utility for building strongly typed APIs in TypeScript. The full tech stack can be seen below:

  • Next.js
  • tRPC
  • Prisma
  • Planetscale
  • Turso

When I first heard of developers building full-stack applications entirely in TypeScript, I thought the idea was crazy. It didn’t make much sense at first, but I think it is safe to say I am now a believer. Having your application be type-safe from front to back is a dream come true for development teams and I believe this could be a game changer in the future of web development.

Using the tRPC toolkit, any changes on your backend will be reflected in your frontend code. At first, I was honestly getting annoyed that anytime I made a change to my Prisma schema I would immediately get linter errors and have to sift through my project to sort them out. This feeling quickly faded once I realized “holy crap, I don’t have to debug any of this code.” Watching my VS code file tabs turn red after saving adjustments to a Prisma model soon became a comforting feeling.

Difficulties

As with any new technology, the initial setup was a bit of a burden. Luckily, finding articles documenting the proper tRPC setup with Next was pretty easy.

Getting used to the tRPC query syntax was also made easy by their great documentation.

Conclusion

I am excited to expand upon this project and build more ideas using this tech stack. The advantages of having a type-safe application are immense and I can’t wait to put this to use elsewhere.