What Shipped This Week: Mid-March Progress Update
Back to Blog

What Shipped This Week: Mid-March Progress Update

4 min read

The last post covered booking guardrails, visual workflow cues, and a big chunk of under-the-hood tidying. This week's been more outward-facing — features that people will actually see and that make the platform feel more credible, plus a few things that help new users find their feet.

Testimonials

This one's been on the list since the early days. Tripsdock now has a complete testimonials pipeline — from outreach to display. The platform admin can select club owners from a ticklist and send them a personalised email with a unique submission link. They fill in a simple form (role, testimonial text), it lands in a moderation queue, and once reviewed and published it appears in a carousel on the landing page.

The whole thing is closed-loop: you can't accidentally re-send, used links are invalidated after submission, and nothing appears publicly until it's been explicitly published and featured. If there are no testimonials yet, the section and its nav link just don't render — no empty carousels.

Group Owner Setup & Dashboard

Two things landed here. First, new group owners now get a setup checklist — a guided banner that walks them through the essentials: upload a logo, set your brand colour, write your About page, add FAQs, configure payment details, and invite your first member. It shows for the first six weeks and can be dismissed (a ring indicator persists in the nav until everything's done or it ages out). It means new groups don't stare at a blank dashboard wondering where to start.

Second, owners now have much more control over what their space looks like. There's a new dashboard notice — a pinned message (up to 500 characters) for announcements or reminders — plus editable intro text, description, and about page content. Clubs can shape their own presence rather than everything looking identical.

Bot Protection

The group registration form and contact form are now protected by Cloudflare Turnstile. It's invisible to humans — no "click all the traffic lights" — but it blocks automated spam submissions. This was always going to be needed before we open up registration more broadly, and it's now a shared library so it's trivial to add to other forms down the line.

Stripe Climate

Tripsdock is now a Stripe Climate member — 1% of revenue goes to carbon removal. The badges are shown on the platform so it's visible to users. A small thing in the grand scheme, but it matters.

Platform Admin Dashboard

The admin dashboard got its first proper rework. It's now split into three sections — Growth (groups, users, trips over time), Revenue (total, pending, waived, per-trip fee table), and Email Health (sent/failed/delivery rates, volume charts).

Pricing Clarity

I went back through the trip creation flow and the "Your Registration" card and made the pricing breakdown much clearer. There are now tooltips explaining what each line means, and what's shown is more accurate — particularly around cost recovery, which is now visible during trip creation with a link through to the detail. Tourist tax information also now appears in the Your Reg panel where relevant.

Cancel Invitations

Organisers can now cancel invitations that have been sent. Previously, once an invite was out there, you couldn't retract it. Now you can.

Bug Fixes & Infrastructure

  • Email delivery tracking — Resend webhook events (delivered, bounced, opened) are now tracked and stored, which powers the delivery rate metrics on the admin dashboard.

  • Modal scrollbar fix — Radix UI was injecting extra space when modals opened, causing a visible layout shift. Fixed.

  • Payment confirmation — The payment successful panel has been tidied up, and there's now a platform fee due badge that appears on the dashboard when fees are outstanding.

Test Coverage

Not user-facing, but significant: test coverage almost doubled, with new integration tests for payment actions and room sharing actions. The coverage workflow was also simplified to give improved reporting of coverage.