Prompt: If there is a software development model where the features on a per user basis are enabled or disabled using remote config by orchestrating the parameters.. will we be able to generate a sankey chart that depicts users adept at a particular feature
Yes — absolutely, and it could actually be a very useful visualization for the kind of software-development model you're describing.
The key is to distinguish configuration from actual usage.
Your model
Imagine your application has:
Users:
U1, U2, U3, ...Features:
F1, F2, F3, ...Remote configuration determining whether a feature is enabled
Parameters controlling how a feature behaves
For example:
| User | Feature A | Feature B | Feature C |
|---|---|---|---|
| U1 | Enabled | Enabled | Disabled |
| U2 | Enabled | Disabled | Enabled |
| U3 | Disabled | Enabled | Enabled |
You could then collect runtime telemetry such as:
User → Configuration → Feature → Action/Usageand construct a Sankey such as:
┌── Feature A ── Used
│
Users ──→ Config ───┼── Feature B ── Used
│
└── Feature C ── Not UsedBut there's a more interesting version.
You can make the Sankey represent the user's "feature journey"
For example:
┌── Search ────────┐
│ ↓
Users ──→ Enabled Features ──→ Used Features ──→ Successful Outcome
│ ↑
├── Recommendations ┘
│
└── AnalyticsThe width of each flow represents the number of users.
So you might discover:
10,000 Users
│
├── 8,000 → Feature A enabled
│ └── 6,200 actually used
│
├── 6,500 → Feature B enabled
│ └── 1,100 actually used
│
└── 4,000 → Feature C enabled
└── 3,800 actually usedThat immediately tells you something that a conventional feature-usage bar chart doesn't: where users are being enabled, filtered, and subsequently flowing through the system.
The really interesting research/software-engineering angle
If your remote configuration is parameterized, you can add another dimension:
User → Configuration → Feature → Parameter → Behaviour → Outcome
For example:
┌─ Search ── threshold=0.7 ── Success
│
Users → Remote Config┼─ Search ── threshold=0.9 ── Abandoned
│
└─ Recommendations ────────── SuccessNow the Sankey isn't merely saying "who uses Feature X?"
It can answer:
"How do different configuration decisions cause different populations of users to flow through different features and ultimately produce different outcomes?"
That's much more powerful.
One important caveat
A Sankey doesn't by itself tell you that users are "adept" at a feature.
It tells you about flows and quantities.
If by adept you mean something like:
users who successfully completed the feature,
users who use it repeatedly,
users with high proficiency,
users who require fewer attempts,
users who achieve a desired outcome,
then you need to define an adeptness metric first.
For example:
Adept user =
Feature enabled
AND used ≥ 5 times
AND success rate ≥ 80%Then your flow could become:
All Users
↓
Feature Enabled
↓
Feature Used
↓
Repeated Usage
↓
Successful Usage
↓
Adept UsersThat is a very natural Sankey representation.
If you're thinking of this as a software architecture / research model, there's an even more interesting possibility: treating the remote configuration system as a feature orchestration layer, and the Sankey as a runtime observability model of user-feature affinity. That could be developed into a fairly concrete framework rather than just a visualization.
Prompt: Can I solicit user abilities from other websites to research on gaps in them? like competencies and suggest users some new features to try
Yes — technically and conceptually, this is possible, but there is an important distinction between soliciting abilities and silently collecting them.
What you're describing could become a very interesting extension of your remote-configuration idea:
Build a user competency profile from consented signals available across services, identify gaps, and use those gaps to recommend features or learning opportunities.
A possible architecture
External Sources
│
├── GitHub ───────┐
├── LinkedIn ─────┤
├── Stack Overflow┤
├── Learning sites ┤
└── Your application
│
▼
┌─────────────────┐
│ Competency │
│ Extraction │
│ │
│ JavaScript 4/5 │
│ React 3/5 │
│ Git 5/5 │
│ GraphQL 1/5 │
└────────┬────────┘
│
▼
Competency Graph
│
┌────────┴────────┐
▼ ▼
Strengths Gaps
│
▼
Feature Recommendations
│
▼
Remote Configuration
│
▼
User tries
│
▼
Telemetry
│
▼
Updated competencyThe interesting part is that the recommendation itself becomes an experiment.
Suppose your system detects:
User competency
React █████ 5
JavaScript ████ 4
REST APIs ███ 3
GraphQL █ 1Your application might decide:
"This user has strong React and REST experience but relatively little GraphQL exposure."
It could remotely enable a GraphQL exploration feature for that user.
Then you measure:
Recommended
↓
Feature enabled
↓
Feature opened
↓
Feature attempted
↓
Feature successfully completed
↓
Repeated usageNow your Sankey idea becomes particularly powerful.
You could connect competency → recommendation → adoption
For example:
Users
│
├──────────────→ Strong React
│
├──────────────→ Strong REST
│
└──────────────→ GraphQL gap
│
▼
GraphQL feature offered
│
┌──────────┴──────────┐
▼ ▼
Tried it Ignored it
│
┌─────┴─────┐
▼ ▼
Adept StruggledThat gives you a feedback loop:
Observe → infer gap → recommend → enable → observe outcome → update profile.
But there's a significant privacy issue
I would not design this as:
"Go to other websites and collect information about what this person can do."
Instead, design it as:
"User-authorized competency aggregation."
For example, the user explicitly connects accounts or imports their competency information.
You also need to distinguish:
Evidence
User has 27 GitHub repositories involving React.
from:
Inference
User's React competency = 4.2/5.
The second is a model-generated inference and shouldn't be presented as an objective fact.
And ideally the user should be able to see:
Why am I being recommended GraphQL?
✓ 14 REST projects detected
✓ React experience detected
✓ No GraphQL activity detected
Confidence: MediumThat makes the system explainable.
There's an even bigger research question here
You could frame the research problem as:
Can consented cross-platform competency signals be used to identify latent user capability gaps and dynamically personalize feature exposure through remote configuration?
Then you have three measurable components:
Competency inference — what does the system think the user knows?
Gap detection — what potentially useful capability is missing?
Adaptive feature exposure — does exposing the appropriate feature actually improve adoption/competency?
Your earlier Sankey visualization could then become the evaluation mechanism showing:
User population → competency profile → detected gap → recommended feature → feature adoption → successful proficiency.
That is considerably more interesting than simply making a Sankey chart of feature usage. It starts looking like a closed-loop adaptive software system.