Senior NestJS/React 19 Engineer for Live Production SaaS
Budget: -
HOURLY / FULL_TIME
⭐ 4.90 (20)
United States
typescript, web-application, postgresql, nest.js, react-js, nest-development
Qualifications préférées
- Localisation : Argentina, Colombia, Chile, Brazil
- Expérience : Expert
Status: screening now. Possible start in August, but no commitment to a start date at this stage.
Read this first
This is not a build from scratch. The platform is already built, already launched, already in production, and already generating revenue. We are not looking for someone to rewrite anything, redesign anything, or propose a new architecture. We are looking for a senior engineer who can walk into a mature, well-structured codebase, understand it quickly, and execute discrete feature work on a project-by-project basis without breaking what already works.
If you are looking for a greenfield project or a full-time role, this is not it. If you are strong, senior, and want a steady long-term relationship with a stable product on a retainer plus project basis, keep reading.
The product
A mobile-first, fully bilingual (English and Spanish) field service management SaaS platform serving independent contractors and small crews across more than 100 trades. Think scheduling, dispatch, estimates, invoicing, payments, customer records, and job tracking, all built for people running the work from a phone in a truck, not from a desk.
Current state:
Live and commercially launched with paying subscribers
Subscription billing in production
Three production repositories, more than 130,000 lines of code
More than 55 database models
8 live third party integrations running in production
More than 400 wireframes and screens designed and shipped in Figma
Full bilingual architecture across four language permutations (operator language crossed with end client language) covering the app, public linked views, and all outbound communications
The product is stable. The roadmap from here is additive, not corrective.
Tech stack (you must be genuinely expert, not merely familiar)
Backend
NestJS v11
CQRS architecture (command and query separation, event handlers)
TypeScript
PostgreSQL
Redis
BetterAuth
Prisma style schema and migration discipline
Frontend
React 19
TypeScript
Mobile first responsive design
PWA architecture (installable, offline aware behavior)
Integrations already live in production
Stripe
PayPal
QuickBooks Online
Google Calendar
Google OAuth (verified app, Trust and Safety cleared)
Twilio
Resend
OpenAI
Design and collaboration
Figma (you will receive specs directly from our design lead and must be able to read, interpret, and implement from Figma without hand holding)
Linear for ticketing
Slack for daily team communication
Git based workflow with disciplined branching and
PR review
We are not open to substitutions on the core stack. If you have not shipped production NestJS with CQRS and React 19 with TypeScript, please do not apply.
The work
Project based, scoped, and ticketed. Representative examples of what is queued or likely:
Route optimization. Sequencing and clustering of scheduled jobs by geography and time window to reduce drive time across a crew's day.
Open calendar and availability. Starting with straightforward scheduling additions and availability windows, then growing in complexity as the feature matures and adoption expands.
Feature extensions across existing modules in estimates, invoicing, scheduling, and client communication.
Integration work against the existing third party surface as we add providers.
Performance and query optimization as data volume grows.
The pattern is simple. A ticket is scoped, you estimate it, we agree, you build it, it ships. Some months are quiet. Some months are heavy. The retainer covers availability, monitoring, and small work. Project fees cover defined builds on top of that. Right now we're at launch - it's BUSY.
Communication (this is the number one requirement after the stack)
Read this section twice. We would rather hire a very good communicator who is a strong engineer than a brilliant engineer who goes quiet. We have been burned by the second and we are not doing it again.
We are a small startup, team of 9, with real momentum in design, automation, sales, and product. Every one of those functions moves at the speed of engineering communication.
When engineering goes dark, the entire company stalls, and we have lost weeks to exactly that. This is the single largest constraint on the business right now, and the person we hire is the person who fixes it.
What we require, concretely:
Fluent professional English, written and spoken. You will be on live video calls with the founder, the design lead, and the sales and customer success team. You will write ticket updates that non-engineers read and act on. Written fluency alone is not enough. If you cannot hold a real-time technical conversation on camera in English, this role is not a fit.
Slack replies within one hour during agreed working hours. We run day to day communication in Slack. During your committed working window, messages get a response within the hour.
Again, "on it, answer by end of day" counts as a response. Going an afternoon without replying does not. The exact working window will be agreed in writing before the engagement starts and will be built around US Eastern business hours.
Same day acknowledgment, always. Anything that arrives outside your committed window gets a reply the same day.
Daily written status in Linear. We run on Linear and we like it. But a ticket board only works if the tickets tell the truth. Every active ticket gets updated daily with what moved, what is blocked, and what you need from us. A ticket sitting in progress for eleven days with no comment is a failure, even if you were working the whole time.
Blockers surfaced within hours, not days. If you are stuck, waiting on a decision, waiting on a spec, or waiting on access, we need to know that day so we can unblock you. We will never be upset that you are blocked. We will be upset that we found out a week later.
Estimates you stand behind, and early warning when they slip. Everything slips sometimes. Tell us on day two, not on the due date.
One recurring live dev sync per week, 45 to 60 minutes, on video with the founder and the design lead. During active build cycles this may move to twice per week. These are working sessions, not status theater. Come with progress, questions, and decisions you need made. The time is included in the retainer.
A short weekly written summary of what shipped, what is in flight, and what is next.
To be direct about the standard: proactive, specific, frequent, and in writing.
Availability and emergency coverage (non-negotiable)
This is the part most applicants will skip. Do not skip it. Your answer here is the primary screening filter.
Weekend monitoring, not weekend work. We do not expect you to work Saturdays and Sundays. We do expect email and ticket monitoring on weekends. Concretely, one check on Saturday and one check on Sunday, each within a stated window you commit to. If nothing is on fire, you close the laptop. If something is on fire, you respond.
Emergency and outage protocol. Before any engagement begins, you will provide and we will document:
Two working phone numbers. A primary mobile and a second reachable number that is not on the same device or the same carrier.
Google Meet availability. You must be able to join a video call for a production incident, with camera on, within a defined response window.
Text only communication during an outage is not acceptable.
A written connectivity contingency plan.
Specifically: your backup internet path if your primary provider goes down (secondary ISP, mobile hotspot, coworking space, or similar), your backup power plan, and the physical location you would work from if your primary location becomes unavailable.
Power and connectivity interruptions happen everywhere. What we care about is that you have already thought about it and have a documented answer.
A stated response time commitment for production incidents during business hours and outside them.
Weekend communication. During your weekend check windows, an acknowledgment is required even when nothing is wrong. A one-line "checked, all clear" is sufficient. The point is that the team knows you looked.
Requirements
5 to 7 years professional software engineering experience minimum
Expert level, production-shipped experience in NestJS, CQRS patterns, React 19, TypeScript, PostgreSQL, and Redis
Direct hands on experience with Stripe or comparable subscription billing in production
Comfortable reading and implementing from Figma specifications
At least 3-5 SaaS projects you have personally built or materially contributed to. You must be able to demonstrate them. If a project is under NDA, say so and substitute another.
Fluent professional English, written and spoken.
Confident on live video calls, clear in written updates that non engineers rely on.
Located in Argentina, Colombia, Uruguay, Brazil, or Chile, with genuine daily overlap with US Eastern business hours -
Strongly preferred
Spanish fluency (our platform, our customers, and part of our team are bilingual)
Prior work on a live product with paying customers, as opposed to agency project work handed off at delivery
Experience with QuickBooks Online, Twilio, or Google Calendar APIs
Hard exclusions
No agencies. We are hiring one individual engineer.
No subcontracting. The person we interview is the person who does the work.
No teams bidding as a single profile.
Compensation
Monthly retainer plus per project fees. The retainer covers availability, weekend monitoring, incident response, and small maintenance work. Project fees are agreed per scoped ticket before work begins. Retainer band and project rates will be discussed with shortlisted candidates.
This is structured as a long-term contractor relationship, not a short engagement. A signed contractor agreement, including confidentiality, IP assignment, and non-solicitation terms, is required before any repository or infrastructure access is granted. No exceptions.
How to apply
Generic proposals will be ignored. Pls answer these six questions directly in your cover letter, numbered.
How clearly and completely you answer them is itself the first test of the communication standard described above.
Describe a production NestJS application you built using CQRS. What were the commands, queries, and events, and why was CQRS the right call there?
List the 3-5 SaaS products you have built or materially contributed to. For each, give the URL or a note that it is under NDA, your specific role, the stack, and whether it is live today.
Walk through a production incident you personally handled. What broke, how you found out, how long until it was resolved, and what you changed afterward so it would not recur.
State your country and city, your local timezone, and the specific daily working window you are committing to, expressed in US Eastern time. This is the window in which the one-hour Slack response standard applies, so propose something you can actually hold every day.
Start your cover letter with the word HELLO so we know you read the full post.
Shortlisted candidates will complete a short paid technical exercise against a representative problem, followed by a live video call with the founder and design lead where you will demo your prior work.
Ouvrir sur Upwork
AI proposal draft
Generate a short cover letter for this job. Edit before sending.
Sign in to generate an AI proposal draft.
Connexion