- Posted 20 hours ago
- Be among the first 10 applicants
Job Description
Lead Full-Stack Engineer (Remote — Indonesia)
Fully Remote · Full-Time · Independent Contractor · Reports to Founder & Product Manager
About OUR CLIENT
OUR CLIENT is a Singapore-based education technology company operating in the academic tuition and exam-preparation space. They are a young, fast-moving startup with a small, high-ownership team.
What makes them different: instead of running on off-the-shelf tools, they built their own proprietary learning platform. It holds a growing database of several thousand practice questions and thousands of past exam papers contributed by students, and the platform's real job is to turn all of that into a single clear answer for each student: what should you work on next
They have already removed traditional homework entirely and replaced it with a structured weekly practice system driven by their own software. AI-assisted marking is live. The hard, valuable part — and the part this role owns — is the data infrastructure: how information is structured, filtered, sorted, organised and presented so that teachers, students and parents make better decisions every week.
The platform is currently built and maintained by an external software agency. OUR CLIENT is now bringing engineering fully in-house, and this is the first in-house engineering hire. The team will be built around this person.
The Role
You will take over an existing production platform from an external agency and become its technical owner. This is not a ticket-closing job.
The founding team and Product Manager are non-technical. They own the product roadmap, user problems, requirements and priorities. You own how it gets built.
The Product Manager owns what we build and why. You own how we build it.
Priority is shipping new features, not sitting in maintenance mode. There is an unknown amount of technical debt from the agency handover — part of your first 90 days is mapping it and deciding what to fix now, what can wait, and what should never be touched.
Why this is different for you
- Own the entire software product, not one isolated slice of a large system
- Work directly with the founder and Product Manager, turning real education problems into software
- Full autonomy over architecture, code quality, reliability and future direction of a live production system
- Build systems used every week by hundreds to thousands of students, teachers and parents
- Fully remote, young high-ownership team
- Flexible unlimited paid time off
- Clear path to build and lead your own engineering team as the company scales
Must-Have Skills (one line)
Next.js 15 (App Router) · React 19 · TypeScript · TailwindCSS v4 + shadcn/ui · TanStack Query · Zustand · Zod · Next.js Server Actions & Route Handlers · Better Auth · Resend / React Email · Bun / Turborepo · Supabase (PostgreSQL) · supabase-js / @supabase/ssr · pg (node-postgres) · CI/CD + automated testing · data structuring, organisation & visualisation · independent production debugging · communicating with non-technical founders
Requirements
We care far more about what you have actually built and taken ownership of than how long your tech list is.
- Minimum 4 years full-stack consumer software engineering experience
- Has previously owned an application or a major product area end-to-end: development → testing → deployment → maintenance
- Has taken over and improved an existing codebase written by other developers
- Works across both frontend and backend, and can independently investigate a problem across the full application
- Strong in data structure, organisation and visualisation — using data to help a team make better decisions
- Has personally diagnosed and fixed production bugs without depending on another engineer to find the root cause
- Has implemented or maintained automated testing, code review and CI/CD (or equivalent quality systems)
- Has made real technical trade-offs across performance, reliability, maintainability, security and delivery speed
- Can show examples of improving an engineering process, not just writing code
- Comfortable working directly with a non-technical founder and Product Manager, translating business problems into technical solutions
- Explains technical decisions in plain language, without hiding behind jargon
- Strong written and verbal English communication
- High self-awareness, humility and adaptability
- Evidence of continuously sharpening their craft using AI — projects, technical writing, open-source, experimentation or deliberate learning
- Comfortable in a startup: ship fast, tight feedback loops, no hand-holding
Tech stack you will work on and build with
Frontend: Next.js 15 (App Router), React 19, TypeScript, TailwindCSS v4 + shadcn/ui (Radix UI + Base UI primitives), TanStack Query, Zustand, Zod Backend: Next.js Server Actions, Next.js Route Handlers, Better Auth (email OTP, passkeys), Resend + React Email, Bun runtime / Turborepo monorepo Database: Supabase (PostgreSQL), supabase-js / @supabase/ssr, pg (node-postgres)
Responsibilities
1. Take technical ownership Take over and fully understand the existing production system. Map the architecture, database, infrastructure, integrations and dependencies. Identify technical risk, weaknesses and debt. Decide what gets fixed immediately, what waits, and what stays untouched. Become the primary technical decision-maker and keep documentation clear so the system never lives in one person's head.
2. Build & ship Understand the outcome behind every requirement. Propose solutions and trade-offs, and challenge requirements when something simpler or better exists. Estimate complexity, break large projects into shippable pieces, and deliver across frontend and backend — through deployment and post-release monitoring. Communicate progress, blockers and risk proactively.
3. Make the software reliable Automated testing around critical student, teacher and parent workflows. Better development, code review, QA and release processes. Monitor production errors, performance and system health. Fix root causes, not symptoms. Build proper safeguards around authentication, authorisation, data and production systems, plus reliable backups, deployments and rollbacks.
4. Improve engineering systems Establish a simple repeatable workflow: idea → requirements → development → review → QA → deployment. Define what ready to build and done mean. Set standards for code review, testing, documentation and releases. Track technical debt lightly. Measure engineering performance with meaningful metrics — not lines of code or ticket counts.
5. Work with product & education Work directly with founders, Product Manager, teachers and operations to understand the problem behind each request. Translate teaching and operational systems into scalable software. Think past what was requested to the outcome the product actually needs.
6. Build the future engineering team Decide when more engineers are genuinely needed. Create hiring scorecards and technical assessments. Interview and evaluate engineers on the founders behalf. Build onboarding, mentor the team, and eventually own the engineering team and its performance.
First 90 Days
Days 1–30 — Fully understand the existing system · identify highest-risk technical problems · independently diagnose and fix production issues · begin shipping improvements · establish a clear takeover plan from the agency · demonstrate independent technical ownership
Days 31–60 — Take over day-to-day technical ownership from the agency · establish reliable dev, testing and deployment processes · automated testing on critical workflows · reduce recurring production bugs · fix the highest-impact weaknesses · set technical standards and documentation
Days 61–90 — Independently own technical direction · consistently ship with the Product Manager · establish a technical roadmap aligned to the product roadmap · build an engineering operating system that can support future engineers · identify what engineering talent to hire next · measurably improve reliability, velocity and quality
What success looks like
Success is not measured by how much code you write. It is measured by whether the software becomes increasingly reliable, increasingly useful, and increasingly easy for the team to improve.
Core Values (you should genuinely recognise yourself here)
- Client Obsession — every technical decision eventually reaches a student, teacher or parent. You don't build something just because the spec says so; you understand the person using it and obsess over their experience.
- Own the Outcome — full ownership of outcomes, not tasks. You follow through. When something breaks, you take responsibility, learn and fix it. There is no try.
- Urgency to Act — speed matters. Once the constraint is clear, you don't wait for tomorrow. Build, test fast, get feedback, refine.
- Sincere Candor — you say it when something isn't working. You're comfortable telling the founder a proposed solution is technically wrong, and equally comfortable hearing that yours is. Feedback isn't criticism, it's the path to mastery.
Engagement Details
- Contract Duration: Full-time, long-term engagement under a Service Contract / Independent Contractor arrangement
- Work Arrangement: Fully remote, with a full-time commitment
- Tax & Compliance: As an Independent Contractor, you are responsible for your own tax reporting and compliance in your country of residence
- Benefits: No local employment benefits are provided, including BPJS, health insurance, or other statutory employment benefits
- Working Hours: Full-time, with meaningful daily overlap with Singapore business hours (GMT+8)
- Location: Open to candidates based in Indonesia
More Info
Key Skills
Turborepo
data structuring
Resend React Email
shadcn ui
Route Handlers
CI CD
Supabase PostgreSQL
Bun
TailwindCSS v4
TanStack Query
Better Auth
Next.js Server Actions
supabase-js
React 19
Zod
node-postgres
supabase ssr
independent production debugging
Zustand
Next.js 15 App Router




