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

kolam-maker

v1.0.0

Published

Kolam Maker: generate South Indian sikku kolams, dot-grid designs where a single unbroken line loops around every dot. Watch it being drawn, edit it, and download it as SVG or PNG.

Readme

Kolam-Maker

Generate a South Indian kolam right in your browser: a grid of dots, and a single unbroken line that loops around every one of them and comes back to where it began. Watch it being drawn, change it with a click, and save it as an SVG or a PNG. No sign-up and no libraries.

Kolam Maker

What it does

Every morning in Tamil Nadu, women draw a kolam on the doorstep with rice flour. In the sikku (or kambi) kolam, the line never ends: one closed loop goes around every dot.

  • Dots: a square grid (2 to 13 dots per side), the classic diamond (1-3-5-7-5-3-1...) or a rectangle.
  • New kolam: a new design, with a single line, different every time.
  • Turns: few turns give long diagonal sweeps, many turns give small loops around the dots.
  • Symmetry: four-fold (turning), mirror, two-fold or none.
  • Click between two dots to change how the line passes there (crossing, or turning one way or the other). When the design falls apart into several lines, each one gets its own color, and Make it one line joins them again.
  • Draw it: watch the line being drawn in one stroke, at the pace you choose.
  • Look: rice flour on red earth, a granite doorstep, festival colors, chalk or ink, with the line width, the roundness of the loops, the dots and a powder texture.
  • Save: Download PNG (2000 pixels square) or Download SVG. The address of the page keeps the kolam, to share it.

How it works

A sikku kolam is a mirror curve: halfway between two neighboring dots, the line either crosses itself or bounces back as if off a little two-sided mirror, and on the border it always bounces back. Follow it from anywhere and it loops around dot after dot until it comes home. Paulus Gerdes found the same curves in the sona sand drawings of Angola, and Slavik Jablan studied them as mirror curves.

To find a single line: with no mirrors, a square of n by n dots holds n separate lines. A mirror where two different lines cross always joins them into one. Where a line crosses itself, one mirror keeps it whole and the other cuts it in two. So the page places mirrors in random order (by symmetric groups of four), keeps only those that never cut, and adds more until one line is left.

How it is built

Plain HTML, CSS and JavaScript, with no dependencies and no build step. Just open index.html. It is also a small installable web app that works offline.

  • The kolam is one SVG, and the whole algorithm is in js/kolam.js.
  • The three color themes (dark, light and blue) are shared with my other projects, copied from omg-themes (npm run sync:themes refreshes them).

Kolam-Maker is open source at GitHub with MIT license.

Had fun browsing the app? Buy me a coffee by becoming a sponsor.

You may also be interested in Celtic-Knot-Maker (demo), which weaves the same mirror curves over and under, and in Mandala-Maker (demo), Sri-Yantra (demo) and Labyrinth-Maker (demo). For more mystic arts as small web apps, see Esoterica.

Copyright (c) 2026 Olivier Giulieri.