About the role
We're hiring a full-stack engineer to own features end-to-end on an AI-powered web platform. You'll ship product UI, backend jobs, database changes, and third-party integrations in a TypeScript monorepo used in production.
What you'll work on
- Product features across the Next.js app and Node worker (UI → API/actions → DB → background jobs)
- AI agent workflows using the Vercel AI SDK (tool-calling agents, prompt/context injection, structured outputs)
- LinkedIn & CRM integrations — OAuth, webhooks, pagination, rate-limit safety
- Supabase Postgres — migrations, RLS, repository-layer data access, multi-team tenancy
- Background systems — cron workers, job status, PM2-deployed long-running processes
- Keeping the codebase strict, small, and readable (typed TypeScript, focused modules, no shortcuts)
Stack
- Web: Next.js (App Router), React, TypeScript, Tailwind, shadcn/ui, Supabase
- Worker: Node.js, TypeScript, Vercel AI SDK, Hono, node-cron, PM2
- Data: Supabase (Postgres, RLS, migrations)
- Infra: Vercel (web) + DigitalOcean droplet (worker)
What we're looking for
Must-have
- 4+ years professional software engineering experience
- Strong TypeScript. Comfortable with strict typing.
- Production experience with React + Next.js (App Router preferred)
- Solid Postgres / SQL skills; experience with auth-aware multi-tenant apps
- Comfort building and debugging async/background work (jobs, cron, webhooks, retries)
- Ability to own a feature from schema → backend → UI without heavy hand-holding
- Clear written communication; can turn a product plan into a clean implementation
Strong plus
- Supabase (SSR auth, RLS, service-role vs anon patterns)
- AI product experience (LLM APIs, tool calling, prompt/context design)
- LinkedIn / social automation APIs, CRM integrations, or similar third-party systems
- Deploying and operating Node services (PM2, VPS, logs, env management)
- Habit of writing small, single-responsibility modules and keeping PRs focused
Pay: RM6,000.00 - RM7,000.00 per month
Work Location: In person