freehire launches on Product Hunt on 26 August.

Follow →

Mid-Senior Python Developer

Summary

Build full-stack web apps using React 18, Express, PostgreSQL, and Docker, shipping features from UI to live production while integrating third-party APIs and payment flows.

We're on the hunt for a developer who can comfortably jump between frontend finesse, backend logic, and database wizardry - basically, someone who doesn't panic when the stack gets a little... tall. You'll be building cool things people use (yes, in production), taking ideas from "this might work" to "this is live, don't touch it on a Friday." You'll spend your time crafting slick interfaces, wiring up powerful backend logic, and making sure everything plays nicely together, including those mysterious third-party integrations that occasionally have moods of their own.

Key Responsibilities

  • Turning product ideas and designs into real, working features across the stack - from shiny UI to the logic that makes it all tick
  • Building smooth, responsive interfaces using React 18, Vite, TailwindCSS, and shadcn/ui (Radix UI) and yes, they should look as good in real life as they did in Figma
  • Writing backend magic with js and Express, creating APIs that are fast, secure, and don't randomly fall over
  • Keeping frontend data under control with TanStack Query, and making forms behave with React Hook Form + Zod (because validation matters)
  • Designing and maintaining clean, efficient data structures in PostgreSQL, writing SQL that doesn't make future-you cry
  • Making sure everything is secure using tools like Helmet, rate limiting, and proper session handling (no "just hope for the best" approach here)
  • Translating UI/UX into pixel-perfect builds using TailwindCSS + Radix primitives, with just enough Framer Motion to make things feel polished
  • Handling navigation like a pro with React Router, so users never feel lost
  • Working with maps (Leaflet) and icons (Lucide) to keep things visually consistent and user-friendly
  • Integrating with external services, including payment flows (PayFast) and email systems (Nodemailer), and dealing with the chaos when third‑party APIs feel unpredictable
  • Managing file uploads (yes, users upload anything) using Multer, and keeping storage organised
  • Keeping everything running smoothly in Docker, with environments that actually behave the same locally, staging, and in production
  • Helping push code to production via CI/CD (GitHub Actions) without breaking everything on a Friday afternoon
  • Debugging weird, mysterious issues, the kind where you say, "that doesn't make sense" at least twice
  • Refactoring older code to make it cleaner, faster, and less confusing for the next person
  • Writing commit messages that future developers will silently thank you for
  • Quietly making sure good security and engineering practices are followed across the board

Job Experience and Skills Required

  • Have at least a couple of years of real-world development experience under your belt.
  • Have built products that actual humans use (and occasionally complain about).
  • Can take a feature from "great idea" to "it's live" without needing a weekly motivational speech.
  • Understand that Git is for version control, not for creating 146 branches nobody will ever merge.
  • Enjoy solving problems and don't immediately declare bankruptcy when faced with an unfamiliar issue.
  • Can work independently but also know when to ask for help before accidentally reinventing Google.
  • Communicate technical concepts without sounding like a malfunctioning Stack Overflow post.
  • Give constructive feedback during code reviews and don't take feedback personally when it's your turn.
  • Stay curious about new tools and technologies without feeling compelled to rewrite everything every six months.
  • Take ownership, meet commitment

See also