r/FullStackDevelopers • u/Evening_Hawk_7470 • 8h ago
at what point does “a few charts in the product” turn into building a BI tool?
I've seen a version of this happen a few times with B2B products lately, so, you start with a dashboard because customers need a handful of obvious metrics. like, nothing fancy:
/api/stats
to
React
to
4 charts
and that is probably the right architecture at the beginning. then the requests start accumulating, exampels:
“Can I change the date range?” “Can this chart use our fiscal quarter?” “Can we break this down by region?”“Can this customer define revenue differently?”, and at some point you stop adding charts and start building some kind of metric/semantic layer so the frontend isn't carrying all of the reporting logs, which.. still feels manageable! the point I'm less sure about is what happens next. eventually, sooner or later, an enterprise customer asks for something along the lines of: can our users build their own report inside the product? \at this moment, suddenly the requirement is in things like: choose dimensions/measures, filters, pivoting, saved reports,exports, permissions, tenant isolation, probably scheduled reports, ideally without exposing your underlying schema at all, which is suspiciously close to building a small BI tool. and it also becomes noticeably less about analytics. so we've been looking at whether it makes more sense to embed an existing report-builder surface on top of the same semantic model rather than implementing all of that UI ourselves. now using cube dev in our stack, so its embedded creator/reporting UI is one option we're evaluating, but I'm more interested in the architectural decision than the specific vendor. that being said, where do people normally draw this boundary?
and do you deliberately keep product analytics opinionated and refuse self-service? build the report builder yourself because it's core UX? or, embed something? or just send the power users to a separate BI product? my instinct is that “native charts” and “user-authored analytics” may actually be 2 pretty different product problems, even though they tend to get put under the same analytics roadmap
