# What Frameworks Does Oblien/Openship Use? Complete Tech Stack Breakdown

> Explore the Oblien/Openship tech stack. Discover its use of Next.js, React, Electron, Hono, Turborepo, and Drizzle ORM for a unified monorepo.

- Repository: [oblien/openship](https://github.com/oblien/openship)
- Tags: architecture
- Published: 2026-07-29

---

**Oblien/Openship leverages Next.js 16, React 19, Electron 40, Hono 4, Turborepo, and Drizzle ORM to power its web dashboard, desktop client, and API server within a unified TypeScript monorepo.**

The oblien/openship repository implements a modern logistics platform using a carefully selected suite of **oblien/openship frameworks** optimized for performance and developer experience. This article examines the specific technologies defined in the source code, from the frontend React layers to the backend Hono API routes.

## Next.js 16 and React 19 Drive the Web Interface

The web dashboard and public documentation site rely on **Next.js** version 16, a React-based server-side rendering framework. According to [`apps/web/package.json`](https://github.com/oblien/openship/blob/main/apps/web/package.json), the project pairs Next.js with **React** version 19 to supply the component model for all frontend code. The same manifest declares **Tailwind CSS** as the utility-first styling framework, providing the design system shared across the web and desktop interfaces.

## Electron 40 Powers the Cross-Platform Desktop Client

For native desktop functionality, Openship wraps its React UI inside **Electron** version 40. The [`apps/desktop/package.json`](https://github.com/oblien/openship/blob/main/apps/desktop/package.json) file configures this cross-platform shell to bundle the dashboard into installable applications for Windows, macOS, and Linux. This approach allows the project to maintain a single React codebase while delivering a native desktop experience with system-level integrations.

## Hono 4 Handles API Routes and Server Logic

The backend relies on **Hono** version 4, a lightweight, fast HTTP router for Node.js specified in [`apps/api/package.json`](https://github.com/oblien/openship/blob/main/apps/api/package.json). This framework manages REST and GraphQL endpoints, webhook processing, and background job queues. The API layer uses **BullMQ** for job scheduling alongside Hono's middleware architecture to handle high-throughput logistics operations efficiently.

## Drizzle ORM Manages Database Interactions

Database operations are type-safe thanks to **Drizzle**, configured in [`packages/db/package.json`](https://github.com/oblien/openship/blob/main/packages/db/package.json). This ORM generates and runs migrations for the internal PostgreSQL database, ensuring schema consistency across development and production environments. The [`packages/core/package.json`](https://github.com/oblien/openship/blob/main/packages/core/package.json) complements this with **Zod** for runtime schema validation, creating end-to-end type safety from API to database.

## Turborepo Orchestrates the Monorepo Build Pipeline

Build coordination across the `apps/*` and `packages/*` directories is managed by **Turborepo**, declared in the root [`package.json`](https://github.com/oblien/openship/blob/main/package.json). This high-performance build system caches compilation outputs and parallelizes tasks across the Next.js, Electron, and Hono applications. The toolchain leverages **Bun**, **TSUP**, and **ESBuild** for rapid TypeScript compilation and bundling, with scripts defined in various workspace manifests.

## Running the Development Environment

To start the **Next.js** development server for the web interface, navigate to the web application directory:

```bash
cd apps/web
bun install
bun dev

```

This executes the `next dev` command configured in [`apps/web/package.json`](https://github.com/oblien/openship/blob/main/apps/web/package.json), typically exposing the dashboard on port 3009.

For the **Electron** desktop client, use:

```bash
cd apps/desktop
bun install
bun run dev

```

The `dev` script in [`apps/desktop/package.json`](https://github.com/oblien/openship/blob/main/apps/desktop/package.json) triggers `node scripts/dev.mjs`, which builds TypeScript sources and launches Electron with hot-reload enabled.

To launch the **Hono** API server:

```bash
cd apps/api
bun install
bun dev

```

This command, defined in [`apps/api/package.json`](https://github.com/oblien/openship/blob/main/apps/api/package.json), uses TSX to watch [`src/index.ts`](https://github.com/oblien/openship/blob/main/src/index.ts) and serve requests via the Hono framework.

## Summary

- **Next.js 16** and **React 19** render the web dashboard and documentation site, configured in [`apps/web/package.json`](https://github.com/oblien/openship/blob/main/apps/web/package.json).
- **Electron 40** wraps the UI into a native desktop client, defined in [`apps/desktop/package.json`](https://github.com/oblien/openship/blob/main/apps/desktop/package.json).
- **Hono 4** provides the HTTP routing and API logic, specified in [`apps/api/package.json`](https://github.com/oblien/openship/blob/main/apps/api/package.json).
- **Drizzle ORM** handles type-safe database operations from [`packages/db/package.json`](https://github.com/oblien/openship/blob/main/packages/db/package.json).
- **Turborepo** coordinates builds and caching across all workspaces via the root [`package.json`](https://github.com/oblien/openship/blob/main/package.json).

## Frequently Asked Questions

### Which frontend framework does Openship use for its web dashboard?

Openship uses **Next.js** version 16 with **React** version 19 to render the web dashboard and public documentation. The configuration in [`apps/web/package.json`](https://github.com/oblien/openship/blob/main/apps/web/package.json) specifies these dependencies alongside **Tailwind CSS** for styling, creating a server-side rendered React application optimized for logistics workflows.

### How does Openship deliver its desktop application?

The project utilizes **Electron** version 40 to package the React-based dashboard as a cross-platform desktop application. According to [`apps/desktop/package.json`](https://github.com/oblien/openship/blob/main/apps/desktop/package.json), the build process compiles TypeScript sources and bundles them into native executables for Windows, macOS, and Linux while sharing the same UI components as the web version.

### What database technology does the Openship API use?

The API layer integrates **Drizzle ORM** for type-safe database interactions with PostgreSQL. This configuration resides in [`packages/db/package.json`](https://github.com/oblien/openship/blob/main/packages/db/package.json) and works alongside **Zod** validation defined in [`packages/core/package.json`](https://github.com/oblien/openship/blob/main/packages/core/package.json) to ensure schema integrity across the TypeScript stack from API endpoints to database migrations.

### Why does Openship use Hono instead of Express for the API?

The project chose **Hono** version 4 for its lightweight, fast HTTP routing capabilities and excellent TypeScript support. As implemented in [`apps/api/package.json`](https://github.com/oblien/openship/blob/main/apps/api/package.json), Hono provides the middleware architecture necessary for handling REST endpoints, GraphQL queries, and webhook processing with minimal overhead compared to traditional Node.js frameworks.