Frontend Developer (React + TypeScript) — mid-level, AI-assisted workflow, strong testing discipline

Posted yesterday

Worldwide

Summary

We are looking for a **mid-level frontend developer** to join a distributed team building and maintaining production web applications. The stack is **React + TypeScript** (Vite, Tailwind CSS, Radix UI, TanStack Query, Vitest), with a documented engineering workflow that every contributor follows — freelancers and in-house staff alike, with no separate standard for external contributors. This role is for someone who already works **with AI coding tools as part of their daily workflow** — and who knows that AI output is a draft to be verified, not code to be shipped. If you copy-paste from an assistant without reading the diff, this role is not for you. ### What you'll be working on - Building and evolving user-facing features in React + TypeScript: components, hooks, forms, data fetching, state management. - Bug fixes, refactors and UI polish, delivered as small, reviewable pull requests. - Writing and maintaining unit tests for components, hooks and business logic — tests are part of the work, not an optional extra. Full technical detail and repository access are provided **after** an NDA is signed (see Requirements). ### How we work (you must be comfortable with all of this) - **Everything goes through a pull request.** No direct pushes to shared branches, no exceptions. One branch = one ticket = one PR. - **Small PRs.** We aim for under ~400 lines changed; bigger work gets split. Refactoring and behavior changes go in separate PRs. - **Screenshots or recordings are mandatory on UI PRs.** Reviewers must see what changed, not just read the diff. - **Tests ship with every change.** New feature → tests covering the new behavior. Bugfix → the failing test that reproduces the bug is written **first**, then fixed. A PR must never decrease overall coverage — CI enforces this. - **Tests test behavior, not implementation.** One test = one behavior; if a pure refactor breaks your tests, the tests were coupled to implementation. - **Run tests and lint locally before pushing.** CI is not your test runner. A red pipeline blocks merging — no overrides. - **Clean git history.** Conventional Commits (`feat(auth): ...`), atomic commits, rebase on the integration branch — never merge commits into your feature branch. History is cleaned up before review. - **Reviews are discussions.** You answer every comment — either change the code or explain why not. First responses come within one working day, in both directions. - **2-week sprints, daily standup, live board.** You own your ticket from "To Do" to "Done" — including the review rounds. ### Requirements - **Solid React + TypeScript experience** on production applications: component design, hooks, forms, async data fetching, accessibility basics. - **Daily, disciplined use of AI coding tools** (Copilot, Cursor, Claude, ChatGPT or similar). You must be able to explain *how* you verify AI-generated code before committing it. - **Genuine unit-testing habit** with a modern test runner (Vitest, Jest, Testing Library or similar). You write tests without being asked, and you can explain what makes a good test. - Familiarity with Tailwind CSS and component-library workflows. - Comfortable with a PR-based workflow: small branches, rebasing, conventional commit messages, responding to review feedback. - Clear written English — PR descriptions, comments and ticket updates are all in writing. - Mid-level is fine: we care more about discipline, standards compliance and honesty about what you don't know than about years of experience. **Nice to have:** React Native experience (we have a mobile app), PWA experience, or E2E testing (Playwright/Cypress). ### Mandatory before any access is granted Because this system processes sensitive personal data: 1. **A signed NDA.** We provide the document; it must be signed before any technical detail, repository access or infrastructure access is shared. 2. **Government-issued photo identification**, plus proof of address, for identity verification. Contractors who cannot or prefer not to provide these should not apply — no exceptions will be made. We will share the anonymised technical brief only after both are complete. ### Engagement - **Type:** hourly. - **Start:** ASAP. - Fully remote, distributed team; overlap with VN working hours is mandatory. ### To apply, please answer 1. Which AI coding tools do you use daily, and for which tasks? Describe a concrete case where AI-generated frontend code was subtly wrong (e.g. broken accessibility, stale state, wrong edge-case handling) and how you caught it. 2. You fix a UI bug. Walk us through your exact process, from reproducing the bug to opening the PR — where do tests fit in? 3. How do you decide what deserves a unit test in a React application, and what do you deliberately *not* test? 4. Describe your git workflow on your last team project: branching, commits, PR size, how you handled review feedback. 5. Confirm explicitly that you are able to sign an NDA and provide government-issued identification. Applications that do not answer these questions will not be reviewed.

  • More than 30 hrs/week
    Hourly
  • 6+ months
    Duration
  • Intermediate
    Experience Level
  • Remote Job
  • Ongoing project
    Project Type

Contract-to-hire opportunity

This lets talent know that this job could become full time.
Learn more
Skills and Expertise
Mandatory skills
React
Tailwind CSS
TypeScript
Activity on this job
  • Proposals:50+
  • Last viewed by client:yesterday
  • Interviewing:
    0
  • Invites sent:
    0
  • Unanswered invites:
    0
About the client
Member since Aug 30, 2023
  • Belgium
    Antwerp12:01 PM
  • $157K total spent
    52 hires, 12 active
  • 6,717 hours

Explore similar jobs on Upwork

MySQL
PHP
HTML5
CSS 3
WordPress Plugin
WordPress
AJAX
jQuery
WordPress Security
WordPress Website
MySQL Programming
WordPress Bug Fix
WordPress Migration
WordPress Theme
WordPress Backup
WordPress Development
Web developerHourly‐ Posted 4 weeks ago
Web Development

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