>_ DevTrendsen

Language

Home

Languages

Sections

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Security
TypeScript

How to Build a Linear-Style Interface with Next.js and shadcn/ui

Linear's interface has long been the gold standard for project management tools. Fast, minimal, with thoughtful keyboard navigation and a dark theme by default. It's no surprise that many web developers dream of recreating a similar UX in their own products or pet projects.

Recently, I came across the open-source Circle repository by French developer ln-dev7. It's a neat task, project, and team tracking dashboard built with Next.js, TypeScript, and shadcn/ui. The project has gathered over three thousand stars on GitHub, and there are good reasons for that.

Why Another Dashboard Template

Anyone who's tried building complex admin panels knows the drill. You need to scaffold a project, configure a sidebar, build tables with filters, lay out task cards, set up theme switching, and tweak responsiveness for mobile screens. In the end, half the time goes to basic layout rather than business logic.

Circle offers a ready-made UI skeleton that looks straight out of Linear's product system. It includes:

  • Pages for viewing task lists with filtering by status and priority
  • Section for managing projects and teams
  • Thoughtful dark mode and clean typography
  • Ready-to-use UI components based on Tailwind CSS

That said, it's important to understand the limits. The repository contains only the frontend, not a full backend with a database. All data handling relies on client state and mocks. If you need a ready-to-deploy service for your team, Circle won't work out of the box. But as a starting point for your own application, it's an excellent tool.

Under the Hood

The author didn't reinvent the wheel and went with a familiar stack.

At its core is the Next.js React framework with App Router. All styling is done via Tailwind CSS, and components are built on shadcn/ui. For those unfamiliar: shadcn/ui is not a traditional component library like Material UI or Ant Design. Instead of installing a heavy dependency, you copy the source code of the components you need directly into your project tree and customize them as you see fit.

The code is written in TypeScript. The directory structure is standard for Next.js:

  • The app folder contains routing and application pages
  • Folder components holds reusable interface elements and shadcn/ui blocks
  • Folder lib contains utilities and helpers for working with styles
  • The public folder stores static icons and graphics

Because of this, the project is easy to customize. Want to change color accents? Edit the Tailwind variables. Need to add a new type of task table? Copy an existing React component and modify its props.

Quick Start and Working with the Project

You can spin up the project locally in just a couple of minutes. You'll need Node.js and the pnpm package manager.

First, clone the repository:

git clone https://github.com/ln-dev7/circle.git
cd circle

Install dependencies and start the development server:

pnpm install
pnpm dev

After that, the app is available at http://localhost:3000. The first thing you notice is how smooth it feels. Transitions between sections happen without delays, and the components are neatly laid out.

If you plan to use Circle as a foundation for a real service, you'll need to hook up a backend to the UI. The simplest path is to connect Supabase, Prisma with PostgreSQL, or Server Actions in Next.js. You'll need to rewrite the local mocks to queries against your database and set up authentication.

What's the Practical Value

I'd highlight two main scenarios where Circle will save you time.

First, it's a quick start for pet projects and prototypes. If you're building a task tracker, CRM system, or internal management panel for a client, UI layout usually eats up days of work. With Circle, you get a ready-made design with sensible spacing and a proper color palette.

Second, it's a solid codebase for learning shadcn/ui and Next.js approaches. You can peek at how the author organizes layouts, builds complex tables, and configures interface components.

What's Missing

The repository's README is fairly sparse. It practically lacks any architecture description or guides for extending it. You're left to figure things out on your own, though the code itself is clean and readable.

Also keep in mind that basic controls here rely on standard shadcn/ui patterns. If you need complex drag-and-drop logic for Kanban boards or real-time updates via WebSockets, all of that will need to be built and configured from scratch.

Circle is a solid open-source interface template for anyone who likes Linear's aesthetic and the Next.js with Tailwind CSS stack. The project doesn't claim to be a ready-made task tracker out of the box, but as a starting point for your own frontend, it saves dozens of hours of routine layout work.

If you're planning a new project with task tracking or just looking for a fresh shadcn/ui template, definitely check out the repository.

Related projects