Evaluate fit

Should I use Scrypath?

The honest answer is: use it if you want search indexing to feel native to Ecto and you care about knowing when search is current, queued, or stale. Do not use it if you want a hosted search platform or a framework facade that hides the work.

Good fit

Choose it when the app owns search state.

Why it fits

  • Your app is already Phoenix + Ecto centered.
  • You want search sync to be explicit and observable.
  • You want a library, not a platform.
  • You want the operator story to be honest.

What it gives you

  • Metadata-first searchable schemas.
  • Inline, Oban-backed, and manual sync modes.
  • Related-data fan-out and tenant-safe access.
  • Operator recovery and a runnable example app.

Not a fit

Choose something else when the product boundary is different.

Hosted search platform

Scrypath is not a SaaS search product. It is the orchestration layer around your own search backend.

Magic callback runtime

If you want hidden hooks that imply search is always current, the library is deliberately the wrong shape.

Public multi-backend facade

v1 targets Meilisearch first and keeps the adapter seam internal. That is a product choice, not a missing feature.

Tradeoffs

The benefit is clarity, not breadth.

What it avoids

You do not need to infer state from a giant callback maze, and you do not need to treat the web layer as the boundary. The contexts stay in charge.

What you still own

Your app owns Meilisearch deployment, keys, backups, capacity, recovery decisions, and what is visible when. Scrypath makes that explicit instead of pretending otherwise.

Read the Meilisearch model

Scope and reopen

Feature-lane work stays evidence-gated.

Reopen triggers

Reopen requests route through policy and evidence, not preference. The triggers are: concrete production bug, reviewed outside-adopter evidence, and deliberate strategic product decision.

Canonical policy

Keep the website short and use the policy guide for full scope authority.

Scope and reopen policy

Decision rule

If you want the app to own search, Scrypath is the right layer.

It fits when records live in Ecto and your team wants explicit sync, observable drift, and recovery tools without building that layer from scratch.