Skip to content

Review System

PinTeach supports reviews from two sources:

  • PinTeach: Students submit reviews via in-app prompts after sessions
  • External: Teachers import from Preply, Italki, Verbling, Google Business, Trustpilot
FieldTypeDescription
ratinginteger1-5 stars (required)
titlevarcharOptional title
bodytextReview content
quickTagsjsonbTag array (e.g., “patient”, “fun”)
sourceenumpinteach, preply, italki, etc.
statusenumpending, approved, hidden, flagged
isFeaturedbooleanHighlighted on profile
isAnonymousbooleanStudent identity hidden
teacherResponsetextPublic teacher reply

review_requests — Solicitation system with channels:

  • in_app: Shown in student portal
  • email: Sent via email
  • link: Shareable review link

Token-based verification with expiration.

/teacher/reviews has 5 tabs:

  1. Overview: KPIs + rating distribution + recent reviews
  2. All: Full list with search + status/source filters
  3. Requests: Send review solicitations to students
  4. Import: Import external reviews from other platforms
  5. Settings: Moderation and display preferences
ActionDescription
ApproveMove from pending → approved
HideMove to hidden (not visible publicly)
FeatureHighlight on teacher profile
RespondAdd public teacher response
DeleteRemove review entirely

Per-teacher config (review_settings, 1:1):

SettingDefaultDescription
autoRequestEnabledfalseAuto-send request after sessions
autoApprovetrueAuto-approve new reviews
minAutoApproveRating3Min rating for auto-approve
showOnProfiletrueDisplay reviews on profile
notifyOnNewReviewtrueEmail on new review

The Widget System supports reviews widgets with 4 layouts:

  • Grid: Card grid layout
  • Carousel: Horizontal slider
  • List: Vertical list
  • Wall: Masonry wall

Configurable: accent color, max reviews, min rating, sort order, show/hide fields.

Embed via iframe with postMessage resize support.

GET /public/:slug/reviews — Returns approved reviews for a teacher’s public profile and widgets.

ParameterTypeDefaultDescription
ratingintegerFilter by star rating (1-5)
sourcestringFilter by review source
dateFromstring (ISO date)Filter reviews created on or after this date
dateTostring (ISO date)Filter reviews created on or before this date
sortBystringcreatedAtSort field
pageinteger1Page number
limitinteger10Results per page

All parameters are optional. dateFrom and dateTo accept ISO date strings and work alongside the other filters.

  1. Student completes a session
  2. Review request appears (if auto-request enabled, after configurable delay)
  3. Student rates (1-5 stars) + optional quickTags + body text
  4. Review submitted with status based on settings (pending or approved)
  5. Teacher gets notification (if enabled)