How a date bug, a Gmail address, and a fake contact form were quietly breaking trust with real users and what we did about it
Build log, March 13 - Unfortunately, no actual work was done for feature implementation, instead the whole day has been spent on ensuring our application does not mislead the users.
Fix 1 : Dashboard date ranges (IST)
useDashboardAnalytics was using the start-of-day instead of the end-of-day range endpoint. “Last 7 days” was excluding today’s invoices. Fixed this and a load of other filters to use the end of today IST - 7d / 30d / 3M / 6M / This year / All time. Removed after verifying with the instrumentation logs.
Fix 2 : Email consistency
Removing [email protected] from every single file (that actually ships to the end user) Contact.tsx, Help.tsx, Privacy.tsx, RefundPolicy.tsx, Terms.tsx, AuthProvider.tsx, ErrorBoundary.tsx replacing it with [email protected] using proper email domain, not the signal that a Gmail in an error boundary is a bad sign.
Fix 3 : Contact form: fake → real
Fixed a form that had a setTimeout with a "Thank you!" message and no data being sent. SubmitContact is now wired to a new submitContact Cloud Function (asia-south1) via httpsCallable. Resend integration is also fixed, as well as HTML sanitization, and typed HttpsError codes are now mapped to user-friendly messages on the frontend. Build is clean, and lint is passing.
All three are what I would call unsexy. They’re the type of project that distinguishes “I built this” from “people can use this”.
Stack: React + TypeScript + Firebase + Resend + Razorpay
Live: trygetbill.com -- free tier, no card
Contractor, are you using any testing methods to identify where the place holders have been left in and allowing them to be fixed prior to release to end users?
0
4
0