npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

open-makeup-sdk

v0.1.0

Published

Open-source AR virtual makeup SDK for the web — real-time face tracking (MediaPipe) + WebGL/Three.js shaders, face morphing, and no licensing lock-in.

Readme

💄 OpenMakeupSDK

Open-source, real-time AR virtual makeup & face reshape SDK for the web

The open alternative to closed commercial AR beauty SDKs — runs entirely in the browser, no backend, no per-call fees, no licensing lock-in.

npm version License: MIT PRs Welcome GitHub issues GitHub stars

Live Demo

Three.js WebGL MediaPipe GLSL Runs in No backend


▶️ Try the live demo →

Point your webcam, pick a look, and reshape your face in real time — no install, no upload. Runs fully in the browser · needs camera access · best on Chrome (desktop / Android)


✨ Why OpenMakeupSDK?

Commercial AR beauty SDKs (YouCam / Perfect Corp, Banuba, ModiFace…) are powerful — but they're closed-source, licensed, and often metered per call. OpenMakeupSDK gives you the same core experience as a free, MIT-licensed package you can read, fork, self-host, and ship without asking anyone for permission.

It's a real-time AR makeup mirror and a beauty face-reshape engine, built on MediaPipe face tracking + custom WebGL/GLSL shaders, running fully client-side.

Built over years of production AR work — and battle-tested before most of today's web makeup SDKs existed.


🚀 Features

💋 Virtual makeup

  • Real-time face tracking — 468-point MediaPipe FaceMesh, runs live on a webcam.
  • 6 makeup categoriesfoundation, blush, lipstick, eyeliner, mascara, eyeshadow.
  • 73 ready-to-use pattern textures out of the box.
  • Material finishesmatte, shimmer, glossy, glitter (where the category supports it).
  • Custom GLSL shaders for believable blending, glossiness, glitter and skin response — not flat overlays.
  • Smart defaults — every parameter has one. No color on eyeliner? It's black. No color on lipstick? Plug in your own AI color provider.
  • Pluggable colors & patterns — any hex color, pattern by simple number or by id.

🧬 Face reshape (morph / blend shapes)

Project the live camera image onto a morphable 3D face mesh, so the user's actual face reshapes in real time:

| Control | What it does | |---|---| | browLift | lift the outer brow corner | | lipPlump / lipPlump2 | plump the lips (filler look) | | noseSlim | narrow the nose | | noseBridge | reduce the nose-bridge prominence between the eyes | | cheeks | fuller cheeks | | jawAngle | define the jaw angle | | jawWide | move the jaw angle away from the ear |

…all driven by blend shapes baked into the included 3D rig — and the Blender source is shipped, so you can author your own.

🧰 Developer experience

  • Drop-in, framework-agnostic — plain ES modules, works with any stack.
  • Zero backend — everything runs client-side.
  • Config-driven assets — move the assets/ folder anywhere; one base URL updates every path.
  • No vendor lock-in — MIT, yours to ship.

⚡ Quick start

npm install open-makeup-sdk three @mediapipe/face_mesh @mediapipe/camera_utils
import { OpenMakeup } from 'open-makeup-sdk';

const mk = new OpenMakeup({
  video:        document.querySelector('#camera'),
  renderCanvas: document.querySelector('#output'),
  assetsBaseUrl: '/assets',
});

await mk.init();

// makeup
mk.apply('lipstick',  { color: '#b4002e', finish: 'glossy' });
mk.apply('eyeshadow', { color: '#7a3b9d', pattern: 3, finish: 'glitter' });
mk.apply('eyeliner',  { pattern: 1 });          // defaults to black

// face reshape
mk.morph({ noseSlim: 0.6, cheeks: 0.3, jawWide: 0.4, browLift: 0.5 });

mk.clearAll();   // remove makeup
mk.resetMorph(); // reset the face shape

MediaPipe's runtime can be loaded from npm or a CDN <script> tag — your choice.


🆚 OpenMakeupSDK vs. commercial SDKs

| | OpenMakeupSDK | Commercial AR beauty SDKs | |---|:---:|:---:| | Price | Free | Paid license / per-call fees | | Source | Fully open (MIT) | Closed | | Runs in the browser | ✅ | ✅ | | Backend required | None | Often | | Self-hostable | ✅ | ❌ | | Editable shaders & 3D rig | ✅ | ❌ | | Face reshape (morph) | ✅ | Usually premium | | Lock-in | None | Yes |


🗺️ Roadmap

  • [x] Real-time makeup engine (6 categories, finishes, 73 patterns)
  • [x] Public OpenMakeup API with smart defaults
  • [x] Face reshape via blend shapes
  • [x] Interactive playground + hosted live demo
  • [x] TypeScript types
  • [ ] npm release v1.0

🤝 Let's build something together

I'm Ehsan — I've spent years building real-time AR, 3D rendering, SLAM, computer-vision and AI systems, end to end. OpenMakeupSDK is a slice of that work, opened up.

If this project resonates with you:

  • 🧑‍💻 Hiring for AR / WebGL / 3D / computer-vision work? I'm open to remote contract & freelance projects — let's talk.
  • 🧩 Integrating this into your product, or want a custom feature? Reach out.
  • 🛠️ Contributing? PRs and issues are very welcome.

Get in touch

⭐ If OpenMakeupSDK saved you a five-figure SDK license, drop it a star — it genuinely helps.

Star History Chart


📄 License

MIT © Ehsan Moradi — use it, ship it, build on it.