🩺 About the Work

VetReport is a new web software that makes it easier and faster to produce ultrasonography reports for small animals like cats and dogs. 🚀 What Made Me Want to Do It

As a mobile veterinary ultrasonographer, I visit numerous clinics everyday and confront time limits, varying report formats, and the need for speedy documentation. I built VetReport to automate and standardize this procedure so that vets can document their results more quickly and reliably. 🛠️ How It Was Built

 Frontend: Vite, React, TypeScript, and Tailwind CSS 

 UI Framework: shadcn/ui 

 PDF Generation: @react-pdf/renderer 

 Database: Supabase (PostgreSQL with Auth) 

 React hooks and the Context API are used for state management. 

 Storage: Reports can be kept locally or remotely. 

📋 Key Features

 Dynamic form to pick findings per organ 

 Predefined diagnosis codes and remark recommendations 

 Auto-generation of structured tables 

 One-click export to PDF 

 Secure user login and cloud backup with Supabase 

 Live preview of reports and patient history list 

🤯 What I Learned

 Designing forms for clinical workflows involves sensitivity and real user input 

 Storybook is necessary to isolate and iterate UI components fast 

 PDF rendering in React contains several intricacies regarding fonts, layout, and async image handling 

 Local-first techniques with offline fallback are crucial in mobile medical practice 

⚠️ Challenges Faced

 Ensuring UI responsiveness across diverse devices 

 Handling sophisticated form logic without bloating state 

 Creating printable documents that keep layout fidelity 

 Balancing flexibility and consistency in diagnosis standardization

Built With

  • and
  • api
  • are
  • auth)
  • be
  • can
  • context
  • css
  • database:
  • for
  • framework:
  • frontend:-vite
  • generation:
  • hooks
  • kept
  • locally
  • management.
  • or
  • pdf
  • postgresql
  • react
  • react-pdf/renderer
  • remotely.
  • reports
  • shadcn/ui
  • state
  • storage:
  • supabase
  • tailwind
  • the
  • typescript
  • ui
  • used
  • with
Share this project:

Updates

Submission history