Full-Stack Engineer; React/Typescript
Listed on 2026-10-16
-
Software Development
Full Stack Developer, React.js
Full-Stack Engineer (React / Type Script, growing into .NET)
Rosebank, Johannesburg
· Hybrid after onboarding
· Permanent
Build the apps real people use on real phones, and grow into the backend.
Our client runs a live retail-media and connectivity platform used every day by consumers and small-business owners across South Africa's informal-trade market, with leading consumer brands buying media and insights on top of the data. Product development is moving in-house and this is one of the first two engineering hires.
What you'll own- Three live React apps: a consumer-facing portal, an admin and campaign portal, and a client reporting app
- A new owner portal built as a PWA for low-end Android phones and patchy connectivity
- The data pipelines behind the product (event data, SQL Server, Postgres)
- Smaller edge services (Cloudflare Workers, Supabase apps)
- Growing into the .NET API alongside a senior engineer
- A very strong front end:
React and Type Script in production - Backend experience in Node/JavaScript, Type Script, C#, Java or Kotlin, with a production ORM and cloud deployment, and a willingness to learn .NET. .NET experience is a strong plus
- Comfort with SQL and scripting for data work (Python or Type Script)
- A full-stack mindset, self-direction and curiosity about the product and its users
PWA or offline-first work, Click House / Big Query / Snowflake, event-driven patterns, daily use of AI coding tools.
Why this role- Real breadth: frontends, data and edge services on a live product
- A planned growth path into .NET with a senior engineer alongside you Modern stack:
React, Vite, Tailwind, shadcn/ui, Cloudflare Workers, Supabase, Click House
office-based in Rosebank for the first three months while you learn the platform and the team, then hybrid: three days in the office, two from home.
Package:market-related, depending on experience.
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).