HASURA serves as a backend tool to unblock product teams by instantly deploying flexible and secure GraphQL APIs without drowning in microservice complexity.

Project Vision

This project was to redesign the console platform experience comprehensively to

- Integrate with HASURA's innovative Data Delivery Network architecture seamlessly, enhancing the overall performance and scalability
- Improve the user journey within the HASURA ecosystem, ensuring a more intuitive and frictionless interaction for users across the platform.

My Role
Lead UI/UX Designer
UX Engineer
Timeline
2023 Q2 - Q4

Project Strategy

GET API consumers/maintainers WHO are overwhelmed by the volume of complex HASURA backend architecture TO easily view and manage their metadata BY providing a web console application that allows metadata visualization, version control, and team collaboration

My Contributions

During the alpha release phase of our console redesign project, I led and executed 3 pivotal UX design initiatives:
  • Metadata Visualization: Led and executed the creation of an intuitive visual interface for Hasura's metadata, transforming complex technical data format into a comprehensible graph
  • Data Source Integration Simplification: Streamlined the integration process for various data sources with Hasura
  • Design System Development: Solely developed a comprehensive design system to unify legacy components, promoting team collaboration and expediting development velocity

Research & Exploration

Our team work closely with multi-functional teams becoming the first user to do the dogfooding for the very early-stage product.
There are 3 main goals of this phase:
  1. Onboard ourselves to understand the entire tech architecture
  2. Collect internal feedback on the user flow
  3. Define the role and functionalities of the console within the HASURA ecosystem

Design Challenges

  • 🎢 Steep Learning Curve: As a Backend-as-a-Service platform, it’s crucial & challenging to introduce the new architecture in HASURA without overwhelming the user
  • 🔁 CLI-to-Web Transition: As a visualization tool, console is aimed to provide users with a visual interface to view/manage their metadata. It’s our key challenge to convert the HASURA-specific language to a general user interface
  • 🛠 In Progress Deployment: The product is still in the rapid iteration phase. From the design perspective of view, taking care of product scalability is an essential consideration.

Metadata Visualization

Challenge -> Research  -> Design <-> Iterate

Challenge

Hasura Metadata Structure
  • How to represent metadata visually?
  • How to balance aesthetic design and feasible implementation?

We implemented a nested folder structure (right figure) within VSCode to represent HASURA metadata. However, converting this structure directly to the console is not feasible, not only because it involves additional configuration files but also because the nested folder structure itself does not adequately convey the full hierarchy of the metadata.
The feasibility of the design is crucial. The metadata structure for each user can vary significantly, often being complex and extensive. Therefore, the scalability of the visualization and its impact on website loading times were key considerations in our design challenge.

Exploration & Research

Competitor Analysis

We've been collecting many graph visualizations to analyze the pros & cons in different scenarios.  

- Complex schema, like the Graphql Voyager: to avoid crazy line network
- Detailed information under each subgraph: how to present the internal / external relationship about the selected table/view

Graphql Voyager
Visualization Tool Experiment

We've been experimenting many different visualization tools / presentations. For each one, we customized the details to match our needs and iterated based on the internal /external feedback.
We decided to present the entire metadata in two forms of visualization: Graph & ERD (Entity Relationship Diagram)

Solution 1

Live Demos

I implemented multiple live demos with different data visualization tools to provide more design specs

Solution 2

Collaborate More

I collaborated with multi-functional teams to ensure the feasibility of the design solutions and iterated

Alpha Released Design

  • Perform data visualization in the order of metadata architecture
  • Entity Relationship Diagram (ERD) will display at the Model level to indicate the relationship

Data Source Integration

Challenge -> Ideate -> Design <-> Iterate

Design Challenges

  • Steep learning curve  - How to introduce new approaches to connect data sources without overwhelming the users?
  • Different data source types  - How to smooth different connection flows into one onboarding journey?
  • In progress deployment  - How to adjust the UX design to take care of the product scalability?

Design Solutions

🎢 Steep Learning Curve

- Provide a Sample Database option to alleviate users' prerequisites
- Automatically showcase the entire onboarding process to help users grasp new concepts.

🔀 Different Connection flows

- Prioritize presenting the existing connection flow
- Provide decent descriptions and documentation links

🛠 In Progress Development

- Modularize layout design
- Plan/test the interface based on the product roadmap to enhance the design scalability

Alpha Released Design

Showcase the benefits of using Hasura
- how fast it could be to create API
- how easy it could be to create API

Integrate different data connection flows into onboarding

Design System Development

Design <-> Test <-> Iterate

Designing the design system was a continuous effort throughout the console redesign timeline, involving countless iterations and enhancements. This process ensured alignment with the brand's tone and close collaboration with the development team to maintain consistency with the front-end UI kit. Simultaneously, I refined design patterns by categorizing the use cases of six major components and summarizing UI components to aid the internal team in quickly selecting the appropriate components for specific scenarios. We also conduct regular design critiques of the design system/patterns, enabling reasoned adjustments to ensure the system's consistency and maintainability.

Alpha Release

Since the rollout of the alpha version in November 2023, Hasura Console has garnered significant love and attention from the developer community. Within just one week of its launch, we witnessed 1000+ new signups.

Leveraging my technical acumen, I was able to bridge the gap between complex backend functionalities and user-friendly interfaces, ensuring the console's seamless integration within the HASURA ecosystem. This process of rapid prototyping, testing, and refining, underpinned by a deep understanding of both the technology stack and user experience principles, significantly contributed to the project's success.

More projects

511 Traffic Alert
Native iOS Mobile App
UX Design, iOS Develop
2021
Alberta Highway Reporter
Native iOS Mobile App
UX Design, iOS Develop
2021
Florists
Ecommerce Mobile App
UX Design, UX Research
2022