SharePoint + Dataverse schema cleanup

Your schema grew up fast. We tidy it up.

A cleanup engine that scans your SharePoint lists, libraries and Dataverse tables, checks every column against clean rules, and applies the fixes programmatically. You see a dry run first. Nothing changes until you say so.


    
The problem

Every quick build leaves a little mess behind.

Apps built fast, by many hands, drift. Each shortcut made sense on the day. Together they make reporting fragile, automation brittle and onboarding slow.

⧉

Duplicate columns

"Status", "status " and "Status2" all holding the same idea, each wired to a different flow.

%

Ugly internal names

Internal names like Project_x0020_Owner that leak into every formula, API call and export.

◌

Orphaned choices

Choice values nobody picks any more, and lookups pointing at tables that no longer matter.

?

No descriptions

Columns with no description, so the next maker guesses, and guesses differently.

How it works

Scan. Check. Plan. Apply.

Scan

Reads list, library and table definitions through the official APIs. Read-only, no data is changed.

Check

Runs every column through a rule set: naming, prefixes, descriptions, duplicates, unused choices, indexing and versioning.

Plan

Produces a dry-run diff of every proposed change, grouped by risk, so you approve the plan rather than trust a black box.

Apply

Applies the approved changes programmatically, in order, with a record of what changed and how to roll it back.

What it fixes

Two platforms, one rule book.

SharePoint lists and libraries

  • Encoded or generic internal names renamed to a clear convention
  • Duplicate and near-duplicate columns merged
  • Indexes added where large lists need them
  • Versioning and content types set consistently on libraries
  • Missing column descriptions filled in from the rule book

Dataverse schema

  • Publisher prefix checked on every custom table and column
  • Display names, schema names and descriptions brought into line
  • Unused choice values and dead relationships flagged
  • Changes packaged in a solution so they move cleanly between environments
  • A schema report your next developer can actually read
no-encoded-namespublisher-prefixdescription-requiredno-duplicate-display-namesno-generic-namesunused-choice-valuesindex-large-lookupslibrary-versioning
Start here

Find out what a cleanup would touch.

Book a free consultation. We walk through one list, library or table with you and show what the engine would flag and why.

Book a free consultation
Capability lab

What a Cloudflare Pages site can do.

Every card is a live demo of one capability. The tags say what to ask for next time.

Experimental. Not product claims.

1. Schema untangle

SVGrequestAnimationFramestroke-dashoffsetIntersectionObserver

A messy relationship graph untangles into a clean layout when it scrolls into view. Same family of techniques as the animated roadmap.

2. Live rules engine

Client-side JSZero backend

Edit the schema on the left. The rules run in your browser on every keystroke and produce findings plus a dry-run fix plan. This is the product idea as a toy.

Health score
-
Dry-run fix plan

3. Dataverse-style Web API

Pages FunctionsOData

A Power Pages style endpoint at /api/data/v9.2/ running on the edge, with a small OData subset: $select, $filter (eq, ne, gt, lt, contains, startswith, and), $orderby, $top, $count. Seeded sample data. A real tenant call would get an Entra token server-side in the Function, so no secret ever reaches the browser.

4. Edge awareness

request.cfFunctions

The Function reads Cloudflare's request metadata. Useful for regional copy, time-zone aware booking, or data residency notices.

5. Tic-tac-toe vs. minimax

Game AIVanilla JS

You are X. The AI searches every possible game, so the best you can do is a draw.

6. SCHEMA DOOM

Canvas raycasterPointer LockWeb AudioTouch

A hand-built Doom-style 3D engine, no libraries. Clear the bugs out of the schema maze. W/S to move, A/D to strafe, arrows or mouse to turn, click or Space to fire, M for the map. Esc to pause.

SCHEMA DOOM

Bugs have infested the tenant. Clean them all.

7. Leaderboard

Workers KV

Shared across every visitor, stored at the edge. Finish a Doom run to post a score.