Simpler.Grants.gov Public Wiki
Grants.govSimpler.Grants.govGitHubDiscourse
  • 👋Welcome
  • GET INVOLVED
    • Why open source?
    • How to contribute code
    • How to file issues
      • Report a bug
      • Request a feature
      • Report a security vulnerability
    • Community guidelines
      • Code of Conduct
      • Reporting and removing content
      • Incident response protocol
    • Community events
      • Fall 2024 Coding Challenge
        • Event Submissions & Winners
      • Spring 2025 Collaborative Coding Challenge
        • Event Submissions & Winners
    • Communication channels
  • Product
    • Roadmap
    • Deliverables
      • 🏁Static site soft launch
      • 🏁Static site public launch
      • 🏁GET Opportunities
      • 🏁Open source onboarding
      • 🏁Co-Design Group planning
    • Decisions
      • ADR Template
      • ADRs
        • Dedicated Forum for Simpler.Grants.gov Community
        • Recording Architecture Decisions
        • Task Runner for the CI / CD Pipeline
        • API Language
        • Use Figma for design prototyping
        • ADR: Chat
        • DB Choices
        • API Framework and Libraries
        • Back-end Code Quality Tools
        • Front-end Language
        • Communications Tooling: Wiki Platform
        • Use Mural for design diagrams and whiteboarding
        • Ticket Tracking
        • Front-end Framework
        • Front-end Code Quality Tools
        • Front-end Testing & Coverage
        • Backend API Type
        • Front-end Testing & Coverage
        • Deployment Strategy
        • Use U.S. Web Design System for components and utility classes
        • FE server rendering
        • Use NPM over Yarn Architectural Decision Records
        • U.S. Web Design System in React
        • Communications Tooling: Video Conferencing
        • Back-end Production Server
        • Communications Tooling: Analytics Platform
        • Commit and Branch Conventions and Release Workflow
        • Cloud Platform to Host the Project
        • Infrastructure as Code Tool
        • Data Replication Strategy & Tool
        • HHS Communications Site
        • Communications Tooling: Email Marketing
        • Communications Tooling: Listserv
        • Use Ethnio for design research
        • Uptime Monitoring
        • Database Migrations
        • 30k ft deliverable reporting strategy
        • Public measurement dashboard architecture
        • Method and technology for "Contact Us" CTA
        • E2E / Integration Testing Framework
        • Logging and Monitoring Platform
        • Dashboard Data Storage
        • Dashboard Data Tool
        • Search Engine
        • Document Storage
        • Document Sharing
        • Internal Wiki ADR
        • Shared Team Calendar Platform
        • Cross-Program Team Health Survey Tool
        • Adding Slack Users to SimplerGrants Slack Workspace
        • Repo organization
        • Internal knowledge management
        • Migrate Existing API Consumers
      • Infra
        • Use markdown architectural decision records
        • CI/CD interface
        • Use custom implementation of GitHub OIDC
        • Manage ECR in prod account module
        • Separate terraform backend configs into separate config files
        • Database module design
        • Provision database users with serverless function
        • Database migration architecture
        • Consolidate infra config from tfvars files into config module
        • Environment use cases
        • Production networking long term state
    • Analytics
      • Open source community metrics
      • API metrics
  • DESIGN & RESEARCH
    • Brand guidelines
      • Logo
      • Colors
      • Grid and composition
      • Typography
      • Iconography
      • Photos and illustrations
    • Content guidelines
      • Voice and tone
    • User research
      • Grants.gov archetypes
  • REFERENCES
    • Glossary
  • How to edit the wiki
Powered by GitBook
On this page
  • Context and Problem Statement
  • Desired Solution
  • Solution Options
  • AWS QuickSight
  • Metabase
  • QuickSight and Metabase compared
  • Decision
  • Links

Was this helpful?

Edit on GitHub
  1. Product
  2. Decisions
  3. ADRs

Dashboard Data Tool

PreviousDashboard Data StorageNextSearch Engine

Last updated 28 days ago

Was this helpful?

  • Status: Active

  • Last Modified: 2024-04-10

  • Related Issue:

  • Deciders: Aaron, Billy

Context and Problem Statement

We are looking to implement a BI (Business Intelligence) tool for Simpler. The BI tool will be the centerpiece of our "Delivery Dashboard" work. A BI tool is software designed to analyze, process, and visualize large volumes of data to help organizations make informed decisions. These tools gather data from various sources, including databases, spreadsheets, and cloud services, and transform it into actionable insights through reports, dashboards, and interactive visualizations. BI tools often include features such as data querying, data mining, statistical analysis, and predictive modeling to uncover trends, patterns, and correlations within the data.

Adopting a BI tool will be instrumental in optimizing decision-making processes and enhancing our delivery practices. BI tools enable agencies to analyze vast amounts of data efficiently, helping to identify trends, patterns, and areas for improvement. By harnessing the power of BI, we can improve resource allocation, monitor program effectiveness, and ensure transparency and accountability in our operations. Furthermore, BI tools facilitate evidence-based decision making by providing us with timely and accurate insights into our needs and trends. Leveraging BI will empower Simpler to better serve citizens, drive efficiencies, and achieve our project goals.

Desired Solution

We will evaluate the BI tool based on the following capabilities and attributes:

  • Ability to share public dashboards

  • Ability to show private dashboards to selected users

  • Ability to connect to common data sources (S3, Redshift, Postgres)

  • Allows technical users to create ad hoc queries to create graphs

  • Easy-to-use UI for non-coders

  • Replicable for users outside of the project

  • Cost of ownership

  • Ease of deployment

  • Account configuration

Solution Options

The possible solution space here is quite large, but we have narrowed it down to 5 to options total, only 2 of which are evaluated in this ADR. Only 2 options were thoroughly evaluated in the interest of time. The 5 total options we evaluated are listed below.

  • AWS QuickSight - evaluated below

  • Metabase - evaluated below

  • Tableau

  • Redash

  • Apache Superset

AWS QuickSight

AWS QuickSight is a cloud-based Business Intelligence (BI) service provided by Amazon Web Services (AWS). It enables users to easily create and share interactive dashboards and visualizations from various data sources, including AWS services, databases, and third-party applications. QuickSight offers features such as ad-hoc analysis, machine learning-powered insights, and seamless integration with AWS services like Amazon Redshift, Amazon RDS, and Amazon S3. It provides users with the ability to explore data through drag-and-drop interfaces, create custom visualizations, and perform advanced analytics without requiring extensive technical expertise. With pay-as-you-go pricing and scalability, QuickSight offers an accessible and cost-effective solution for organizations looking to harness the power of BI in the cloud.

Here's how QuickSight evaluates against our criteria:

  • ✅ Easy-to-use UI for non-coders - Subjectively, the AWS QuickSight UI was found to be easy to use.

  • ❌ Replicable for users outside of the project - AWS QuickSight is not open source, so its results can only replicated by having access to our AWS account

Metabase

Metabase is an open-source Business Intelligence (BI) tool that enables users to easily query, visualize, and share insights from their data. It offers a user-friendly interface that allows users to create and customize dashboards and visualizations without the need for advanced technical skills. Metabase supports various data sources, including SQL databases like MySQL, PostgreSQL, and MongoDB, as well as cloud services like Google BigQuery and Amazon Redshift. With features such as SQL querying, interactive dashboards, and natural language querying, Metabase empowers users to explore and understand their data in a flexible and intuitive way. Additionally, being open-source, Metabase allows for community contributions and customization, making it a popular choice for organizations seeking a cost-effective and customizable BI solution.

Here's how Metabase evaluates against our criteria:

  • ✅ Easy-to-use UI for non-coders - Subjectively, the Metabase UI was found to be easy to use.

  • ✅ Replicable for users outside of the project - Metabase is open-source and could be replicated by people outside the project by giving them access to a copy of our analytics database.

  • Cost of ownership - The cost of running Metabase is the cost of running an appropriately sized AWS Fargate task 24/7. That cost works out to about ~$100/month.

QuickSight and Metabase compared

Metabase's UX, and open-source nature, make it slightly beat out AWS QuickSight. That said, they both unambiguously satisfy the majority of our decision criteria. Either tool would be a good choice to implement.

Decision

This ADR supports Metabase as our chosen BI tool.

Links

✅ Ability to share public dashboards -

✅ Ability to show private dashboards to selected users -

✅ Ability to connect to common data sources (S3, Redshift, Postgres) -

✅ Allows technical users to create ad hoc queries to create graphs -

Cost of ownership - A rough estimate puts AWS QuickSight at about ~$300/month for our quantity of users.

✅✅ Ease of deployment - . The entire deployment would be AWS managed, we do not need to manage the deployment in any way.

✅ Account configuration - These users can also be configured with AWS SSO and MFA.

✅ Ability to share public dashboards -

✅ Ability to show private dashboards to selected users -

✅ Ability to connect to common data sources (S3, Redshift, Postgres) -

✅ Allows technical users to create ad hoc queries to create graphs -

✅ Ease of deployment - . This ECS service would be managed by us, so we would be responsible for managing upgrades to the service.

✅ Account configuration - . This works across multiple domains and multiple Google Workspaces. As it uses Google SSO, it also supports MFA.

#1507
AWS QuickSight supports public dashboards
AWS QuickSight supports access controlled dashboards
AWS QuickSight supports common data sources
AWS QuickSight supports creating a variety of visual types
Pricing page.
AWS QuickSight can be deploy via Terraform
AWS QuickSight users must be deployed via Terraform or the AWS console. These users require an associated IAM user to be created.
Metabase supports public dashboards
Metabase supports access controlled dashboards
Metabase supports common data sources
Metabase supports creating a variety of visual types
Metabase provides an official docker image that we can run on AWS ECS
Metabase uses Google SSO as its secure account configuration option
Best BI tools for startups: How to choose a BI tool
Metabase vs QuickSight Comparison
Amazon Quicksight vs Metabase