Overview

The Hyperion system is the way we filter the dashboard search input and display relevant results.

This is done with a few different JSON files:

File Description
hyperion.json This should not be edited.
augmentations.json This is how you add to or replace values in the hyperion.json file.
dependencies.json These are results that are related to other results. The before and after indicate if the dependency is displayed before or after the original.
relevancy.json If we know what feature the user is referring to, but are unsure of the actions, we will display all the actions in the features list in this file.
replacements.json Replacements is a helper file that lists groups of words that are all indicated by the same pattern for the hyperion.json and augmentations.json files.
suggestions.json These are suggestion searches the user can use to get a feel for the Hyperion search component.

Routes

The Hyperion system uses a list of pre-defined routes that can be triggered to display certain cards with different displays and interactable items below the search bar.

Hyperion Routes are formed by adding a feature name to an action: accounts://view.

The app parses the search for context, and the routes adapt to the identified context.


Accounts Routes

Route Default Behavior Context
accounts://balance Shows account balances for the top 3 accounts. AccountType: Shows balances only for accounts that belong to the specified type.
accounts://view Shows an action result to navigate to the accounts view. None.
accounts://create Shows an action result to navigate to institution list view (to add a new account). None.

Billpay Routes

Route Default Behavior Context
billpay://create Shows action results for all billpay entry points (billpay, zelle etc). None.
billpay://upcoming Shows the next three bills that will be due in the next three weeks (or were due last week). None.

Budgets Routes

Route Default Behavior Context
budgets://remaining Shows how much you have remaining in your budget. None.
budgets://create Shows an action result to navigate to the manage budgets poptart. Category: If the category already exists, it shows the info result to alert the user instead. If the category is a sub category, the action result navigates to the add sub budget poptart, otherwise it navigates to the manage budgets poptart.
budgets://view Shows an action result to navigate to the budgets view. Category: If the category already exists, shows action result to navigate to the budget details view, else informs the user that no budget for the category exists.
budgets://update Requires context. You must provide a category for this route to work. Category: Shows an action result to navigate to the budget details view.
budgets://delete Requires context. You must provide a category for this route to work. Category: Shows an action result to navigate to the budget details view and presents the deletion modal.

Networth Routes

Route Default Behavior Context
networth://current Displays your current net worth. None.
networth://view Shows an action result to navigate to the net worth view. None.

Remote Deposit Routes

Route Default Behavior Context
remote_deposit://create Shows an action result to navigate to the remote deposit landing view. None.

Transfers Routes

Route Default Behavior Context
transfers://create Shows action results to navigate to all transfer entry points (to linked account, to another member, zelle etc). None.

Transactions Routes

Route Default Behavior Context
transactions://view Shows an action result to navigate to transactions view. Category: Shows an action result to navigate to transactions view with the filter set to a particular category. Merchant: Shows an action result to navigate to transactions view with the search term set to a merchant.

Resources Routes

Route Default Behavior Context
resources://appointments Shows an action result to navigate to the appointments view. None.
resources://locations Shows an action result to navigate to the branch locations view. None.
resources://nearest_location Shows a map tile displaying the nearest branch location. None.
resources://help Shows an action result to navigate to the Help and Legal view. None.

Settings Routes

Route Default Behavior Context
settings://view Shows an action result to navigate to the settings view. None.
settings://organize_dashboard Shows an action result to navigate to the organize dashboard view. None.
settings://reorder_accounts Shows an action result to navigate to the reorder accounts view. None.
settings://manage_accounts Shows an action result to navigate to the manage accounts view. None.
settings://app_lock Shows an action result to navigate to the app lock settings view. None.
settings://notifications Shows an action result to navigate to the notification settings view. None.
settings://profile Shows an action result to navigate to the profile view. None.
settings://login_history Shows an action result to navigate to the login history view. None.
settings://popmoney Shows an action result to navigate to the popmoney settings view. None.
settings://zelle Shows an action result to navigate to the zelle settings view. None.
settings://transaction_rules Shows an action result to navigate to the transaction_rules view. None.
settings://text_size Shows an action result to navigate to the text size setting view. None.
settings://theme Shows an action result to navigate to the theme setting view. None.

Spending Routes

Route Default Behavior Context
spending://summary Shows an info result displaying the amount you spent in the last month. DateRange: Modifies the date range for which spending is analyzed. Category: Restricts the information to a particular category.
spending://view Shows an action result to navigate to the spending view. None.

Context

Hyperion searches the search string for context so that it can refine the results.

If there is no context for a particular route, the search will go through without filtering for whatever the context is looking for.

This doesn’t apply for budgets://update and budgets://delete, as mentioned in their route behavior.

Hyperion currently parses for:

  • Account_Type — A particular type of account (Checking, Savings, Credit Card, etc.).
  • Category — A spending category (Gas, Food, Travel, etc.).
  • DateRange — A range of time the user is interested in (“Today”, “Yesterday”, “This week”, “This month”, etc.).
  • Merchants — Any word following an “at” is treated as a merchant (e.g “Show me transactions at Starbucks” would treat “Starbucks” as the merchant).

Default List of Search Patterns

The hyperion.json file is the default list of search patterns. These patterns indicate what words should be present to trigger a certain feature/action route. There can be multiple search patterns, and they can include multiple words, separated with spaces, and identifiers that are found in replacements.json.

The pattern in the JSON:

1
2
3
4
5
6
7
{$FEATURE_NAME$”: {$ACTION_NAME$”:  [$MATCHING_PATTERN$”
    ]
  },...
}

Example

1
2
3
4
5
6
7
8
{
  "accounts": {
    "balance": [
      "_VIEW balance",
      "_LEFT balance"
    ]
  },...
}

Add or Change a Feature

The augmentations.json file follows the exact same pattern as the hyperion.json file, but should be used for adding new features or changing existing features.

Please refer to the default list of search patterns section for more details.


Display Related Search Results

The dependencies.json file sets up some related actions when certain actions are matched in a feature. For instance, if a user is looking up their accounts balance, their top 3 accounts balance display directly in the search results, but they also get a direct link to the accounts page as a whole, in case the account they needed to check wasn’t present or they want to get a better overall summary.

The JSON format:

1
2
3
4
5
6
7
8
9
{$FEATURE_NAME$”: {$ACTION_NAME$”: {$before or after$”: [$ROUTE$”
      ]
    }
  },...
}

If the $before or after$ portion is before, it will appear before the related feature/action route section when it’s hit, if it is after it will appear after.

Example

1
2
3
4
5
6
7
8
9
{
  “accounts”: {
    “balance”: {
      “before”: [        
       "accounts://view"
      ]
    }
  },...
}

Configure Relevant Actions

The relevancy.json file is used when you know the feature, but not the action the user wants. This is likely because they are using a word that isn’t used in either the hyperion.json or augmentations.json search patterns. Another option could be that the pattern matches too many actions. This file shows a list of all the actions that are relevant to that feature.

Format

1
2
3
4
5
{
  "$FEATURE_NAME$": [
    "$ACTION_NAME$"
  ],...
}

Example

1
2
3
4
5
6
7
8
{
  "accounts": [
    "balance",
    "view",
    "create",
    "open"
  ],...
}

These should match the feature and action names in hyperion.json and augmentations.json.


Group Potential Keyword Suggestions

The replacements.json file is a utility file for grouping potential keywords in a search under one key. These keys follow a naming pattern that’s start with an underscore and are all capital letters.

Example

1
2
3
4
5
6
7
8
{
  "_VIEW": [
    "Show",
    "View",
    "See"
  ],...
}

With this, whenever _VIEW is referenced in a hyperion.json or augmentations.json action pattern, it searches for all the listed words, instead of just one pattern.


Display Suggested Search Items

The suggestions.json file is used to display some basic potential search queries to the user. The feature they are listed under indicates which icon is used in the suggestion card.

The feature names match to the icon name by this list (feature : icon_name):

  • accounts : bank
  • billpay : billpay
  • budgets : budgets
  • card_manager : credit_card
  • chat : chat_bubbles
  • document_list : loan
  • net_worth : net_worth
  • resources : utilities
  • remote_deposit : remote_deposit
  • rewards : shopping_cart
  • settings : gear
  • spending : spending_pie
  • transfers : move_money
  • transactions : transactions