How Can I Display Real-Time Speed Data Using Knack for My "Instant Speed Display" Tool?

I’ve been using Knack for some time now to create and manage various data-driven tasks. Recently, I’ve come across a challenge that I’m hoping to get some advice on from the community. I’m trying to use Knack to display real-time speed data, similar to what an “Instant speed display” tool does. This tool provides live speed measurements, like an online speedometer, that gives instant results for different types of vehicles such as cars, trains, and bikes. The idea is to have a dynamic display of speed that updates in real-time based on the incoming data.

I’m trying to figure out how to approach this within Knack’s platform. Here are a few specific questions I have:

  1. Data Input and Real-Time Updates: Is there a way to connect Knack to a live data feed that would update in real-time? For instance, if I had a source that provided speed data every second, could Knack handle this kind of constant data input and display it without needing to refresh the page manually?
  2. Visual Representation: Knack is great for displaying data in tables and charts, but I’m wondering how flexible it is when it comes to more dynamic displays. Can Knack support a real-time speedometer-like interface that changes as the speed data updates? If anyone has attempted something similar, I’d love to know what tools or plugins you might have used to achieve this.
  3. Handling High-Frequency Data: Since speed data can change rapidly, especially with vehicles like bikes or cars, I’m concerned about how well Knack can handle high-frequency updates. Is there a threshold or a limit to how often data can be updated in Knack without causing performance issues? If you’ve worked with high-frequency data in Knack before, I’d appreciate any tips on optimizing performance.
  4. Integration with External APIs: I understand Knack has some integration capabilities, but I’m not entirely sure how to set up a connection with an external API that delivers speed data in real time. What’s the best way to approach this within the platform? Are there specific settings or configurations I should be aware of?
  5. User Interaction and Customization: One of the features I’d like to have is the ability for users to input specific parameters, such as selecting the type of vehicle (car, train, bike), and then seeing the speed data displayed accordingly. Is this level of customization possible in Knack, and if so, how would you go about setting it up?

thanks!

Hi @adriancheofski :wave:

Welcome to the Knack community!

I have moved your topic to the API & Customization category for better visibility :slight_smile:

A good place to start as far as integrations would be utilizing Make for real-time updates. You can find more info about Make here:

Here is a full list of our integrations: Integrations

Feel free to check out our expert network full of Knacksters who would be eager to help you build out your solution: Knack Expert Network

Happy building! :rocket:

Hi Adrian,

I’ll answer your questions to the best of my ability using my experience building near-real-time integrations with Knack.

Data Input and Real-Time Updates
There are a few ways you’d be able to send data to Knack as your data source provides it.

  1. If your data source supports webhooks, you could set them up to send the data to Knack every time new data is available. This assumes that you want to store this data in Knack, and that you have an API or other service (such as Make) setup to handle the webhook events and then transform and pass the data to Knack for storage.
  2. If your data source supports websockets, a small custom JavaScript app could be embedded into your Knack application to listen for websocket events and update the UI in real time as the data is received. Alternatively, this same JavaScript app could be setup to “poll” your data source every second to fetch any new data, and then display it to the page. Either way, this assumes you don’t want to store the data in Knack.
    In my experience, Knack does not have a way to auto-update a page’s contents with out either a full page refresh, or by using JavaScript to programmatically trigger a data refresh. My ideas above work around this issue by using a custom UI to handle and show the incoming speed data.

Visual Representation
A user interface you’re describing isn’t something Knack supports out-of-the-box. Again I’d recommend using some JavaScript code to allow for the UI you’re describing.

Handling High-Frequency Data
The answer here depends on if you want to store the incoming speed data in your Knack app’s database. If so, you’ll be limited to how fast data can be processed via Knack’s API. The rate limits here would be the main point of concern that I’d start with.

If you do not need to store this data in Knack, the JavaScript app I mentioned above would be able to consume this data at a much higher rate, since the use of the Knack API wouldn’t be needed.

Integration With External APIs
As mentioned by Les above, you could set up a Make scenario to accept or fetch data from your speed data source, which would then place the data into your Knack app’s database. The same concerns with rate limits would apply here.

Apart from tools like Make, a custom-built API and JavaScript app would be my recommended approach. This gives you the greatest flexibility to what you’re hoping to achieve, but almost completely circumvents using Knack’s tooling.

User Interaction and Customization
Again here I’d likely advise a custom solution, in order to best handle these real-time inputs.

Overall, I’m of the opinion that this type of integration would be best handled with custom solutions that allow you achieve exactly what you want, without the possible limitations you may otherwise run into.

My team has experience building custom solutions like the ones I’ve described above. If you’re interested in discussing, or have further questions feel free to reach me at kelson@ksensetech.com

1 Like