Skip to content

Blog

Why I am excited about Shaper's new Tasks feature

I just shipped the biggest update since I started building Shaper.

Tasks let you automate data workflows right within Shaper.

A few examples:

  • Load the latest data from a database or API
  • Transform data to speed up dashboard queries
  • Archive old data to S3
  • Send a notification to Slack for critical data insights
  • Email a monthly Excel report to your customers

With the power of DuckDB and its extensions, you can do all this and more with simple SQL queries.

Since the beginning I wanted to Shaper to be a complete data platform in single tool - From ingesting and storing data to visualizing and sharing it.

The Tasks feature is the missing piece in the middle - Transform data to get it into the shape that you can actually visualize and share it.

You can think of tasks as CRON jobs with more flexible scheduling and integrated into the platform. But there is a lot of things Tasks don’t do and likely never will. Shaper’s goal is simplicity when starting out with data projects. And once your data needs become more complex you can introduce a dedicated data processing stack to complement Shaper.

Find all the detauls in the docs.

Shaper Now Open Source

Shaper is a minimal data platform for embedded analytics. It allows you to build interactive data dashboards and embed them into your web application.

And starting today, Shaper is open source:

My main motivation to open source Shaper is to make it accessible to as many users as possible.

To get the most out of Shaper you want to integrate it deeply into your product and infrastructure. Deeply integrating software from a 3rd-party company always comes with risks of being too dependent on another company. With Shaper you are running open source software in your own infrastructure.

Using an open source solution also means you can verify security and privacy practices. This combined with being able to run Shaper in your own infrastructure makes it a great choice for use cases that handle sensitive data.

Lastly, Shaper itself is built on top of other amazing open source projects, including DuckDB, ECharts, and NATS. To open source Shaper also means paying forward the spirit that made Shaper possible in the first place.

One of my biggest motivations for building Shaper was to enable as many teams as possible to get value out of their data and make their data accessible to their users.

Shaper is designed to be simple to run and easy to use. But it cannot remove the inherent complexity of any data project.

That’s where Shaper PRO comes in.

You can think of it as hiring me as part-time data engineer that manages your data platform and helps you implement your data use cases. What you get:

  • Shaper, fully-managed: Monitoring, updates, backups, security, compliance, and high-availability deployments
  • Extensive support: Integrate Shaper into your product, connect your data sources, manage data, build dashboards

Please reach out if this is something you are interested in.

Trying out Shaper is as easy as running a single command:

Terminal window
docker run --rm -it -p5454:5454 taleshape/shaper

Then open http://localhost:5454/new in your browser.

I am curious to hear your thoughts and feedback. So don’t hesitate to open an issue or discussion on Github. Or just send a message.

Thank you!
Jorin

What's Embedded Analytics?

Hi my name is Jorin and I am developing Shaper — A Minimal Solution for Embedded Analytics.

But what does Embedded Analytics even mean?

Are your users asking for analytics features to get access to their data? With Embedded analytics your users get what they are asking for without you having to build this functionality from scratch.

Let’s see what this can look like with Shaper!

The following is a live example of a dashboard embedded in this website. Go ahead, filter the data or download it as CSV file:

We created this dashboard using the Shaper editor:

Editor Screenshot

Then we embed the dashboard into our web application using JavaScript:

shaper.dashboard({ container, dashboardId, getJwt })

We customize the look of the dashboards to fit our UI:

--shaper-font: DMSans;
--shaper-primary-color: #a5cde6;
--shaper-text-color: #3d3f45;
/* ... */

And behind the scenes we can generate a JSON Web Token with permissions for the logged-in user to make sure they only see what they are allowed to:

{ jwt } = await POST(api, { token, dashboardId, variables: { user_id } })

Obviously, the above example is publicly accessible on the internet, so we didn’t have to authenticate the user.

Building customized and deeply integrated data dashboards can get complicated — especially once users start coming back to you with new questions.

My goal with Shaper is to make embedded analytics so simple that you don’t need a dedicated data team or pay a vendor to solve it for you.

Give it a try and let me know what you think.