Skip to main content

Friday, April 24, 2026

Activity Feed Redesign, Provider Profiles With Maps, and NPI-Verified Badges

By Kenny Eliason
Contributors
Attorney Portal v2026.4.11

Portal 2026.4.11 rebuilds the activity log as a card feed you can actually scan, threads a consistent page-title bar across every screen, and moves the welcome-message controls into Settings with a new Generate-with-AI button. In the Quilia Directory, every provider profile gets a two-column layout with a real map, and claimed medical providers can now verify their NPI against the national registry to show a "NPI verified" trust badge on their public profile.

Activity Feed, Redesigned portal

What used to be the Logs tab is now Activity, and it reads like a feed instead of a table.

  • Card feed with category badges on avatars: each entry shows who did what, with a small category icon on their avatar so the kind of activity (message, appointment, signature, chat, survey, and so on) is obvious at a glance.
  • Inline image and PDF thumbnails: if a client attached a photo or signed a PDF, a thumbnail appears right in the feed, and clicking opens a lightbox. No more "tap through to see what was actually uploaded."
  • Condensed view for older entries: activity past 14 days collapses into a tighter row so the recent stuff stays readable.
  • Feed or List toggle: prefer the old dense-table view? The toggle sticks via a cookie, so whichever view you pick is what you see every time.
  • Sentence-case titles: activity titles read as prose now, not shouty headings.

One Page-Title Bar Across the Whole Portal portal

Headers used to drift: different fonts, different padding, different back-button behavior on different screens. The portal now renders one shared page-title bar at the top of every route, with inline actions. Roughly 25 pages were migrated onto it in this release, and the old inconsistent back buttons are retired. Navigation uses the sidebar and the browser's back button.

Welcome Message: Now in Settings, With Generate-With-AI portal

The toggle that controls whether a welcome message goes out to newly onboarded clients used to live inside the composer, which was an odd place to hide a feature switch. It now lives in Settings → Features, with a Configure link that jumps you straight to the composer when you want to edit the copy.

Inside the welcome composer itself:

  • Generate with AI drafts a first-pass welcome message from your firm's context when the draft is empty. The button is the primary action on a fresh welcome so it's the obvious first step, and it fades to a secondary "redo" style once you have content.
  • Trimmed chrome: the long purple explainer banner is replaced with a one-line note, and the "Last updated" row only shows up once the draft actually has content.

Variable Tokens Now Work in Subject Lines portal

Variable placeholders like {{client_first_name}} and {{firm_name}} already worked inside the message body. This release threads subject-line variable substitution through every send path: immediate sends from the composer, scheduled messages, and the automatic welcome message. Put Welcome, {{client_first_name}} in the subject, and every recipient gets their own name in their inbox.

Gmail-Style Compose Pill in the Messages Rail portal

Starting a new message from the Messages section is now one click on a prominent Compose pill at the top of the rail, matching the pattern most of your team already knows from Gmail.

Quilia Directory: NPI-Verified Badge for Medical Providers directory

Claimed medical providers in Quilia Directory can now enter their 10-digit National Provider Identifier, and Quilia live-verifies it against the national NPPES registry. Only active, valid NPIs get stored, and a "NPI verified" badge appears on the public profile. A weekly cron re-checks every verified NPI, so if a provider's registration is ever deactivated the badge drops automatically.

This is the first of the trust signals that separate claimed, vetted medical providers from bulk imports in the directory.

Quilia Directory: New Profile Layout With a Real Map directory

Every provider profile in the directory got a full redesign.

  • Two-column layout on desktop: a map of the provider's location, their location cards, and a similar-providers block sit on the left. A sticky action sidebar on the right gives visitors Call, Website, and Directions buttons (for claimed providers) or a compact "Claim this listing" card (for unclaimed ones).
  • Static map on every profile: Quilia now geocodes all 21,000+ providers using Google Geocoding and renders a static Mapbox map on each profile at the provider's actual location.
  • Reach banner above the fold: the patient-reach trust signal ("Active on Quilia", number of states, claimed badge) moved above the fold where it actually gets read.

Quilia Directory: New Landing Pages for Attorneys and Providers directory

Two new landing pages replace the old one-size-fits-all home:

  • /attorneys: the firm-facing pitch. Cross-market provider search, a value grid, and an FAQ.
  • /providers: the provider-facing pitch with a three-step how-to for claiming a listing. Supports personalized deep-links: /providers?id={uuid} greets a specific provider by name and routes them straight to the claim flow after sign-in.

The directory home now surfaces two parallel, equal-weight CTAs ("Find a provider" and "Claim your listing") so both audiences feel addressed instead of buried.

Simpler Claim Flow for Providers directory

Providers claiming their listing now land on a pre-filled canonical record instead of a blank form. If Quilia has matched them against the NPPES registry, their name, specialty, and NPI come pre-populated, so signup is fewer keystrokes and less risk of typos creating a second, mismatched record.

Faster Case Detail Pages portal

The case detail page is noticeably faster on cold loads and route transitions.

  • Cached case data with a 2-minute refresh window: repeat visits to the same case return instantly for the first couple of minutes, then quietly refresh. Edits to the case invalidate the cache immediately, so you never see a stale version after your own changes.
  • Parallelized sub-routes: the sub-sections of a case now fetch in parallel instead of one-after-another.
  • Lazy-loaded dialogs and CaseChat sheet: the dialogs that only open when you click them, and the CaseChat slide-out, no longer ship in the initial bundle. The case page loads less JavaScript up front.
  • Paginated messages on case detail: cases with long message histories now paginate at the bottom of the tab instead of trying to render the full history inline.

Bugs and Improvements portal

  • Global composer crash on first load: a server-side rendering crash in the new composer form that could blank the compose page on first load is fixed.
  • Cases and people permission loop: fixed an infinite-recursion cycle in the row-level security policies between cases and people that was causing sporadic "internal error" responses when opening certain claimed-provider cases.
  • Custom case types: a leftover whitelist was dropping custom case types at a couple of validation boundaries. Removed, so any case type your firm configures now flows through end-to-end.
  • Activity feed spacing: restored the tight spacing the activity feed had before the recent styling upgrade.