Internal Tools & Dashboards
GitHub uses Hasura for internal tools and dashboards, leveraging auto-generated GraphQL APIs from PostgreSQL for rapid development of admin interfaces and monitoring dashboards.
E-commerce API Layer
Walmart uses Hasura for parts of their e-commerce platform, generating GraphQL APIs from product catalogs and inventory databases with real-time updates for inventory management.
Food Delivery Platform
Swiggy (India's largest food delivery platform) uses Hasura for rapid API development, handling millions of orders with real-time tracking, restaurant management, and order processing.
API Development Platform
Postman uses Hasura for internal API development, leveraging database-first GraphQL generation for admin tools, analytics dashboards, and internal service APIs.
What Hasura Actually Is
Before evaluating candidates on Hasura experience, understand what the platform provides and where it fits in the backend development landscape.
Core Hasura Capabilities
Instant GraphQL API Generation
Hasura connects to your PostgreSQL database and automatically creates:
- Queries: Read operations with filtering, sorting, pagination, and nested relationships
- Mutations: Create, update, and delete operations with validation
- Subscriptions: Real-time data updates via WebSockets
- Relationships: Automatic handling of foreign keys and joins
- Aggregations: Built-in count, sum, avg, and other aggregate functions
Built-in Authorization
Hasura's permission system provides:
- Row-level security (RLS) based on user roles and session variables
- Column-level permissions for field access control
- Relationship-based permissions for nested data access
- Dynamic permission rules using session variables (user ID, organization ID, etc.)
Performance Optimizations
Hasura includes production-ready features:
- Query batching and deduplication
- Automatic N+1 query prevention
- Connection pooling and query optimization
- Caching strategies for frequently accessed data
- Query analysis and performance monitoring
Developer Experience
Hasura accelerates development through:
- Schema introspection and auto-completion
- GraphQL query builder and testing interface
- Migration management and version control
- Remote schema stitching for microservices
- Action system for custom business logic
Hasura vs. Apollo Server vs. Prisma vs. Custom GraphQL
Understanding the GraphQL backend landscape helps you evaluate what Hasura experience actually signals.
Platform Comparison
| Aspect | Hasura | Apollo Server | Prisma | Custom GraphQL |
|---|---|---|---|---|
| Approach | Database-first, auto-generated | Code-first, manual resolvers | ORM with GraphQL layer | Full control, hand-written |
| Development Speed | Very fast (minutes to API) | Moderate (days to weeks) | Fast (ORM accelerates) | Slow (weeks to months) |
| Customization | Actions/Remote schemas for custom logic | Full control over resolvers | Prisma Client + custom resolvers | Complete flexibility |
| Learning Curve | Low (if you know PostgreSQL) | Moderate (GraphQL + Node.js) | Moderate (ORM + GraphQL) | Steep (everything custom) |
| Best For | CRUD-heavy apps, rapid prototyping | Complex business logic, microservices | Type-safe database access | Unique requirements, full control |
| Database Support | PostgreSQL (primary), MySQL, SQL Server | Any (via resolvers) | PostgreSQL, MySQL, SQLite, MongoDB | Any |
| Authorization | Built-in RLS system | Manual implementation | Manual implementation | Manual implementation |
| Real-time | Built-in subscriptions | Manual WebSocket setup | Manual WebSocket setup | Manual WebSocket setup |
What This Means for Hiring
The underlying skills are identical across platforms:
- PostgreSQL expertise: Database design, query optimization, indexing strategies
- GraphQL fundamentals: Schema design, query patterns, API architecture
- Backend architecture: Authentication, authorization, performance optimization
- API design: Error handling, versioning, documentation
The differences are in:
- Development velocity: Hasura generates APIs faster than writing resolvers manually
- Customization needs: Apollo Server offers more flexibility for complex business logic
- Team preferences: Some teams prefer code-first (Apollo), others prefer database-first (Hasura)
- Migration path: Hasura can stitch remote schemas, Apollo can federate services
Don't filter candidates based on which GraphQL backend they've used. Instead, assess:
- Do they understand PostgreSQL deeply?
- Can they design efficient database schemas?
- Do they understand GraphQL query patterns and performance?
- Have they built production APIs with proper authorization?
When Hasura Experience Actually Matters
While we advise against requiring Hasura specifically, there are situations where Hasura familiarity provides genuine value:
High-Value Scenarios
1. Existing Hasura Implementation
If your application uses Hasura with complex permission rules, remote schemas, or custom actions, a developer with Hasura experience will be productive faster. They'll understand:
- Hasura's permission system and role-based access control
- Remote schema stitching for microservices integration
- Actions for custom business logic beyond CRUD
- Event triggers for async processing
- Migration management and schema versioning
2. Rapid Prototyping and MVP Development
For startups or teams building MVPs quickly, Hasura experience accelerates development. Developers who've used Hasura understand:
- Database-first API design patterns
- Rapid iteration on schema changes
- Built-in real-time capabilities
- Quick deployment and scaling strategies
3. Database-Heavy Applications
Applications where the API primarily exposes database operations benefit from Hasura's auto-generation. Experience with Hasura indicates:
- Understanding of database-driven architecture
- Comfort with schema introspection and code generation
- Experience optimizing database queries for GraphQL
- Knowledge of PostgreSQL-specific features (JSONB, arrays, full-text search)
4. Real-time Requirements
Applications needing real-time subscriptions (dashboards, collaborative features, live updates) benefit from Hasura's built-in WebSocket support. Hasura experience signals:
- Understanding of GraphQL subscriptions
- Experience with real-time data synchronization
- Knowledge of subscription performance and scaling
When Hasura Experience Doesn't Matter
1. Complex Business Logic Requirements
If your application requires extensive custom business logic, complex calculations, or integration with many external services, Apollo Server or custom GraphQL might be better. Hasura's auto-generation excels at CRUD but requires Actions for custom logic.
2. You Haven't Chosen a GraphQL Backend
If you're still deciding between Hasura, Apollo Server, Prisma, or custom GraphQL, don't require any specific platform. Hire for PostgreSQL and GraphQL fundamentals and let the team make the decision together.
3. Microservices Architecture
While Hasura supports remote schema stitching, teams with complex microservices architectures often prefer Apollo Federation or custom GraphQL for more control over service boundaries and data flow.
4. Non-PostgreSQL Databases
Hasura primarily supports PostgreSQL (with limited MySQL/SQL Server support). If you're using MongoDB, DynamoDB, or other databases, Hasura isn't the right choice—Apollo Server or custom GraphQL are better fits.
The Hasura Developer Skill Set
Rather than filtering for Hasura specifically, here's what to look for in developers building GraphQL backends:
Fundamental Knowledge (Must Have)
PostgreSQL Expertise
The foundation of Hasura development. Developers should understand:
- Schema design and normalization
- Indexing strategies and query optimization
- Foreign keys and relationship modeling
- JSONB and array types for flexible data
- Full-text search and advanced PostgreSQL features
- Migration management and version control
GraphQL Fundamentals
Understanding GraphQL regardless of backend:
- Schema design (types, queries, mutations, subscriptions)
- Query patterns and nested relationships
- Performance considerations (N+1, query complexity)
- Error handling and validation
- Authentication and authorization patterns
API Architecture
Backend API design principles:
- RESTful vs GraphQL trade-offs
- API versioning strategies
- Rate limiting and throttling
- Caching strategies
- Documentation and developer experience
Backend Development
General backend engineering skills:
- Server-side programming (Node.js, Python, Go, etc.)
- Database connection pooling
- Authentication (JWT, OAuth, sessions)
- Error handling and logging
- Testing strategies (unit, integration, e2e)
Hasura-Specific Knowledge (Nice to Have)
Hasura Platform Features
If using Hasura, familiarity with:
- Permission system (row-level and column-level security)
- Remote schema stitching for microservices
- Actions for custom business logic
- Event triggers for async processing
- Hasura Cloud vs self-hosted deployment
- Migration CLI and schema management
Database-First Patterns
Understanding database-driven development:
- Schema introspection and code generation
- Database migrations as API changes
- Relationship modeling for GraphQL
- Performance optimization at the database level
Platform Experience (Lowest Priority)
Specific Platform Knowledge
Hasura, Apollo Server, Prisma, or custom GraphQL—this is the least important factor. Any developer with PostgreSQL and GraphQL fundamentals learns a new platform in days. Hasura's simplicity means it takes less time than Apollo Server, but still manageable for experienced developers.
Hasura Use Cases in Production
Understanding how companies actually use Hasura helps you evaluate candidates' experience depth.
Rapid MVP Development Pattern
Startups and product teams use Hasura for:
- Fast API development without writing resolvers
- Real-time features (dashboards, notifications) without WebSocket setup
- Quick iteration on schema changes
- Built-in authorization without custom implementation
What to look for: Experience building MVPs quickly, understanding trade-offs of auto-generated APIs, and knowing when to use Actions for custom logic.
Database-Heavy SaaS Pattern
B2B SaaS companies use Hasura for:
- CRUD-heavy applications where API mirrors database operations
- Multi-tenant applications with row-level security
- Admin panels and internal tools
- Applications where database performance is critical
What to look for: Experience with PostgreSQL optimization, multi-tenancy patterns, and complex permission systems.
Real-time Dashboard Pattern
Companies building dashboards and analytics use Hasura for:
- Real-time data visualization without polling
- Collaborative features with live updates
- Monitoring and observability tools
- Data aggregation and reporting
What to look for: Experience with GraphQL subscriptions, real-time data synchronization, and performance optimization for live queries.
Microservices Integration Pattern
Larger organizations use Hasura with:
- Remote schema stitching to combine multiple services
- Actions to call external APIs and services
- Event triggers for async processing
- Hasura as API gateway for database-backed services
What to look for: Experience integrating Hasura with microservices, understanding service boundaries, and designing distributed systems.
Interview Questions for Hasura/GraphQL Backend Roles
questions assess backend and GraphQL competency regardless of which platform the candidate has used.Evaluating PostgreSQL Understanding
Question: "You're designing a database schema for a multi-tenant SaaS application where users belong to organizations. How would you structure the tables, relationships, and indexes?"
Good Answer Signs:
- Discusses organization and user tables with proper foreign keys
- Mentions row-level security or application-level tenant isolation
- Considers indexing strategies (composite indexes for tenant + user queries)
- Addresses data isolation and security concerns
- Thinks about query patterns and performance implications
Red Flags:
- No understanding of multi-tenancy challenges
- Doesn't consider data isolation between tenants
- No mention of indexing or query optimization
- Can't explain foreign key relationships
Evaluating GraphQL API Design
Question: "How would you design a GraphQL API for a product catalog with categories, products, variants, and inventory? Consider pagination, filtering, and performance."
Good Answer Signs:
- Designs schema with proper types and relationships
- Discusses pagination strategy (cursor-based vs offset)
- Considers filtering and sorting patterns
- Addresses N+1 query problems and solutions
- Thinks about query complexity and performance
Red Flags:
- No consideration for pagination on large datasets
- Doesn't understand N+1 problem or solutions
- Can't explain query performance implications
- No awareness of GraphQL-specific challenges
Evaluating Authorization Understanding
Question: "How would you implement authorization for a B2B SaaS where users belong to organizations and have different roles within those organizations?"
Good Answer Signs:
- Discusses role-based access control (RBAC)
- Mentions row-level security for tenant isolation
- Considers field-level permissions
- Addresses session variables and user context
- Explains how to prevent unauthorized data access
Red Flags:
- Only thinks about authentication, not authorization
- No concept of row-level or field-level security
- Doesn't consider multi-tenant data isolation
- Can't explain how to prevent data leakage
Evaluating Performance Optimization
Question: "A GraphQL query is slow. Walk me through how you would diagnose and optimize it."
Good Answer Signs:
- Describes query analysis and profiling tools
- Checks database query execution plans
- Identifies N+1 problems and suggests DataLoader or batching
- Considers indexing strategies
- Discusses caching opportunities
Red Flags:
- No systematic debugging approach
- Only suggests "add caching" without investigation
- Doesn't understand database query optimization
- Can't explain how to identify performance bottlenecks
Common Hiring Mistakes with Hasura
1. Requiring Hasura Specifically
The Mistake: "Must have 2+ years Hasura experience"
Reality: Hasura has been widely adopted, but requiring specific Hasura experience eliminates excellent candidates who've used Apollo Server, Prisma, custom GraphQL, or even REST APIs with strong database skills. The PostgreSQL and GraphQL fundamentals transfer completely.
Better Approach: "Experience building GraphQL APIs or REST APIs with PostgreSQL. Hasura experience preferred but not required."
2. Treating Hasura as a Checkbox Skill
The Mistake: Adding "Hasura" to a long list of required technologies without understanding what it means.
Reality: Hasura is a tool that accelerates API development, but the underlying skills—PostgreSQL expertise, GraphQL understanding, API architecture—are what matter. Using Hasura doesn't automatically mean someone understands database design or API performance.
Better Approach: Assess PostgreSQL and GraphQL fundamentals. Ask about database design, query optimization, and API architecture—not just "have you used Hasura."
3. Overlooking Database Skills
The Mistake: Hiring developers who can configure Hasura but don't understand PostgreSQL deeply.
Reality: Hasura generates APIs from your database schema. If the schema is poorly designed, the API will be slow and hard to maintain. Strong PostgreSQL skills are essential for Hasura development.
Better Approach: Include database design questions in interviews. Ask about indexing strategies, query optimization, and schema design patterns.
4. Ignoring Custom Logic Requirements
The Mistake: Assuming Hasura handles all backend needs without understanding its limitations.
Reality: Hasura excels at CRUD operations but requires Actions for custom business logic. Developers need to understand when to use Hasura's auto-generation vs. custom resolvers.
Better Approach: For roles requiring complex business logic, assess understanding of when to use Actions, remote schemas, or custom GraphQL servers.
5. Not Assessing Authorization Complexity
The Mistake: Assuming Hasura's permission system is simple without understanding row-level security complexity.
Reality: Hasura's permission system is powerful but requires careful design for complex authorization scenarios. Multi-tenant applications, role hierarchies, and field-level permissions require deep understanding.
Better Approach: Ask about authorization patterns they've implemented. Discuss row-level security, session variables, and permission rule design.
Building Trust with Developer Candidates
Be Honest About Your Stack
Developers will ask what GraphQL backend you use. Be prepared to answer:
- Which platform (Hasura, Apollo Server, Prisma, custom)
- Why you chose it (rapid development, database-first approach, team preference)
- What's working well and what isn't
- Whether there's flexibility to change
Hasura is generally well-regarded by developers for its developer experience and rapid development capabilities. If you use Hasura, it's a positive signal about development velocity—especially for database-heavy applications.
Don't Over-Require
Job descriptions requiring "Hasura experience" when you'd accept any GraphQL or strong PostgreSQL experience waste everyone's time. Candidates with Apollo Server, Prisma, or custom GraphQL experience will skip your posting even though they're qualified.
Acknowledge the Learning Curve
Hasura has a lower learning curve than Apollo Server for basic CRUD operations, but complex permission systems and Actions require deeper understanding. Acknowledging that "anyone with PostgreSQL and GraphQL experience can learn Hasura quickly, though complex permissions take longer" in your job description signals reasonable expectations.
Highlight Database-First Value
If you're hiring for database-heavy applications, mention why Hasura matters: "We use Hasura for rapid API development from our PostgreSQL schema." This helps candidates understand the role's focus and value proposition.
Real-World Hasura Architectures
Understanding how companies actually implement Hasura helps you evaluate candidates' experience depth.
Startup Pattern: Hasura for MVP
Early-stage companies often use Hasura for:
- Rapid API development without backend team
- Real-time features without WebSocket infrastructure
- Quick iteration on product features
- Built-in authorization for user management
What to look for: Experience building MVPs quickly, understanding when to use Actions vs. auto-generated APIs, and migration strategies as products evolve.
SaaS Pattern: Hasura + Custom Actions
B2B SaaS companies often combine Hasura with:
- Auto-generated CRUD APIs from PostgreSQL
- Custom Actions for business logic (payments, integrations, workflows)
- Remote schemas for microservices integration
- Event triggers for async processing
What to look for: Experience integrating Hasura with external services, designing Actions for custom logic, and understanding service boundaries.
Enterprise Pattern: Hasura as API Gateway
Larger organizations use Hasura as:
- API gateway for database-backed services
- Remote schema stitching for microservices
- Unified GraphQL layer across multiple databases
- Real-time data aggregation from multiple sources
What to look for: Experience with distributed systems, schema federation patterns, and designing APIs at scale.