Overview
Openlane UI is built with modern web technologies focused on performance, developer experience, and maintainability.React 19.2.4
Latest React with concurrent features
Next.js 16.1.6
Full-stack React framework
TypeScript 5.x
Type-safe development
Core Framework
Next.js 16.1.6
The foundation of Openlane UI applications.Features Used
Features Used
- App Router: Modern routing with React Server Components
- API Routes: Backend API endpoints
- Middleware: Authentication and request handling
- Image Optimization: Automatic image optimization
- Font Optimization: Google Fonts with zero layout shift
- Bundle Analysis: Performance monitoring
Configuration
Configuration
React 19.2.4
Latest version with cutting-edge features.Server Components
Zero-bundle components for better performance
Server Actions
Type-safe server mutations
Concurrent Rendering
Improved responsiveness
Automatic Batching
Optimized state updates
React 19 is enforced across the entire monorepo via
resolutions in the root package.json.Runtime & Tooling
Bun 1.2.16
All-in-one JavaScript runtime and package manager.Why Bun?
Why Bun?
Performance Benefits:
- 20x faster package installation vs npm
- Native TypeScript execution
- Built-in bundler and test runner
- Fast task execution
- Package management with workspaces
- Script execution
- Development server
- Test runner
Configuration
Configuration
Turborepo 2.8.10
High-performance monorepo build system.Incremental Builds
Only rebuilds what changed
Remote Caching
Share build cache across teams
Parallel Execution
Maximum CPU utilization
Content Hashing
Smart change detection
Styling
Tailwind CSS 4.1.13
Next-generation Tailwind with Oxide engine.Tailwind v4 Features
Tailwind v4 Features
New in v4:
- Oxide Engine: 10x faster compilation
- Zero Config: Works out of the box
- Native CSS: No more purge configuration
- PostCSS Plugin:
@tailwindcss/postcss@^4.1.13 - Better IntelliSense: Improved autocomplete
Tailwind Plugins
Tailwind Plugins
@tailwindcss/typography@^0.5.16- Beautiful prose styling@tailwindcss/forms@latest- Form element stylingtailwind-merge@^3.3.1- Merge conflicting classestailwind-variants@^3.0.0- Component variantstw-animate-css@^1.3.8- Animation utilitiestailwind-scrollbar-hide@^4.0.0- Hide scrollbars
Design System
Design System
Utility-First Approach:With Class Variance Authority:
UI Component Libraries
Radix UI
Unstyled, accessible component primitives.Radix Components Used
Radix Components Used
Installed Primitives:
@radix-ui/react-dialog@^1.1.15- Modals and dialogs@radix-ui/react-dropdown-menu@^2.1.16- Dropdown menus@radix-ui/react-popover@^1.1.15- Popovers and tooltips@radix-ui/react-select@^2.2.6- Custom select inputs@radix-ui/react-toast@^1.2.15- Toast notifications@radix-ui/react-tabs@^1.1.13- Tab interfaces@radix-ui/react-checkbox@^1.3.3- Checkboxes@radix-ui/react-switch@^1.2.6- Toggle switches@radix-ui/react-slider@^1.3.6- Range sliders@radix-ui/react-accordion@^1.1.2- Accordions- …and 10+ more
- Full keyboard navigation
- Screen reader support
- Focus management
- ARIA attributes
Plate.js 49.1.5
Powerful rich text editor framework.Plate Features
Plate Features
30+ Plugins Installed:
- Basic nodes (paragraphs, headings, lists)
- Basic styles (bold, italic, underline)
- Code blocks with syntax highlighting
- Tables with resizable columns
- Media embeds (images, videos, YouTube)
- Markdown support
- AI-powered suggestions
- Comments and collaboration
- Math equations
- Mentions and autocomplete
- Slash commands
- Drag-and-drop
- Excalidraw diagrams
- Table of contents
Lucide React 0.576.0
Beautiful, consistent icon library.- 1000+ icons
- Tree-shakeable
- Customizable size and color
- Consistent 24x24 grid
State Management
Zustand 5.0.10
Simple, scalable state management
TanStack Query 5.66.9
Powerful data fetching and caching
React Hook Form 7.71.1
Performant form validation
SWR 2.3.3
Stale-while-revalidate data fetching
TanStack Query (React Query)
Features
Features
- Automatic caching and invalidation
- Background refetching
- Optimistic updates
- Infinite queries
- Pagination support
- Devtools for debugging
Zustand
Example Store
Example Store
- Minimal boilerplate
- TypeScript support
- No providers needed
- Middleware support
GraphQL
GraphQL Code Generator 6.1.2
Type-safe GraphQL client generation.Stack
Stack
[email protected]- GraphQL implementation[email protected]- Lightweight GraphQL client@graphql-codegen/[email protected]- Code generator@graphql-codegen/[email protected]- TypeScript types@graphql-codegen/[email protected]- Query types@graphql-codegen/typescript-react-query@^6.1.0- React Query hooks
Workflow
Workflow
- Write
.graphqlquery files - Run
bun run codegen - Import generated hooks
Authentication
NextAuth.js (beta)
Authentication for Next.js applications.Providers Configured
Providers Configured
- GitHub OAuth:
AUTH_GITHUB_ID,AUTH_GITHUB_SECRET - Google OAuth:
AUTH_GOOGLE_ID,AUTH_GOOGLE_SECRET - WebAuthn: Passkey support via
@simplewebauthn/*
- Session management
- CSRF protection
- Secure cookie handling
- Domain restrictions
AI Integration
Vercel AI SDK
Unified AI framework
Google Vertex AI
Gemini models and RAG
Amazon Bedrock
Claude and other models
OpenAI Compatible
GPT and custom models
AI Packages
AI Packages
Vercel AI SDK:
ai@^6.0.49- Core AI SDK@ai-sdk/react@^2.0.102- React hooks@ai-sdk/google@^3.0.0- Google provider@ai-sdk/openai@^1.3.23- OpenAI provider@ai-sdk/amazon-bedrock@^4.0.30- Bedrock provider
@google-cloud/vertexai@^1.10.0- Vertex AI client@google-cloud/aiplatform@^6.0.0- AI Platform@google-cloud/storage@^7.18.0- Cloud Storage
- AI-powered text suggestions in Plate.js
- Chat interfaces with streaming
- Document analysis
- RAG (Retrieval-Augmented Generation)
Data Visualization
Recharts 3.2.0
Composable charting library built on React components.Chart Types
Chart Types
- Line charts
- Bar charts
- Area charts
- Pie charts
- Donut charts
- Composed charts
React Force Graph 2D
Interactive force-directed graph visualization.- Organization hierarchies
- Relationship mapping
- Network diagrams
File Handling
Upload & Processing
Upload & Processing
Upload:
[email protected]- File uploads@uploadthing/[email protected]- React componentsreact-dropzone@^14.2.3- Drag-and-drop
react-pdf@^10.2.0- PDF viewing@react-pdf/renderer@^4.3.2- PDF generationpdf-lib@^1.17.1- PDF manipulationdocx@^9.5.1- Word document generationfile-saver@^2.0.5- Client-side file savinghtml2canvas-pro@^1.5.11- Screenshot capture
Payment Processing
Stripe 18.5.0
Complete payment infrastructure.Features
Features
- Subscription management
- One-time payments
- Customer portal
- Webhook handling
- Invoice generation
STRIPE_SECRET_KEY- Server-side API key
Notifications
Novu 0.24.1
Open-source notification infrastructure.Channels
Channels
- In-app notifications
- Email notifications
- Push notifications
- SMS (configurable)
@novu/node@^0.24.1- Server SDK@novu/notification-center@^0.24.1- React component
Developer Tools
Linting & Formatting
ESLint 10.0.2
JavaScript/TypeScript linting
Prettier 3.5.3
Code formatting
ESLint Configuration
ESLint Configuration
Plugins:
@typescript-eslint/eslint-plugin@^8.55.0eslint-plugin-react@^7.37.5eslint-plugin-react-hooks@^7.0.1eslint-plugin-jsx-a11y@^6.10.2- Accessibilityeslint-plugin-import@^2.32.0- Import ordereslint-config-turbo@^2.8.9- Turborepo rules@vercel/style-guide@^6.0.0- Vercel conventions
Prettier Configuration
Prettier Configuration
- Automatically sorts Tailwind classes
- Consistent class ordering
Testing
Jest 29.7.0
Jest 29.7.0
Unit and integration testing framework.Configured in Console app for:
- Component testing
- Utility function testing
- API route testing
Additional Libraries
Form Handling
Form Handling
react-hook-form@^7.71.1- Form state management@hookform/resolvers@^5.2.2- Validation resolverszod@^3.24.2- Schema validationinput-otp@^1.4.2- OTP inputemblor@^1.4.7- Tag input
UI Utilities
UI Utilities
date-fns@^4.1.0- Date manipulationreact-day-picker@^9.8.0- Calendar pickerclsx@^2.1.1- Conditional classesclass-variance-authority@^0.7.1- Component variantscmdk@^1.1.1- Command menusonner@^2.0.6- Toast notificationsnext-themes@^0.4.0- Theme management
Drag & Drop
Drag & Drop
@dnd-kit/core@^6.3.1- DnD toolkit@dnd-kit/sortable@^10.0.0- Sortable listsreact-dnd@^16.0.1- React DnDreact-dnd-html5-backend@^16.0.1- HTML5 backend
Media & Embeds
Media & Embeds
react-player@^3.3.1- Video playerreact-lite-youtube-embed@^2.5.1- YouTube embedsreact-tweet@^3.2.2- Twitter embedsqrcode.react@^4.2.0- QR code generationreact-circle-flags@^0.0.27- Country flags
Environment Variables
Over 40 environment variables configure the application:Core Settings
Core Settings
NODE_ENV- Environment (development/production)API_REST_URL- Backend API URLNEXT_PUBLIC_OPENLANE_URL- Public Openlane URL
Authentication
Authentication
AUTH_GITHUB_ID/AUTH_GITHUB_SECRETAUTH_GOOGLE_ID/AUTH_GOOGLE_SECRETSESSION_COOKIE_NAME/SESSION_COOKIE_DOMAINNEXT_PUBLIC_ALLOWED_LOGIN_DOMAINS
AI & Analytics
AI & Analytics
GOOGLE_AI_PROJECT_ID/GOOGLE_AI_REGIONGOOGLE_SERVICE_ACCOUNT_KEY_B64GOOGLE_RAG_CORPUS_IDNEXT_PUBLIC_AI_SUGGESTIONS_ENABLEDPIRSCH_SECRET/PIRSCH_CLIENT_ID
Integrations
Integrations
STRIPE_SECRET_KEYDEVREV_AAT- Customer supportRECAPTCHA_SECRET_KEYOPENLANE_API_WRITE_TOKEN
Version Summary
| Technology | Version | Purpose |
|---|---|---|
| React | 19.2.4 | UI framework |
| Next.js | 16.1.6 | App framework |
| TypeScript | 5.x | Type safety |
| Tailwind CSS | 4.1.13 | Styling |
| Bun | 1.2.16 | Package manager |
| Turborepo | 2.8.10 | Build system |
| Node.js | 24.14.x | Runtime |
| TanStack Query | 5.66.9 | Data fetching |
| Zustand | 5.0.10 | State management |
| GraphQL | 16.13.0 | API layer |
| Radix UI | Latest | UI primitives |
| Plate.js | 49.1.5 | Rich text editor |
| Recharts | 3.2.0 | Charts |
| Stripe | 18.5.0 | Payments |
Related Resources
Monorepo Structure
Learn about the Turborepo setup
Packages Overview
Explore all packages in detail