Node.js Developer – Live Fleet Telematics Platform (Kenya) | Contract
Worldwide
Kuwamatics is a live fleet and cargo telematics platform running in production in Kenya. Built on Traccar + Node.js, it tracks vehicles, cargo e-seals, fuel, geofences, and M-Pesa payments for B2B logistics clients. Real GPS devices are reporting live right now. This is not a concept — it's a working product with a paying customer. Important: Applications that appear AI-generated will be rejected without response. We want a human engineer who can think and communicate clearly. The stack: Backend: Node.js + Express, PostgreSQL, PM2 Frontend: Vanilla JS + ~25 modular JS files Engine: Traccar (self-hosted, local API) Auth: Session-based, 5 roles, multi-tenant B2B Infrastructure: DigitalOcean droplet, GitHub private repo, Spaces backups What you'll work on: Set up a staging environment (mirror of production) Build the billing engine (subscriptions, invoicing, M-Pesa reconciliation) Activate SMS alerts via Africa's Talking (API keys ready, code deployed) Security hardening and independent auth/tenancy review Performance tuning toward 800+ live devices Ongoing bug fixes and feature improvements on a live codebase You must have: Node.js + PostgreSQL (3+ years on real projects) Ability to read and work confidently in someone else's codebase Git/GitHub workflow Clear written communication in English Available ~20hrs/week, fully remote Nice to have: Traccar or GPS/IoT experience Kenya/East Africa market familiarity PostgreSQL performance tuning experience How we work: I am not a developer. I review diffs, test features, and approve changes. You write the code, explain what you did and why, and work independently from clear task descriptions. Good written communication matters as much as technical skill. You will have full access to the GitHub repo and a detailed handover document from day one. To apply — all four required, no exceptions: What port does the Traccar HTTP API run on by default, and what is it used for? Complete this sentence in your own words: "PM2 is used to..." A Node.js server returns this error: Error: connect ECONNREFUSED 127.0.0.1:5432 — what does it mean, what are the two most likely causes, and what is the first command you would run to diagnose it? Record a 2-minute Loom video (loom.com, free) walking through any Node.js + PostgreSQL project you have built. Show the code and explain one interesting problem you solved. No video = no response. What is your hourly rate in USD?
- Less than 30 hrs/weekHourly
- 6+ monthsDuration
- ExpertExperience Level
$25.00
-
$47.00
Hourly- Remote Job
- Complex projectProject Type
Skills and Expertise
Activity on this job
- Proposals:20 to 50
- Last viewed by client:3 hours ago
- Interviewing:4
- Invites sent:6
- Unanswered invites:1
About the client
- United States7:29 AM
Explore similar jobs on Upwork
How it works
Create your free profileHighlight your skills and experience, show your portfolio, and set your ideal pay rate.
Work the way you wantApply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
Get paid securelyFrom contract to payment, we help you work safely and get paid securely.
About Upwork
- 4.9/5(Average rating of clients by professionals)
- G2 2021#1 freelance platform
- 49,000+Signed contract every week
- $2.3BFreelancers 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