1. A method comprising: receiving a request for a first key performance indicator (KPI), wherein the KPI is titled “meeting monthly targets” and comprises a bar chart reflecting month-by-month breakdowns of percentages of monthly targets met, and wherein the bar chart includes both historical data and predictive data, and wherein the request for the first KPI is received at a browser via an Asynchronous JavaScript and XML (AJAX) technology; accessing, from a data source, KPI data associated with the first KPI; generating a self-contained KPI object for the first KPI, by: accessing, from a set of code libraries, KPI template code and visualization template code; and generating, using the KPI template code and the visualization template code, a self-contained KPI object for the first KPI; accessing, from a KPI catalog, a set of KPI metadata associated with the first KPI; generating, for display on a KPI dashboard and as part of the self-contained KPI object, a set of first KPI metadata objects, wherein the set of first KPI metadata objects comprises a rating object and wherein the KIP dashboard is displayed on a user interface and comprises a set of selectable objects, wherein the set of selectable objects are icons associated with additional metadata, and wherein upon selection of one of the selectable objects in the set of selectable objects, additional data associated with the icon is displayed to a user, and wherein the KPI dashboard comprises a set of dashboard cards, wherein each dashboard card comprises a set of self-contained KPI objects; displaying, on the KPI dashboard, the self-contained KPI object for the first KPI, the self-contained KPI object comprising the set of first KPI metadata objects; receiving, from a user, a rating for the first KPI; updating, in the KPI catalog and responsive to the receiving the rating, a cumulative rating for the first KPI, wherein the cumulative rating indicates a usefulness of the first KPI to users; displaying, on the KPI dashboard and within the self-contained KPI object for the first KPI, the updated cumulative rating for the first KPI; receiving, from the user, a selection of a particular selectable object in the set of selectable objects, wherein the selection from the user comprises entry of data; accessing, by the system and responsive to the selection, a database associated with the selectable object; and updating, based on the selection, the database associated with the selectable object.