Intermediate Full Stack Engineer

AI overview

Deliver features end-to-end and improve engineering practices within our platform, utilizing technologies like Next.js and Firebase to empower civic tech solutions.

Join our mission to provide governments with exceptional experiences so they can do the same for their communities!

What do we do?💥

We empower governments to deliver exceptional citizen experiences. 

Check out our ‘About Us’ page for a deep dive into our product and what makes us exceptional.

CivCheck is transforming how cities manage plan review and building code compliance. As part of Clariti, CivCheck brings together deep domain expertise and cutting-edge AI to streamline and modernize the permitting process. Our Guided AI Plan Review™ (GPR) platform is the first of its kind and it is helping cities and applicants alike navigate complex building codes with clarity, consistency, and speed. By combining intelligent automation with human expertise, CivCheck empowers communities to build faster, safer, and smarter.

How will you help us make an impact? 👩‍💻👨‍💻

We’re looking for an Intermediate Full-Stack Engineer who can independently deliver features end-to-end while bringing strong quality and testing practices into our codebase. You’ll work across the stack, shipping new functionality, refactoring existing systems, improving reliability, and writing the automation and test coverage needed to confidently support our growing platform. This role is ideal for someone who enjoys both building products and improving engineering foundations. You’ll collaborate closely with a team of senior engineers and product owners and you’ll play a key role in ensuring that what we ship is stable, maintainable, and well-tested.

As a Intermediate Full-Stack Engineer at Clariti, you’ll get to :

  • Design, build, and maintain features across our platform (Next.js, React/Chakra UI, Node.js/Express, Firebase).
  • Contribute to architectural decisions, code quality improvements, and refactoring efforts.
  • Work closely with product, to turn requirements into shipped, user-facing functionality.
  • Write clean, maintainable, and testable code with TypeScript.
  • Develop and maintain automated tests (unit, integration, and end-to-end) using tools like Jest, Vitest, Playwright, or Cypress.
  • Ensure reliable test coverage around your own changes and help evolve our testing strategy.
  • Identify gaps in testing, reliability, or structure and proactively fix them.
  • Help modernize and refactor parts of the codebase as we scale.
  • Participate in code reviews and contribute to engineering standards.
  • Improve internal tooling, documentation, and CI/CD workflows (GitHub Actions).
  • Work across teams (engineering, QA, product) to embed quality throughout the development lifecycle.
  • Mentor junior engineers on clean code, debugging, testing patterns, and best practices.
  • Help shape technical direction and contribute to continuous improvement of our engineering culture.

What do you bring to the team? 🧠

  • 3–5+ years of professional full-stack experience (or equivalent depth through impact + projects).
  • Strong proficiency with JavaScript/TypeScript.
  • Experience with modern frontend frameworks (React, Next.js, or similar).
  • Experience building APIs and backend services (Node.js/Express, Firebase, or equivalent).
  • Strong understanding of software testing fundamentals and experience writing automated tests.
  • Experience refactoring or improving existing codebases.
  • Comfort owning features end-to-end, from design to implementation to testing.
  • Solid understanding of Git, CI/CD, and modern development workflows.
  • Strong communication skills and the ability to collaborate in a fast-moving environment.
  • A mindset focused on quality, maintainability, and continuous improvement.

Bonus Points 🎉

  • Strong opinions (loosely held) on best practices for testing strategy and setting up testing infrastructure
  • Experience being burned before by untested or brittle systems - and you now deeply appreciate the beauty and leverage of a well-structured test suite that makes teams faster, not slower.
  • Knowledge of building with Github Actions

What’s in it for you?🫵

  • Experience with Firebase (Firestore, Auth, Cloud Functions).
  • Hands-on experience with Playwright, Cypress, or advanced test automation tooling.
  • Exposure to infrastructure or DevOps concepts (CI/CD pipelines, GitHub Actions).
  • Experience improving or designing testing frameworks or quality processes.
  • Interest in civic tech, government platforms, or products with real-world community impact.

We invest in and empower our team members with competitive compensation packages, well deserved time off and benefits to keep you and your family healthy! *

💰 The base salary range for this role is expected to be between $110,000 -130,000 CAD based on the candidate’s skills, experience, and qualifications while considering internal pay equity and our broader pay philosophy. 💰

If you have questions about compensation as we move through the process, we’re happy to discuss further.

*Benefits depend on employment type (full-time, part-time, contract, etc).

 

Things to Note 📝

Background checks - Because our customers trust us with sensitive information, we require all successful candidates to undergo comprehensive background checks before joining our team. We focus strictly on global sanctions and criminal offences that are directly relevant to employment at Clariti, and follow all applicable privacy and human rights legislation. 

Travel- Although we operate as a remote company, all roles are expected to participate in occasional travel for in-person company-wide or departmental meetings, typically 1-2 times per year. Additional travel requirements specific to the role, if any, will be outlined in the job description.

We're committed to building an inclusive culture where our team members take ownership over projects, tasks, and outcomes; bring a growth mindset to drive continuous learning and self-development; have the ability to communicate courageously in a direct but respectful way; and are customer-focused by keeping the customer at the heart of decision-making. It’s the diversity of our team that helps us make better decisions, by leveraging the diversity in thought & experience across to create impactful solutions as we explore new paths & challenges as we grow. We’re working to create a workplace and team that is as diverse as the communities we serve. We welcome and encourage candidates of all backgrounds to apply. 

Questions? We are here to help 

If you require accommodations in completing an application, interviewing, completing any pre-employment testing, or otherwise participating in our hiring process for any reason, please direct your questions to [email protected] and we’ll be happy to support you.

Salary
CAD $110,000 – CAD $130,000 per year
Get hired quicker

Be the first to apply. Receive an email whenever similar jobs are posted.

Ace your job interview

Understand the required skills and qualifications, anticipate the questions you may be asked, and study well-prepared answers using our sample responses.

Full-Stack Engineer Q&A's
Report this job
Apply for this job