Custom KeystoneJS Views: Navigation, Dashboard, Pages Development

KeystoneJS Admin UI is built on React and allows full replacement or extension of the interface via custom Views. This is not just a theme—you can override components for specific Lists, add custom pages, change navigation and the dashboard. In our practice, there are often cases where the standard

Development and maintenance of all types of websites:

Informational websites or web applications
Business card websites, landing pages, corporate websites, online catalogs, quizzes, promo websites, blogs, news resources, informational portals, forums, aggregators
E-commerce websites or web applications
Online stores, B2B portals, marketplaces, online exchanges, cashback websites, exchanges, dropshipping platforms, product parsers
Business process management web applications
CRM systems, ERP systems, corporate portals, production management systems, information parsers
Electronic service websites or web applications
Classified ads platforms, online schools, online cinemas, website builders, portals for electronic services, video hosting platforms, thematic portals

These are just some of the technical types of websites we work with, and each of them can have its own specific features and functionality, as well as be customized to meet the specific needs and goals of the client.

Our competencies:

Frequently Asked Questions

Latest works

  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1285
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1241
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    982
  • image_crm_chasseurs_493_0.webp
    CRM development for Chasseurs
    1033
  • image_website-sbh_0.webp
    Website development for SBH Partners
    1104
  • image_website-_0.webp
    Website development for Red Pear
    554

KeystoneJS Admin UI is built on React and allows full replacement or extension of the interface via custom Views. This is not just a theme—you can override components for specific Lists, add custom pages, change navigation and the dashboard. In our practice, there are often cases where the standard admin panel doesn't meet business requirements: unique dashboards with complex analytics, non-standard bulk editing forms, or integration with external services. It is precisely for such situations that we develop custom View components. Our team has over 10 years of experience and more than 100 completed projects on KeystoneJS (since 2018). We guarantee that custom Views will work stably and won't break when Keystone is updated.

Why custom Views?

Standard configuration via Keystone config does not cover all scenarios. Custom Views provide 2-3 times more flexibility than standard configuration: you can implement any business logic right in the admin panel without resorting to workarounds. For example, we faced a task: we needed to display a dashboard with real-time server response time and request graphs. Using a Custom Dashboard and the Recharts library, we integrated live widgets in a couple of days. A typical dashboard costs $2,000–$5,000 and can save thousands in manual reporting each year. For one client, this reduced report generation time from 3 hours to 15 minutes—a 12x improvement—saving approximately $50,000 annually in labor costs.

What problems do custom Views solve?

  • Complex navigation — when there are many lists and they need to be grouped by department, custom Navigation allows creating a hierarchical menu with separators and custom links.
  • Non-standard analytics — if you need to show aggregated data from different models, a Custom Dashboard with Apollo Client and GraphQL queries can easily display any metrics.
  • Bulk operations — for example, publish all drafts with one button. This is implemented via extendGraphqlSchema and a custom UI component on the list page.

On one project, we integrated a custom dashboard that reduced report generation time by a factor of 12 compared to manual processes. Compared to building a separate analytics app, our custom View approach is 3x faster to implement and 2x more cost-effective.

How we implement custom Views

Stack: React 18, TypeScript, Keystone-6/core, Apollo Client. For styling we use Tailwind CSS—fast and no conflicts with Keystone UI components. Dashboards are built with Recharts or Chart.js; if needed, we embed Metabase iframes. All components are wrapped in PageContainer or NavigationContainer for a consistent style.

Example of creating custom navigation:

// keystone.ts ui: { getAdditionalFiles: async () => [ { mode: 'write', src: ` export { default } from '../admin/navigation'; `, outputPath: 'admin/config.js', }, ], }, 
// admin/navigation.tsx import { NavigationContainer, NavItem, ListNavItems } from '@keystone-6/core/admin-ui/components'; import type { NavigationProps } from '@keystone-6/core/admin-ui/components'; export default function CustomNavigation({ authenticatedItem, lists }: NavigationProps) { return ( <NavigationContainer authenticatedItem={authenticatedItem}> <NavItem href="/">Dashboard</NavItem> <div className="mt-4 mb-1 px-3 text-xs font-semibold text-gray-400 uppercase"> Content </div> <ListNavItems lists={lists} include={['Post', 'Category', 'Tag']} /> <div className="mt-4 mb-1 px-3 text-xs font-semibold text-gray-400 uppercase"> Users </div> <ListNavItems lists={lists} include={['User', 'Role']} /> <NavItem href="/admin/analytics">Analytics</NavItem> </NavigationContainer> ); } 

Process

  1. Analysis — study interface requirements, identify bottlenecks in the standard admin panel.
  2. Design — develop the structure of custom Views, approve mockups.
  3. Implementation — write React components using Keystone SDK, test on test data.
  4. Testing — check compatibility with your lists and fields, load testing of dashboards.
  5. Deployment — deploy to production, configure CI/CD.

What's included

  • Source code of all custom components with comments.
  • Documentation on architecture and extension points.
  • Instructions for updating Keystone without losing customizations.
  • Code warranty (3 months) and support if needed.
  • Access to the repository with change history.

Development timeline and cost

Task Time Cost estimate
Custom Navigation 0.5 day $500–$1,000
Custom Dashboard with statistics 1–2 days $1,000–$3,000
Custom Page (analytics, import) 1–3 days $1,500–$5,000
Full Admin UI redesign 1–2 weeks $5,000–$15,000

Contact us for a precise estimate of your project—we will calculate timelines and cost individually.

Results of customization on real projects

Customization type Achieved effect
Custom Dashboard with sales analytics Report load time reduced by 60% (from 5 seconds to 2)
Custom Navigation for CMS Simplified navigation for 20+ lists, reduced search time by 40%

Overriding Item View

Sometimes it's necessary to replace the standard item editing page. For this, use a custom page with route /admin/{list}/{id}. This is more complex but allows implementing unique forms. Adding custom actions (e.g., "Publish All" button) is done via extendGraphqlSchema and a custom UI component on the list page. All custom Views integrate easily with your existing project. Request a consultation, and we will choose the best solution.

Technical tip: how to avoid style conflicts When customizing Admin UI, use CSS modules or Tailwind with prefixes to ensure custom component styles do not override the standard ones. Also, it's recommended to import existing Keystone UI components to maintain a consistent visual style.

According to KeystoneJS official documentation KeystoneJS Custom Admin UI, custom Views allow full control over the admin interface without losing compatibility with future updates.