---
title: Build a Manual KPI Dashboard
description: "## What This Guide Helps You Do Use this guide when you want to show a dashboard on a TV even though you do **not** have a live API yet. By the end of this setup, you will have: - a TV…"
url: "https://twinnoverse.com/docs/build-a-manual-kpi-dashboard/"
updated: "2026-06-15"
category: Dashboard Builder / Dashboard Builder Guides
---

# Build a Manual KPI Dashboard

## What This Guide Helps You Do

Use this guide when you want to show a dashboard on a TV even though you do **not** have a live API yet.

By the end of this setup, you will have:

- a TV with the Twinnoverse Reader app installed
- a claimed device in your Twinnoverse dashboard builder admin portal
- a layout designed for that TV
- a **Manual** data source linked to that layout
- a playlist assigned to the device
- manually entered KPI values showing on the screen

[Stop wasting time coding your TV dashboards!](https://www.youtube.com/embed/KIizJIwsoqo?feature=oembed&enablejsapi=1)

---

## Before You Start

Make sure you have all of these:

- access to the [Twinnoverse admin portal](https://apps.microsoft.com/detail/9N9XL97DZS5F?hl=en-us&gl=OM&ocid=pdpshare)
- a smart TV or Android display device where the [Reader app](https://www.dropbox.com/scl/fi/j97v71poy7g7lde262efe/update.apk?rlkey=lgvjh7r1riltq2n7yjf5vwip8&st=z7ogov3g&e=1&dl=1) can be installed
- internet access on that device
- permission to install an APK on that device
- a clear idea of what information the screen should show

---

## Part 1: Install the Twinnoverse Reader APK on the TV

## 1. Download the APK

Download the Twinnoverse Reader APK from this link:

`[APK Twinnoverse Reader]`

## 2. Copy the APK to the TV or Android Device

Use any method that works in your environment, for example:

- direct browser download on the device
- USB drive
- device management tool
- file-sharing app

## 3. Allow APK Installation if Required

On many Android TVs or Android boxes, you must allow app installation from outside the Play Store.

## 4. Install the APK

1. Open the APK file.
2. Confirm the installation.
3. Wait until the app finishes installing.
4. Open the Twinnoverse Reader app.

## 5. What You Should See After Opening the App

On first launch, the Reader app should show a **claim screen**(Note: Claim code reset every 3 minutes).

This means the TV is ready to be connected to your Twinnoverse organization.

Do not close the app. Keep the claim screen visible while you complete the next steps in the admin portal.

---

## Part 2: Create the Device in Twinnoverse and Claim It

## 6. Open the Devices Area

![Screenshot 2026 06 15 133241](https://twinnoverse.com/wp-content/uploads/2026/06/Screenshot-2026-06-15-133241-1024x58.webp)

1. Sign in to the Twinnoverse admin portal.
2. Open **Devices**.
3. Click **Add Device**.

![Screenshot 2026 06 15 133653](https://twinnoverse.com/wp-content/uploads/2026/06/Screenshot-2026-06-15-133653-1024x533.webp)

## 7. Enter the Claim Code on the TV

1. Go back to the TV.
2. Enter the claim code exactly as shown in the admin portal.
3. Confirm the entry on the TV.
4. Give the device a name and press save(we can configure the other data later).

## 8. What Happens After Claiming

After a successful claim:

- the TV is registered as a device in Twinnoverse
- the TV receives its secure device identity
- the TV becomes available for playlist assignment.

Back in the admin portal, you should now see the device row.

![Screenshot 2026 06 15 133810](https://twinnoverse.com/wp-content/uploads/2026/06/Screenshot-2026-06-15-133810-1024x166.webp)

---

## Part 3: Create the Manual Data Source

## 9. Open Data Sources

![Screenshot 2026 06 15 133923](https://twinnoverse.com/wp-content/uploads/2026/06/Screenshot-2026-06-15-133923-1024x63.webp)

1. Open **Data Sources** in the admin portal.
2. Create a new data source.

## 10. Choose the Correct Type

Choose **Manual** as the data source type.

This is important.

A **Manual** data source means:

- the TV does not call a REST API
- the TV does not wait for WebSocket updates
- the TV does not read data from an Ingest gateway
- users enter the runtime values manually inside Twinnoverse admin panel

Use a Manual data source when:

- the integration is not ready yet
- supervisors enter numbers during the shift
- operators update the content by hand
- you need a working dashboard now without backend development

![Screenshot 2026 06 15 134027](https://twinnoverse.com/wp-content/uploads/2026/06/Screenshot-2026-06-15-134027-1024x597.webp)

## 11. Name the Data Source Clearly

Use a name that explains its purpose, for example:

- `Production Manual KPI`
- `Warehouse Shift Board Manual`
- `Maintenance Manual Dashboard`

Save the data source.

---

## Part 4: Create the Layout

## 12. Open Layouts

![Screenshot 2026 06 15 134103](https://twinnoverse.com/wp-content/uploads/2026/06/Screenshot-2026-06-15-134103-1024x60.webp)

1. Open **Layouts**.
2. Create a new layout.
3. Name it

## 13. Understand the Screen Shape Before Designing

Twinnoverse layouts are designed for a **16:9 landscape screen**.

The default working canvas is:

- **1920 x 1080**

This means your layout should be planned as a wide horizontal screen, not as a portrait or square screen.

When designing the layout:

- keep the most important numbers large and easy to read
- use the top area for headline information
- use the middle and lower area for trends, lists, alerts, and notes
- avoid making the screen too crowded

If too much information must be shown, it is usually better to create more than one layout and rotate them in a playlist.

## 14. Choose the Widgets

For a Manual KPI dashboard, the most useful widget types are usually:

- **KPI** for one main value
- **KPI Double** for two related values
- **Progress Bar** for current versus target
- **Target Actual** for side-by-side comparison
- **Sparkline** for simple trends
- **Table List** for rows of operational data
- **Alerts List** for incidents or active warnings
- **Text Block** for notes, messages, or instructions
- **Content (Image)** for a diagram, floor plan, or reference visual
- Feel free to explore the rest of the widgets

Choose widgets based on what users need to understand at a glance.

Examples:

- if users only need one big production number, use **KPI**
- if users need progress toward a goal, use **Progress Bar**
- if users need a row-based list of issues, use **Alerts List** or **Table List**
- if users need a written shift note, use **Text Block**

Basic Interactions

- To add a new widget, first click on an empty area of the canvas so no widget is selected, then click the widget you want from the library panel.
- To move a widget, click and drag it to the position you want on the layout.
- To resize a widget, select it first, then drag its resize handles to make it wider, narrower, taller, or shorter.
- To replace a widget, click the widget on the canvas so it is selected, then click another widget type from the library. The selected widget will be replaced.
- To style the whole layout, deselect all widgets first. This lets you edit the global layout settings such as background color, chrome, and overall theme colors.
- To style only one widget, click that widget and change its own background or color settings in the inspector.
- Use global colors when you want the full screen to feel consistent.Use widget-level color overrides when one widget needs to stand out from the rest.

## 15. Add the Widgets to the Layout

1. Add the widgets you need.
2. Position them on the canvas.
3. Resize them so the most important information is easiest to see.

A practical layout pattern is:

1. top row for large KPI widgets
2. middle row for progress or trend widgets
3. lower row for lists, alerts, or notes

![Screenshot 2026 06 15 140830](https://twinnoverse.com/wp-content/uploads/2026/06/Screenshot-2026-06-15-140830-1024x529.webp)

## 16. Set the Widget Labels Carefully

Every data-driven widget has a **label**.

That label is important because Twinnoverse uses it to store and retrieve the runtime value for that widget.

Use labels that are:

- clear
- unique inside the layout
- easy to understand later

Good examples:

- `SHIFT_OUTPUT`
- `SHIFT_TARGET`
- `OPEN_ALERTS`
- `SUPERVISOR_NOTE`

Avoid vague labels such as:

- `KPI1`
- `BOX`
- `TEST`

## 17. Save the Layout

Save the layout after the structure looks correct.

---

## Part 5: Bind the Manual Data Source to the Layout

## 18. Assign the Data Source at Layout Level

1. While the layout is open in the layout editor.
2. Deselect all widgets so that no individual widget is selected.
3. In the layout-level inspector, choose the **Manual** data source you created earlier.
4. Save the layout again.

This step links the layout to the Manual KPI workflow.

Without this step, the layout will not use the manually entered values.

![Screenshot 2026 06 15 140533](https://twinnoverse.com/wp-content/uploads/2026/06/Screenshot-2026-06-15-140533-1024x84.webp)

---

## Part 6: Create the Playlist

## 19. What a Playlist Is

![Screenshot 2026 06 15 141042](https://twinnoverse.com/wp-content/uploads/2026/06/Screenshot-2026-06-15-141042-1024x61.webp)

A **playlist** is the normal playback plan for the device.

It controls:

- which layouts the device can play
- the order they play in
- how long each layout stays on screen before the next one appears

If you only have one layout, you still usually place it inside a playlist so the device has a normal playback source.

## 20. Create the Playlist

1. Open **Playlists**.
2. Create a new playlist.
3. Give it a clear name, for example:
   - `Line 1 Manual Dashboard`
   - `Warehouse KPI Rotation`
4. Add the layout you created.
5. Set the layout duration.
6. Save the playlist.

![Screenshot 2026 06 15 141118](https://twinnoverse.com/wp-content/uploads/2026/06/Screenshot-2026-06-15-141118-1024x710.webp)

## 21. Choosing the Layout Duration

The duration tells the device how long to keep the layout on screen.

If the playlist contains only one layout, the duration is still part of the playlist definition.

Practical guidance:

- `15 to 30 seconds` for a fast operational dashboard
- `30 to 60 seconds` for a denser screen
- longer only if the layout contains a lot of detailed reading

If you later add more layouts to the playlist, the device will rotate through them using those durations.

---

## Part 7: Assign the Playlist to the Device

## 22. Open the Device

1. Open **Devices**.
2. Select the device you claimed earlier.
3. Edit the device assignment.

## 23. Assign the Playlist

1. Select the playlist you created.
2. Add a prodline id.
3. Save the device.

At this point, the TV now knows which layout or layouts it should use during normal playback.

![Screenshot 2026 06 15 141157](https://twinnoverse.com/wp-content/uploads/2026/06/Screenshot-2026-06-15-141157-1024x577.webp)

---

## Part 8: Enter the Manual KPI Values

## 24. Open the Manual KPI Area

1. Open **Manual KPI** in the admin portal.

## 25. Select the Production Line

Choose the production line that this TV belongs to.

This matters because Manual KPI values are stored by:

- layout
- production line

They are **not** stored per device.

This means:

- two TVs on the same production line can show the same Manual KPI values
- two prodlines on the same TV(you can achieve that by insert prodline separated by ",") can have each one its own data.
- one TV does not get its own private copy of the Manual KPI data

## 26. Select the Layout

Choose the layout that you created earlier.

Twinnoverse loads the layout preview and the editable runtime values for that production line.

## 27. Edit the Widget Values

1. Click a widget in the preview.
2. Use the inspector panel to enter or change the value.
3. Repeat for each widget that should show manual data.

Examples:

- KPI: enter one number
- KPI Double: enter two related values
- Progress Bar: enter current and total
- Target Actual: enter target and actual
- Sparkline: enter the series values
- Table List: enter the rows
- Alerts List: enter alert items
- Text Block: enter the note or message

## 28. Save the Manual Snapshot

After entering the values, save the Manual KPI snapshot.

This makes those values available to the TV for that layout and production line.

![Screenshot 2026 06 15 141520](https://twinnoverse.com/wp-content/uploads/2026/06/Screenshot-2026-06-15-141520-1024x528.webp)

---

## Part 9: Verify the TV

## 29. Confirm the Device Setup

Check all of these in the admin portal:

- the device exists
- the device is claimed
- the correct playlist is assigned
- the playlist contains the correct layout
- the layout uses the Manual data source

## 30. Confirm the Screen Output

Look at the TV and confirm:

- the layout appears
- the manually entered values are visible
- the text is readable from the normal viewing distance
- the device remains connected

## 31. If the TV Shows the Wrong Thing

Check these common causes:

1. the layout was not assigned to the playlist
2. the playlist was not assigned to the device
3. the layout was not bound to the Manual data source
4. the Manual KPI values were not saved
5. the wrong production line was selected when entering the data

---

## Part 10: Ongoing Daily Use

After the first setup, normal daily operation is simple:

1. open **Manual KPI**
2. choose the production line
3. choose the layout
4. update the values
5. save
6. confirm the TV reflects the changes

This is the normal workflow when the dashboard is operator-driven instead of API-driven.

---

## Quick Summary

To build a Manual KPI dashboard:

1. install the Reader APK on the TV
2. claim the device
3. create a **Manual** data source
4. create the layout for a **16:9 landscape** screen
5. add and label the widgets
6. bind the Manual data source to the layout
7. create a playlist
8. assign the playlist to the device
9. enter the Manual KPI values
10. verify the TV output
