{
  "scrviz": {
    "owner": {
      "login": "brucemcpherson",
      "tags": [
        {
          "description": "gde",
          "link": "https://developers.google.com/community/experts/directory/profile/profile-bruce_mcpherson",
          "tip": "GDE since 2013 : G Suite and Identity",
          "icon": "mdi-code-tags",
          "visible": true
        },
        {
          "description": "author",
          "link": "https://www.oreilly.com/pub/au/6781",
          "tip": "Author of Going Gas - VBA to Apps Script",
          "icon": "mdi-book-education",
          "visible": true
        },
        {
          "description": "d3",
          "link": "https://ramblings.mcpher.com/d3-js/",
          "tip": "Vizualization with D3",
          "icon": "mdi-chart-bubble",
          "visible": true
        },
        {
          "description": "vuejs",
          "link": "https://ramblings.mcpher.com/vuejs-apps-script-add-ons/",
          "tip": "Vuejs and apps script",
          "icon": "mdi-vuejs",
          "visible": true
        },
        {
          "description": "gcp",
          "link": "https://ramblings.mcpher.com/gcp/",
          "tip": "google cloud platform",
          "icon": "mdi-cloud",
          "visible": true
        },
        {
          "description": "ml",
          "link": "https://ramblings.mcpher.com/gcp/",
          "tip": "machine learning",
          "icon": "mdi-school",
          "visible": true
        },
        {
          "description": "tu",
          "link": "https://sites.google.com/view/totallyunscripted/home",
          "tip": "occasional contributor to Totally Unscripted Show",
          "icon": "mdi-monitor-eye",
          "visible": true
        },
        {
          "description": "kube",
          "link": "https://ramblings.mcpher.com/gcp/getting-an-api-running-in-kubernetes/",
          "tip": "Kubernetes",
          "icon": "mdi-kubernetes",
          "visible": true
        },
        {
          "description": "graphql",
          "link": "https://ramblings.mcpher.com/snipgraphql/",
          "tip": "Apollo and GraphQL",
          "icon": "mdi-graphql",
          "visible": true
        }
      ],

      "rows": [
        {
          "description": "Creator of this app",
          "link": "https://ramblings.mcpher.com/vizzy-scrviz/",
          "tip": "All about scrviz",
          "icon": "scrviz",
          "visible": true
        },
        {
          "description": "Google developer expert",
          "link": "https://developers.google.com/community/experts/directory/profile/profile-bruce_mcpherson",
          "tip": "GDE since 2013 : G Suite and Identity",
          "icon": "mdi-code-tags",
          "visible": true
        },
        {
          "description": "O'reilly author",
          "link": "https://www.oreilly.com/pub/au/6781",
          "tip": "Author of Going Gas - VBA to Apps Script",
          "icon": "mdi-book-education",
          "visible": true
        },
        {
          "description": "Video channel",
          "link": "https://www.youtube.com/c/BruceMcpherson",
          "tip": "Bruce Mcpherson's Youtube channel",
          "icon": "youtube",
          "visible": true
        },
        {
          "description": "Linkedin Profile",
          "link": "https://www.linkedin.com/in/brucemcpherson",
          "tip": "Bruce Mcpherson's linkedin profile",
          "icon": "linkedin",
          "visible": true
        }
      ]
    },
    "repos": [
      {
        "repo": "bmPreFiddler",
        "rows": [
          {
            "description": "Handly helper for fiddler",
            "link": "https://ramblings.mcpher.com/vuejs-apps-script-add-ons/helper-for-fiddler/",
            "tip": "Wrapper library for fiddler:Abstracts sheet data - functional sheet processing",
            "icon": "appsscript",
            "visible": true
          }
        ]
      },
      {
        "repo": "GasWatcher",
        "rows": [
          {
            "description": "Watching for server side Sheet changes from the client html service",
            "link": "https://ramblings.mcpher.com/gassnippets2/watching-for-server-side-changes-from-the-client-html-service/",
            "tip": "client-side to react to changes in data (or indeed any property) as well as changes in selection and Activesheet.",
            "icon": "appsscript",
            "visible": true
          }
        ]
      },
      {
        "repo": "cUseful",
        "rows": [
          {
            "description": "Library compilation with many things too numnerous to list",
            "link": "https://ramblings.mcpher.com/gassnippets2/",
            "tip": "Check out the repo to see more",
            "icon": "appsscript",
            "visible": true
          }
        ]
      },
      {
        "repo": "bmVizzyCacheLibrarySheet",
        "rows": [
          {
            "description": "Vizzy cache example",
            "link": "https://ramblings.mcpher.com/vizzy-scrviz/vizzy-build-apps-script/",
            "tip": "Example building something in Apps Script with scrviz",
            "icon": "appsscript",
            "visible": true
          }
        ],
        "tags": [
          {
            "description": "Sheets",
            "tip": "Google sheets example",
            "icon": "sheets",
            "visible": true
          }
        ]
      },
      {
        "repo": "bmFiddler",
        "rows": [
          {
            "description": "Fiddler: Abstracts sheet data library",
            "link": "https://ramblings.mcpher.com/gassnippets2/afunctionalapproachtofiddlingwithsheetdata/",
            "tip": "Functional approach to fiddling with sheet data",
            "icon": "appsscript",
            "visible": true
          },
          {
            "description": "Fiddler Video: Abstracts sheet data library",
            "link": "https://www.youtube.com/watch?v=BGOvmV5PXJ0",
            "tip": "A video to get started with a functional approach to fiddling with sheet data",
            "icon": "youtube",
            "visible": true
          },
          {
            "description": "Fiddler: fingerprinting",
            "link": "https://ramblings.mcpher.com/vuejs-apps-script-add-ons/fiddler-fingerprint/",
            "tip": "Optimize sheet fiddling with a fingerprint to detect changes",
            "icon": "mdi-fingerprint",
            "visible": true
          },
          {
            "description": "Fiddler: rangelists",
            "link": "https://ramblings.mcpher.com/gassnippets2/fiddler-and-rangelists/",
            "tip": "formatting with fiddler",
            "icon": "mdi-format-paint",
            "visible": true
          }
        ]
      },
      {
        "repo": "cGoa",
        "rows": [
          {
            "description": "OAuth2 for Apps Script in a few lines of code",
            "link": "https://ramblings.mcpher.com/oauth2-for-apps-script-in-a-few-lines-of-code/",
            "tip": "Low setup oauth2 library for Apps Script",
            "icon": "appsscript",
            "visible": true
          },
          {
            "description": "How fast can you get OAuth2 set up in Apps Script?",
            "link": "https://ramblings.mcpher.com/oauth2-for-apps-script-in-a-few-lines-of-code/how-fast-can-you-get-oauth2-set-up-in-apps-script/",
            "tip": "Set up oauth2 from Apps Script to any service in under 15 minutes",
            "icon": "appsscript",
            "visible": true
          }
        ]
      }
    ]
  }
}