Source: https://seerepo.com/r/henrygd/beszel/built
Markdown source: https://seerepo.com/r/henrygd/beszel/built.md
Description: beszel is a Go repo built with Vite and React. It reaches its data with github.com/pocketbase/dbx and signs people in with golang.org/x/oauth2.

# What is beszel built with?

beszel is a Go repo built with Vite and React. It reaches its data with github.com/pocketbase/dbx, signs people in with golang.org/x/oauth2, makes its content with howett.net/plist and shiki, validates its data with valibot, is tested with github.com/stretchr/testify, deploys with github.com/coreos/go-systemd/v22, and uses pocketbase. It has 98,047 written lines, with 153 test files.

Read on November 8, 2026, at commit 85d168c.

Repository: https://github.com/henrygd/beszel

## Backend (/)

### Data access

- **github.com/pocketbase/dbx**: 20 files

### Sign-in

- **[golang.org/x/oauth2](https://seerepo.com/uses/golangorg-x-oauth2)**: 1 file

## Support (/)

### Content

- **[howett.net/plist](https://seerepo.com/uses/howettnet-plist)**: 1 file

### Testing

- **github.com/stretchr/testify**: 125 files

### Deploy

- **[github.com/coreos/go-systemd/v22](https://seerepo.com/uses/githubcom-coreos-go-systemd-v22)**: 1 file

### Tools

- **github.com/spf13/cobra**: 2 files

### Other

- **LibreHardwareMonitorLib**
- **github.com/shirou/gopsutil/v4**: 15 files
- **github.com/fxamacker/cbor/v2**: 12 files
- **github.com/blang/semver**: 10 files
- **golang.org/x/crypto**: 9 files
- **github.com/lxzan/gws**: 7 files
- **golang.org/x/sys**: 7 files
- **github.com/gliderlabs/ssh**: 3 files
- **github.com/distribution/reference**: 2 files
- **github.com/ebitengine/purego**: 2 files
- **golang.org/x/net**: 2 files
- **github.com/mdlayher/genetlink**: 1 file
- **github.com/mdlayher/netlink**: 1 file
- **github.com/opencontainers/go-digest**: 1 file
- **github.com/safchain/ethtool**: 1 file
- **github.com/spf13/cast**: 1 file
- **github.com/spf13/pflag**: 1 file
- **golang.org/x/exp**: 1 file
- **gopkg.in/yaml.v3**: 1 file

## Frontend (internal/site)

### The base

- **[Vite](https://seerepo.com/uses/vite)**: [in internal/site/package.json](https://github.com/henrygd/beszel/blob/85d168c385907293c116814590bc468c82783154/internal/site/package.json)
- **[React](https://seerepo.com/uses/react)**: 89 files · [in internal/site/package.json](https://github.com/henrygd/beszel/blob/85d168c385907293c116814590bc468c82783154/internal/site/package.json)

### Styles

- **[Tailwind CSS](https://seerepo.com/uses/tailwind-css)**
- **[class-variance-authority](https://seerepo.com/uses/class-variance-authority)**: 5 files
- **[tailwind-merge](https://seerepo.com/uses/tailwind-merge)**: 1 file

### Interface

- **[Radix UI](https://seerepo.com/uses/radix-ui)**: 16 files
- **[TanStack](https://seerepo.com/uses/tanstack)**: 14 files
- **[recharts](https://seerepo.com/uses/recharts)**: 3 files
- **[cmdk](https://seerepo.com/uses/cmdk)**: 1 file
- **[input-otp](https://seerepo.com/uses/input-otp)**: 1 file

### Icons

- **[Lucide](https://seerepo.com/uses/lucide)**: 55 files

## Backend (internal/site)

### Data

- **pocketbase**: 6 files

## Support (internal/site)

### Content

- **[shiki](https://seerepo.com/uses/shiki)**: 2 files

### Validation

- **[valibot](https://seerepo.com/uses/valibot)**: 3 files

### Other

- **lingui**: 43 files
- **Nano Stores**: 36 files
- **clsx**: 3 files
- **d3-time**: 2 files

## Other repos with a similar stack

- [shadcn-ui/ui](https://seerepo.com/r/shadcn-ui/ui/built): Vite, React, Tailwind CSS, class-variance-authority, Radix UI, TanStack, recharts, cmdk, input-otp, Lucide, shiki · [Compare](https://seerepo.com/compare/henrygd/beszel/vs/shadcn-ui/ui)
- [QuantumNous/new-api](https://seerepo.com/r/QuantumNous/new-api/built): React, golang.org/x/oauth2, Tailwind CSS, class-variance-authority, tailwind-merge, TanStack, recharts, cmdk, input-otp, Lucide, shiki · [Compare](https://seerepo.com/compare/henrygd/beszel/vs/QuantumNous/new-api)
- [supabase/supabase](https://seerepo.com/r/supabase/supabase/built): Vite, React, Tailwind CSS, class-variance-authority, Radix UI, recharts, cmdk, input-otp, Lucide, shiki · [Compare](https://seerepo.com/compare/henrygd/beszel/vs/supabase/supabase)
- [OpenCut-app/OpenCut](https://seerepo.com/r/OpenCut-app/OpenCut/built): Vite, React, Tailwind CSS, class-variance-authority, tailwind-merge, Radix UI, TanStack, recharts, cmdk, input-otp · [Compare](https://seerepo.com/compare/henrygd/beszel/vs/OpenCut-app/OpenCut)
- [ruvnet/ruflo](https://seerepo.com/r/ruvnet/ruflo/built): Vite, React, Tailwind CSS, class-variance-authority, tailwind-merge, Radix UI, recharts, cmdk, input-otp, Lucide · [Compare](https://seerepo.com/compare/henrygd/beszel/vs/ruvnet/ruflo)
- [unslothai/unsloth](https://seerepo.com/r/unslothai/unsloth/built): Vite, React, Tailwind CSS, class-variance-authority, tailwind-merge, Radix UI, TanStack, recharts, cmdk, Lucide · [Compare](https://seerepo.com/compare/henrygd/beszel/vs/unslothai/unsloth)

## Frequently asked questions

### What language is beszel written in?

beszel is written in Go, with 98,047 written lines.

### What framework does beszel use?

beszel is built with Vite and React.

The proof: [in internal/site/package.json](https://github.com/henrygd/beszel/blob/85d168c385907293c116814590bc468c82783154/internal/site/package.json)

### What does beszel sign people in with?

beszel signs people in with golang.org/x/oauth2.

### What services does beszel use?

beszel uses pocketbase.

### Does beszel have tests?

Yes. beszel has 153 test files and is tested with github.com/stretchr/testify.

### Which repos have a stack like beszel's?

The ones that share most of its stack: shadcn-ui/ui, QuantumNous/new-api, and supabase/supabase.

## What is your repo built with?

Any public repo, with no account: https://seerepo.com/r/owner/repo/built, with the owner and name it has on GitHub.
