Devyx

Deliver branded Tableau subscription emails to any audience

Visit Website
April 16, 2021 Minor update: added user auth

The web application is very much a work in progress. While I have the know-how to build the processes that will handle the 'back-end' of the service I'm building (all of the Tableau API development / sending customized Tableau subscription emails), many aspects of building the web application are hurdles I still need to jump.

This update is for building basic user auth. It's legit user auth, not just a hello world version. This uses firebase to handle the ins and outs, and the user's session is preserved if they refresh their browser.

It's a small step forward to be sure, but it is a step forward.

Next up: add a protected route that enables connecting to a Tableau Server / Tableau Online environment. This should only be available to users who have an account and are logged in.

Comment

March 6, 2021 Deployed and tested Airflow cluster

The product I'm building uses an open source library I built, tableau-api-lib, to perform various tasks.

These tasks include things like fetching information about Tableau users, groups, and content. It is designed to provide low-level control over all of the Tableau Server REST API endpoints.

Specific to the branded Tableau subscription emails, I need to:

  1. build an interface that allows users in the web application to select the desired Tableau visual for the branded subscription
  2. define an arbitrary schedule to deliver the subscriptions
  3. download the appropriate visuals from the server
  4. distribute the visuals to the defined audience

All of the steps above need to be robust; if a task fails, there should be retry attempts. If a task fails, I want to know it failed. If a task fails, I want logs pointing to exactly what in the pipeline failed.

On top of that, I also want to be working within a framework that allows me to define DAGs with Python code that tap into my tableau-api-lib library to perform all the necessary tasks.

This is all supported by Airflow, and this milestone marks that I have successfully built a POC that interacts with my Tableau Server environment and can execute pre-defined DAGs.

Next step: nail down the web application well enough to build an MVP.

Comment

February 20, 2021 Stand up a placeholder web application

I am new to web development, but I'm committed to learning it well enough to build an MVP of this product and beyond.

I am not new to programming, but I am inexperienced in web development. In my career, Python is my main language and everything I do is deep in the backend because I work as a data scientist, nowhere near our team's web application layer.

I don't want to get lost in looking for "best" stack, so I'm running with what rubs me the right way right now:
Google App Engine
Firebase
Vue.js
Flask, as needed.

Comment

November 3, 2020 Kicked off Devyx YouTube channel

To play the long game and build an audience, I started a YouTube channel focused on Tableau tutorials. Eventually when our MVP product is available, content will also serve as tutorials on using our product.

These videos will primarily focus on an open source library I developed for interacting with the Tableau Server REST API and Tableau Metadata API, called tableau-api-lib.

This library plays a significant role in powering the branded Tableau subscription emails, and if people adopt this tool then it will also be a great entry point to discussing the products I plan to build on top of the library.

Comment

About

Tableau dashboard subscriptions do not support custom branding and can only be sent to email addresses that exist within a team's Tableau environment. Our product delivers branded subscriptions to any audience.