John Galt Services seeks a full-time Front-End React Developer to serve a US customer building a construction project management platform used by contractors across the United States.
This is a production SaaS product with real users managing real projects: tracking leads, building proposals, scheduling jobs, managing equipment and inventory, processing invoices and purchase orders. The front end is a React + TypeScript monorepo with two apps: a full-featured CMS for internal teams and a customer-facing portal. It's built on modern tooling—Vite, Tailwind, Radix UI, TanStack Query—with a shared component library and domain-specific packages.
You won't be tweaking landing pages or building throwaway prototypes. You'll be building complex, data-rich interfaces that contractors depend on every day. The problems are real, the users are real, and the architecture is designed to scale.
You must be fluent in English. You will join our customer's development team as a remote member with real responsibilities, not pixel-pushing tickets.
Your application is our first test of your attention to detail and ability to follow instructions. 👀
👉 Read this ENTIRE job listing!
👉 Follow the application instructions EXACTLY!
👉 If you do not meet the minimum qualifications for the job, DO NOT APPLY!
If you fail to follow the instructions below, we will reject your application without reading it!
FLUENT SPOKEN & WRITTEN ENGLISH! You will communicate daily with a US-based team. Your English must be clear and confident: spoken and written. If you aren't sure, keep practicing and apply next time.
SOLID REACT & TYPESCRIPT SKILLS! You should be comfortable building real applications with React and TypeScript: not just following tutorials. You need to understand component composition, hooks, state management, and how to structure a codebase that won't collapse under its own mass. If your idea of state management is useState for everything, take some time to level up first.
EXPERIENCE WITH MODERN UI TOOLING! The front end is a pnpm monorepo (Turborepo) with two apps—a CMS and a customer portal—built on React + Vite, Tailwind CSS, Radix UI, React Hook Form, Zod, and TanStack React Query. You don't need to know all of these, but you should have built something real with at least a few of them. If you've never worked with a component library or a design system, this will be a steep climb.
AN EYE FOR DETAIL AND QUALITY! You will build interfaces for real users who care about things working correctly. Forms that validate properly. Tables that sort and paginate. Drag-and-drop that doesn't break. Rich text editing that produces clean output. If you think "it works on my machine" is a valid QA strategy, we're not a match.
WILLINGNESS TO LEARN AND TAKE OWNERSHIP! The codebase includes shared libraries for authentication, domain models, and UI components. You'll be expected to understand the architecture, not just drop code into it. If you need someone to hand you a Figma file for every pixel, this role will be frustrating for both of us.
You MUST have at least a Bachelor degree.
You MUST be willing to work late night hours.
You MUST either live on Bali or be willing to relocate to Bali.
You MUST have the right to work legally in Indonesia. JGS does NOT sponsor work visas!
ATTENTION TO DETAIL! The moment we see your application, we'll know.
If you do not meet ALL of these requirements, DO NOT APPLY for this job!
Tailwind CSS
Radix UI / shadcn/ui
TanStack React Query
React Hook Form + Zod
Monorepo tooling (pnpm workspaces, Turborepo)
TipTap or similar rich text editors
Git & GitHub Actions
You are supporting our customer remotely, but this is NOT a remote job! We will provide working space and equipment near Canggu, Bali. All work is performed on-site.
New associates start at a probationary pay scale of IDR 8 jt / month gross (i.e. before taxes & benefits). Your probationary period is three months.
If we retain you past three months, your pay will increase to IDR 12 jt / month gross.
We pay performance bonuses based on your ability to contribute. The less hand-holding you need and the less rework your code requires, the more valuable you are to the team. After your probationary period, we will pay up to a 50% bonus for any month in which you meet or exceed our expectations. This would bring your pay as high as IDR 18 jt / month gross.
We also reserve a large pool of funds for staff perks, events & annual bonuses. If we are happy with your work, you will be VERY happy with your choice!
Also, our office is just minutes from the beach, right outside Canggu, Bali. If you know, you know!
Good question! Might help to show up at your interview with an answer.
Make sure your JobStreet profile includes a valid email & WhatsApp phone number.
Include this EXACT cover letter:
It must be written in fluent English, BY YOU, not by an AI assistant. We can tell! 👀
The very top line of the cover letter should contain ONLY a link to your GitHub profile. Nothing else.
Below this, describe your experience as a front-end React developer. There will be thousands of applicants for this job. Explain why we should pick YOU.