Full-Stack Developer (Node.js + React) for ESG Membership Platform

Job ID: 39762610

Budget: $100 – $120 USD

Summary
About ESGRoadmap:
ESGRoadmap is on a mission to organise the world's sustainability commitments. The company helps its clients understand the core, forward-looking and quantifiable targets companies have made.

Description:
We are seeking a Full-Stack Developer (Node.js + React) to take over from a prior developer and continue building our membership portal. Clear handover, repos, and environment setup instructions will be provided. You’ll work directly with the founder.

Key Tasks (3 Milestones):
Milestone 1: Paddle Billing Enhancements (est. 5–8h)
• Enable users to edit billing details (via Paddle Billing).
• Allow users to cancel their account.
• Support downgrade to free plan (Paddle free product already exists).

Milestone 2: Admin Dashboard (est. 8–10h)
• Admin-only functionality to create free accounts and manage existing accounts (view, edit, deactivate).

Milestone 3: Saved Searches & Alerts (est. 8–12h)
• Enhance existing “Save Search” + "email alert" feature for more user optionality: so users can revisit their search/filter criteria and whether they want to receive email alerts (via Brevo)
• Ensure integration across the 7 ESG analytical tools (carbon, waste, water, supply chain, gender diversity, renewables, company universe).

Associated developer instructions manual to be updated

Tech Stack:
• Backend: Node.js, Express.js, TypeScript, Prisma, MySQL
• Frontend: React + Vite, TypeScript, Tailwind CSS
• Integrations: Paddle (billing), Brevo (email), NGINX/Certbot (SSL)

Requirements:
• Strong Node.js/Express + TypeScript skills.
• React + Vite + Tailwind experience for frontend UI.
• Familiarity with Prisma ORM + MySQL.
• Experience integrating billing APIs (Paddle preferred).
• Knowledge of role-based auth and admin dashboards.
• Experience implementing saved searches/notification systems.
Budget & Engagement:
• Payment tied to delivery of each milestone.
• Communication via Upwork / Google Sheets
• Potential for future milestones (e.g., CMS-lite for text editing) if collaboration goes well.

You will be asked to answer the following questions when submitting a proposal:

1. What relevant experience do you have?
2. Specifically, what experience do you have with Paddle Billing?
3. Do you have any questions or suggestions for the project?