◉ Pulse
moumen-soliman avatar
#56 today ▲ 1

moumen-soliman/lab

TypeScript AI #javascript #ui-components

A small lab of the components we build every day, rethought for better feel. Each one does one thing well, built in React and fully Tailwind, and available in the shadcn registry - copy the source

Created Jul 22, 2026
Stars
12
Today
+4
Forks
0
Quality
100/100
Momentum
21

README

Fetched from GitHub on Oct 30, 2026, 10:16 PM UTC · README.md

View original on GitHub

Third-party content — Open Source Pulse is not the owner of this repository.

This README belongs to moumen-soliman/lab and its contributors. We fetch it directly from the project’s public GitHub repository and display it for reference only. All text, code, images and trademarks remain the property of their respective authors. See the repository for its license terms. Copyright / takedown policy.

moumenlab

moumenlab

Less is more. A small lab of the components we build every day, rethought for better feel. Copy the source if that’s all you need. Stay for how each one was built, dead ends included, written for frontend and design engineers who want the why. In React, fully Tailwind.

Browse · Report a bug · Feature request

License Issues npm

moumenlab

Features

  • Everyday components, rethought - Menus, OTP inputs, upload staging, command palettes, and more - each built to do one thing well
  • Watch, then install - Short looping clips on lab.moumen.dev; open any for the live demo, blueprint, and source
  • shadcn registry - Install with npx moumenlab add or the shadcn CLI; you own the code, no runtime package
  • Fully Tailwind - No CSS files to import; shared tokens (lab-theme) merge into your @theme on install
  • Motion-first - Animations with motion/react; interruptible, layout-aware, reduced-motion aware

Install a component

npx moumenlab add hover-expand-icon-strip
npx moumenlab add schedule-builder -c apps/web   # monorepo: target the app workspace
npx moumenlab list

Or use the shadcn CLI directly:

npx shadcn@latest add https://lab.moumen.dev/r/hover-expand-icon-strip.json

Either way the component and its shared theme tokens are copied into your project.

Requirements

  • React 19
  • Tailwind CSS v4
  • motion (installed automatically by the CLI)
  • Node.js 18+

Turbo Monorepo

  • Managed with Turborepo and pnpm workspaces
  • Run tasks via turbo run <script> (e.g. pnpm --filter web dev for the showcase)
  • Node.js 20+ is required for the monorepo tooling
apps/web              Showcase site (Next.js App Router + React 19 + Tailwind v4)
  app/                Routes: / (landing), /components, /components/[slug]
  registry/lab/*      Installable component sources (one folder each)
  registry.json       Registry source of truth (metadata + files)
  src/showcases/*     Per-component live demos
packages/moumenlab    The `npx moumenlab` CLI

Tech Stack

Getting Started

Install dependencies:

pnpm install

Run the development server:

pnpm dev

Open http://localhost:3001 in your browser (web app port).

Useful scripts:

pnpm build          # build everything
pnpm check          # zero-custom-CSS + registry invariants
pnpm typecheck      # TypeScript across the monorepo

Usage

Browse components at lab.moumen.dev/components, open any for the live playground, then install into your app:

npx moumenlab add otp-segmented-input drag-to-reorder-list

Component pages are statically generated from registry.json. Registry payloads at /r/*.json are built on every deploy - the same file the site shows (highlighted) and the CLI installs.

Add a component

cd apps/web
pnpm new:component "Radial Dial" radial-dial

That scaffolds the installable stub, the showcase, and wires registry.json + showcase entries. Then write the component (Tailwind only - see CONTRIBUTING.md) and optionally drop a clip in public/lab.

Contributing

Contributions are welcome! Please read our Contributing Guide and Code of Conduct before submitting pull requests.

License

MIT © Moumen Soliman

Rendered by GitHub from the repository’s README. Scroll to read the full file.
First trending

Jul 23, 2026

first spotted on the list

Best rank

#28

highest position reached

Appearances

2

times on the trending list

Quality score

100

out of 100

Momentum

21

trend strength indicator

Star velocity

0.12

stars per day since creation

Activity — last 60 days

daily counts, collected every 6 hours
  • Stars
  • Forks
  • Merged PRs
  • Issues
  • Closed issues

Collecting activity data since launch — check back in a few days.

Star history

total stars per snapshot
78910111213moumen-soliman/lab · Jul 23, 8 AM UTC: 8 starsmoumen-soliman/lab · Jul 23, 2 PM UTC: 12 stars8:35 AM11:22 AM2:09 PM

Rank history

position on trending · lower is better
#1#25#30#35#40#45#50#55#60Jul 23, 8 AM UTC: rank #28Jul 23, 2 PM UTC: rank #568:35 AM11:22 AM2:09 PM

3D card for your website

Live HTML card with a glass surface and pointer tilt. Paste the iframe on any website.

<iframe src="https://www.notionpulse.cc/embed/moumen-soliman/lab" width="420" height="240" style="border:0;max-width:100%;background:transparent" loading="lazy" title="moumen-soliman/lab — trending on Open Source Pulse"></iframe>

Stars badge

Show current stars in your README or profile. Auto-updates every 6 hours.

moumen-soliman/lab stars badge
Markdown
[![moumen-soliman/lab](https://www.notionpulse.cc/api/badge/moumen-soliman/lab.svg)](https://www.notionpulse.cc/repo/moumen-soliman/lab)
HTML
<a href="https://www.notionpulse.cc/repo/moumen-soliman/lab"><img src="https://www.notionpulse.cc/api/badge/moumen-soliman/lab.svg" alt="moumen-soliman/lab stars badge" /></a>

Repository of the Day

#28 Repository of the Day

Repository of the Week

#28 Repository of the Week

Repository of the Month

#28 Repository of the Month