Fix Production Bugs in a React/Node/Postgres Restaurant Finance App — Ongoing Support Engineer

Posted 2 days ago

Worldwide

Summary

I manage a restaurant cost-control platform used by about 200 independent restaurant operators and growing to close their books every week. When a number is wrong on our Weekly P&L, an owner makes a bad call on food cost or labor — so bugs here move real money. We're hiring a support engineer to own our bug queue: reproduce, root-cause, fix, and harden. WHAT YOU'LL DO - Triage incoming customer reports — reproduce, classify, set severity, and write a clear diagnosis. - Find the root cause. Not "the button is misaligned" — why does the invoice land in the wrong table, and what else does that code path touch? - Ship a short-term fix that unblocks the affected customer this week. - Then build the durable fix: the schema change, validation layer, or regression test that kills the whole class of bug. We want both halves. A patch with no follow-up plan is half the job. REAL TICKETS FROM OUR BOARD - A POS sync overwrote historical P&L data. Connecting Toast rewrote sales and labor on an already-closed week across all three of a customer's locations. Needs a write-provenance fix so manual data wins. - Bi-weekly payroll splits inconsistently between the Weekly P&L and the Performance Dashboard — two code paths, two answers, one customer's labor cost percentage. - Misc COGS is excluded from the all-in total, so the cost percentage differs from screen to screen. - Invoice OCR fails silently on multi-page PDFs — no data, no error message. - About 10 mobile layout bugs in the Invoice Tracker: clipped inputs, unscrollable dropdowns, truncated values on iPhone. STACK - Frontend: TypeScript, React 18, Vite, TanStack Query v5, Tailwind + shadcn/ui, Wouter - Backend: Node + Express, Drizzle ORM, PostgreSQL (Supabase), Zod - Infra: EC2 + PM2, GitHub Actions CI/CD, Sentry + AppSignal - Integrations: Toast POS API, OpenAI/Anthropic for invoice OCR, Gmail OAuth, Resend - Testing: Vitest, unit and integration against a real Postgres - Tickets: ClickUp HOW WE WORK Our board is large — a few hundred tickets — but it's triaged and maintained, not a dumping ground. Everything carries a status, priority, and reproduction steps. We have a dedicated QA engineer who verifies fixes before they're announced to customers, CI/CD on every merge, and error tracking in place. You'll never be guessing at what "done" means. - Pull tickets from ClickUp, work on a branch, open a PR. - Every fix ships with a regression test. - One weekly sync; async the rest of the time. - Overlap with US Central hours helps but isn't required. WHO THIS IS FOR Required: - 5+ years of production TypeScript across the full stack - Strong SQL and relational modeling — many of these bugs are data problems wearing a UI costume - Real debugging discipline: reproduce, hypothesize, verify, then fix - You write the failing test before the fix - Clear written English — you'll write customer-facing diagnoses and internal root-cause write-ups Nice to have: - Financial or accounting software (fiscal calendars, period math, ledger integrity) - POS or payments API integrations - OCR / document-extraction pipelines Not a fit if you're looking for a greenfield build. This is reliability work on a live system with real customers and real money in play. PROCESS We start with one paid ticket of roughly 4-6 hours at your normal rate before any ongoing commitment — good for both of us. No unpaid tests, no spec work.

  • Less than 30 hrs/week
    Hourly
  • 3-6 months
    Duration
  • Expert
    Experience Level
  • Remote Job
  • Ongoing project
    Project Type
Skills and Expertise
Mandatory skills
React
Node.js
JavaScript
Activity on this job
  • Proposals:50+
  • Interviewing:
    0
  • Invites sent:
    0
  • Unanswered invites:
    0
About the client
Member since Jan 28, 2021
  • United States
    Los Angeles1:10 PM
  • $132K total spent
    50 hires, 14 active
  • 4,948 hours

Explore similar jobs on Upwork

Add Tree Adoption Feature to WordPressFixed-price‐ Posted 2 months ago
WordPress
PHP
HTML5
CSS
JavaScript
Node.js
PHP
Web Application
AI App Development
DevOps
API
Git
MySQL

How it works

  • Post a job icon
    Create your free profile
    Highlight your skills and experience, show your portfolio, and set your ideal pay rate.
  • Talent comes to you icon
    Work the way you want
    Apply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
  • Payment simplified icon
    Get paid securely
    From contract to payment, we help you work safely and get paid securely.
Want to get started? Create a profile

About Upwork

  • Rating is 4.9 out of 5.
    4.9/5
    (Average rating of clients by professionals)
  • G2 2021
    #1 freelance platform
  • 49,000+
    Signed contract every week
  • $2.3B
    Freelancers earned on Upwork in 2020

Find the best freelance jobs

Growing your career is as easy as creating a free profile and finding work like this that fits your skills.

Trusted by

  • Microsoft Logo
  • Airbnb Logo
  • Bissell Logo
  • GoDaddy Logo