Digital Intake Forms

A digital intake form built with Next.js, Convex and TailwindCSS. It's a simple form creator that allows you to intake information from a client for use in a clinic, vet office, or any other business. You can visit the app here.

Overview

This app idea was inspired when I made a quick emergency visit to the walk-in clinic. I walked in, approached the receptionist, and was asked to fill out a form. I was given a clipboard with a form on it, and was told to fill it out and bring it back to the front counter. As I was filling out the form, I thought to myself, "I wonder if there's a way to make this process more efficient and streamlined.".

Structure

I'm utilizing NextJS for this project (surprise!) with the usual TailwindCSS for styling. I initially opted for Supabase for the database, but later switched to Convex. I chose Convex because it's super easy to setup, has auth services similar to Supabase (email & password), a generous free tier and is realtime out of the box, no additional setup needed or special subscriptions or listeners. Convex is made for React it seems, you declare your schema.ts file, Convex automatically generates your types for you. Write a query, call that query on your component to store into a variable and that's it. Anytime that value gets changed in the databsae either manually from the Convex dashboard or by using a Convex Mutation, that value on the frontend of React gets updated and re-rendered. For a system that's largely a CRUD application, Convex is a perfect fit as I don't need to worry about caching, tags, invalidations etc... that may often come with NextJS.