ProjectsProfessional product engineering

Encatch

SaaS feedback infrastructure for configurable surveys. I contribute the admin panel, the public website, and the Web SDK.

Type
Feedback and survey platform
Status
In production
Context
Professional

Overview

Encatch is a SaaS platform for feedback surveys, ratings, and NPS-style forms, including an admin workflow and survey triggers. It is a product of Cyber Managers Software Services. I work on it with the team.

The product is not mine alone. The pieces I build are the admin panel, the public website, and the Web SDK other applications install.

Problem

A product team that wants customer feedback otherwise has to build the form, the trigger logic, the admin, and the embed for every application. Encatch is the shared platform for that.

Why I built it

I did not start Encatch. I joined the product as an engineer. The useful question is which part of a working SaaS I am responsible for, and how those parts stay consistent with the rest of the system.

My role

I build the Encatch admin panel, the public website, and the Web SDK. I also contribute to the Docker-based deployment workflows and GitLab CI/CD pipelines around the product. Survey behavior outside those surfaces is team work, and I do not describe it as mine.

Technical architecture

The admin and the SDK are two clients of the same survey configuration. A change made in the admin is what the SDK renders in a host application.

Admin panel (TanStack Start)
        |  REST API
Survey configuration
        |
Web SDK (npm)  ·  Public site (Next.js)

Important engineering decisions

  • The admin panel is a TanStack Start application. It covers authentication, survey management, customer feedback workflows, and analytics.
  • The public website is Next.js. The work there is SEO, page performance, and a layout that holds up on small screens.
  • The Web SDK is framework-agnostic. A host application does not have to adopt our frontend stack to show a survey.
  • The SDK renders from API configuration, so a survey edited in the admin does not need a new SDK release for every question change.

Challenges and trade-offs

  • A framework-agnostic SDK has to own more of its rendering and state than a React-only component. That extra work is what lets the same survey run in different client applications.
  • The integration has to stay smaller than the survey system the host app was trying to avoid building.
  • On a team product, a case study that claims the whole platform is less accurate than one that draws a boundary.

Outcome

  • The Web SDK is published on npm, and third-party applications can integrate configurable surveys through it.
  • The admin panel and the public website are part of the Encatch product in production.

What I learned

An SDK succeeds when installing it is smaller than the problem. The configuration model has to be the same one the admin already edits, or the SDK becomes a second product.

Professional product work is easier to talk about when I name my contribution and leave the rest of the team's work with the team.

Links

TanStack Start · Next.js · TypeScript · React · REST APIs