9 comments

  • written-beyond7 hours ago
    This is really nice, specially the pdf report generation.<p>I feel very moronic making a dashboard for any products now. Enterprise customers prefer you integrate into their ERPs anyway.<p>I think we lost the plot as an industry, I&#x27;ve always advocated for having a read only database connection to be available for your customers to make their own visualisations. This should&#x27;ve been the standard 10 years ago and it&#x27;s case is only stronger in this age of LLMs.<p>We get so involved with our products we forget that our customers are humans too. Nobody wants another account to manage or remember. Analytics and alerts should be push based, configurable reports should get auto generated and sent to your inbox, alerts should be pushed via notifications or emails and customers should have an option to build their own dashboard with something like this.<p>Sane defaults make sense but location matters just as much.
    • AgharaShyam32 minutes ago
      100% agreed regarding shipping a read-replica, for any sufficiently complex enterprise app (ERP, CRM, accounting, etc.).<p>Customers need it to build custom reports, archive data into a warehouse, drive downstream systems (notifications, audits, compliance), and answer edge-case questions you didn’t anticipate.<p>Because of that, I generally prefer these patterns over a half-baked built-in analytics UI or an opinionated REST API:<p>Provide a read replica or CDC stream. Let sophisticated customers handle authz, modelling, and queries themselves. This gets harder with multi-tenant DBs.<p>Optionally offer a hosted Data API, using something like -- PostgREST &#x2F; Hasura &#x2F; Microsoft DAB. You handle permissions and safety, but stay largely un-opinionated about access patterns.<p>Any built-in metrics or analytics layer will always miss edge cases.<p>With AI agents becoming first-class consumers of enterprise data, direct read access is going to be non-negotiable.<p>Also, I predict the days of charging customers to access their own goddamn data, behind rate-limited + metered REST APIs are behind us.
    • oogali1 hour ago
      &gt; I&#x27;ve always advocated for having a read only database connection to be available for your customers to make their own visualisations.<p>Roughly three decades ago, that *was* the norm. One of the more popular tools for achieving that was Crystal Reports[1].<p>In the late 90s, it was almost routine for software vendors to bundle Crystal Reports with their software (very similar to how the MSSQL installer gets invoked by products), then configure an ODBC data source which connected to the appropriate database.<p>In my opinion, the primary stumbling block of this approach was the lack of a shared SQL query repository. So if you weren’t intimately aware with the data model you wanted to work with, you’d lose hours trying to figure it out on your own or rely on your colleagues sharing it via sneakernet or email.<p>Crystal Reports has since been acquired by SAP, and I haven’t touched it since the early ‘00s so I don’t know what it looks or functions like today.<p>1: <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Crystal_Reports" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Crystal_Reports</a>
    • mitjam6 hours ago
      1999-2000, the company I worked with gave a smallish number of key users full read rights to the SAP minus HR, briefly after introducing SAP to the global supply chain of that company. The key users came from all orgs using SAP, basically every department had one or two key users.<p>I was part of this and &quot;saw the light&quot;. We had such a great visibility into all the processes, it was unreal. It tremendously sped-up cross-org initiatives.<p>Today, I guess, only agents get that privilege.
    • mrits10 minutes ago
      Customers don’t want to learn your schema or deal with your clever optimizations either. If you expose a DB make sure you abstract everything away in a view and treat it like a versioned API.
    • jorin4 hours ago
      hi, dev building Shaper here. I agree re sending reports vs dashboards. Many users use Shaper mostly as UI to filter data and then download a pdf, png or csv file to use elsewhere. We are also currently working on functionality to send out those files directly as messages using Shaper&#x27;s task feature.
      • written-beyond2 hours ago
        It would be a game changer, very interesting to see this grow. How did you get your PDF generation so good?
        • jorin2 hours ago
          happy to hear that! pdfs are generated in a headless chrome in the same docker container as shaper itself using chromedp.
    • matsz7 hours ago
      &gt; I&#x27;ve always advocated for having a read only database connection to be available for your customers to make their own visualisations.<p>A layer on top of the database to account for auth&#x2F;etc. would be necessary anyways. Could be achieved to some degree with views, but I&#x27;d prefer an approach where you choose the publicly available data explicitly.<p>GraphQL almost delivered on that dream. Something more opinionated would&#x27;ve been much better, though.
      • written-beyond4 hours ago
        That&#x27;s exactly what I meant. It&#x27;s a specific replica instance with it&#x27;s own security etc. but not necessarily a separate API you try to integrate too. APIs can stay for writes, but for reads you have the db
  • piterrro6 hours ago
    In what extent this is a metabase alternative? I&#x27;m a heavy Metabase user and there&#x27;s nothing to compare really in this product.
    • jorin4 hours ago
      hi, dev building Shaper here. Both, Shaper and Metabase, can be used to build dashboards for business intelligence functionality and embedded analytics. But the use cases are different: Metabase is feature-rich and has lots of functionality for self-serve that allows non-technical users to easily build their own dashboards and drill down as they please. With Shaper you define everything as code in SQL. It&#x27;s much more minimal in terms of what you can configure, but if you like the SQL-based approach it can be pretty productive to treat dashboards as code.
      • piterrro2 hours ago
        sorry, so it ain&#x27;t an alternative in any way. Its like saying a bicycle is an alternative to an airplane, both have seats...
  • frafra6 hours ago
    Metabase works great with DuckDB as well, thanks to metabase_duckdb_driver by MotherDuck.
  • ldnbln1 hour ago
    my company integrated tale shape as our customer-facing metabase dashboard alternative. absolutely love its simplicity!
  • kavalg3 hours ago
    This is so cool and also MPL licensed! Thanks!
  • 3abiton3 hours ago
    As someone who used duckdb but not shaper, what is shaper used for? The readme is scarce on details.
    • jorin3 hours ago
      hi, dev building shaper here. shaper allows you to visualize data and build dashboards just by writing sql. the sql runs in duckdb so you can use all duckdb features. its for when you are looking for a minimal tool that allows you to just work in code. you can use shaper to build dashboards that you share internally or also for customer-facing dashboards you want to embed into another application.
      • antman2 hours ago
        Will it expose a visual query builder as metabase?
        • jorin1 hour ago
          shaper leans into doing everything as code. instead of using a custom UI you can use your own editor and AI agent to generate dashboards for you. shaper is for people happy to use code. it doesn&#x27;t try to provide self-serve functionality.
  • pdyc6 hours ago
    interesting i am trying to build one too but rejected duckdb because of large size, i guess i will have to give in and use it at some point of time.
  • andrewstuart7 hours ago
    I wanted to love DuckDB but it was so crashy I had to give up.
    • robowo7 hours ago
      I use it daily and it never crashed. How long ago was this? I am a big fan of DuckDB. Plow through hundrets of GB of logs on a 5 year old linux laptop - no problem.
      • pletnes6 hours ago
        Same here. I have however seen a few out of memory cases in the past when given large input files.
        • maxldn1 hour ago
          Really? How large? I’ve only managed to crash it with hundreds&#x2F;thousands of files so far, but haven’t so many huge files to deal with.
  • drfrost56 minutes ago
    [dead]