Case study / GP.Family

Care coordination, built on shared packages.

GP.Family uses Yapture as product infrastructure: a shared task language for quick entry, a consistent presentation layer, and an adaptable local-first list engine.

ProductGP.Family
PackagesScript, UI, Lists
StatusIn production
The product need

Make coordination quick without making it cryptic.

Family care work is full of urgency, people, appointments, documents, and follow-ups. GP.Family needed fast task entry that could carry those details without turning the interface into a dense form.

Yapture Script lets the original sentence stay readable. GP.Family presents clean task text and meaningful badges while keeping the text the person typed attached to every item.

Care plan / Shared with family
GPGP.Family
IN PRODUCTION
CARE COORDINATION

Good afternoon, Alex.

3 active
Pick up prescription #!high #+alex #@care
Pick up prescription

HIGHALEXCARETOMORROW

Confirm cardiology follow-up

DR. PATELFRI 10:00

Share visit notes with family

FAMILYDOCUMENT

GP.Family care interface In production
Integration

One parser at entry, display, and orchestration.

01 Task input

People see feedback while they type, using the same parser and badge vocabulary across every screen.

const parts = YaptureNLP.render(value)
const badges = partsToBadges(parts)

<TaskBadges badges={badges} />

02 Task display

Saved work renders from the original text, so the input and the saved item never drift apart.

const parts = YaptureNLP.render(
  task.originalText
)

partsToBadges(parts)

03 Portal dashboard

The product acts on structured fields while showing people a clean task title. Priority, type, and assignee are all available without a separate data model.

const parsed = YaptureNLP.parse(
  originalText
)

parsed.priority   // "high"
parsed.taskType   // "task"
parsed.assignee   // "alex"
Architecture

A native list experience, not an iframe.

GP.Family embeds its list experience through a same-origin proxy and adapts Yapture's list package inside the product. It keeps its own navigation, visual system, and domain context.

GP.Family experiencePortal navigation, care context, product styling
Lists embedNative component, same-origin proxy
@yapture/listsTask engine, Solid adapter, REST repository
Local-first stateYjs, persistence, sync
Outcomes

What the integration delivered.

01
Faster capture People express ownership, urgency, context, and time in one line.
02
Consistent semantics The task input, saved item, and dashboard logic share the parser.
03
Native experience GP.Family keeps its own interface instead of embedding a foreign app shell.
04
Explicit package boundaries Parser, presentation, repository, and sync are separate packages with documented APIs.
Evidence

The packages GP.Family depends on.

Package Used by
@yapture/nlp TaskInput, TaskItem, PortalDashboard
@yapture/script-ui/solid Shared TaskBadges presentation
@gpfamily/lists-embed Native portal embedding
@yapture/lists/solid Task engine and state adapters

Keep your product. Share the packages.

Start with the parser, the list engine, or the full stack.