Lucky Dangle

2026 · Independent

software

Problem

Across cultures, people hang lucky charms at thresholds. A nazar boncuğu over a doorway in Istanbul. A lemon and seven green chilies on a shop front in Chennai. A horseshoe over a barn door, points up so the luck stays in. The threshold I cross most days is the top edge of a screen, and it is bare.

I wanted to bring those objects, and the small rituals around them, to a place they have never hung. That is the entire brief. Some things you build just because life needs joy too. And plenty of serious tools looked like toys at first.

Process

It began as two notebook pages: charms dangling from threads, a gallery to pick them from, an “any emoji” escape hatch, and a note to self that reads just for fun, laptop need not be boring.

The first notebook spread: charm doodles hanging from threads, a library with any-emoji and suggest entries, and the note “just for fun, laptop need not be boring” A notebook wireframe of the gallery window: a grid of large charm cards, each with a hanging charm and a plaque of text below

The physics came from this very website. The pull cord that switches this site’s dark mode is a 12-point verlet rope I liked too much to use only once, so I ported it into Swift: same solver, same feel, retuned for 120Hz. The charm hangs on that rope, sways in an idle wind, leans away from a passing cursor, and swings properly when flicked or grabbed. Clicks pass straight through it. It is decoration until you reach for it.

The artwork fought me longer. The target was “a really detailed iOS emoji”, so charms with a real emoji use the system glyph, and everything else needed original art. I drew the drishti bommai by hand in SwiftUI thirteen times, and the daruma nine times, before admitting that a generated master, briefed with a written spec and reference photos, painted better than I could vector. The final pipeline is both: generated masters, then measured and wired in by hand. The daruma’s pupils are vector overlays at flood-fill-measured centers so the wish ritual can paint them in. The maneki-neko’s beckoning arm is a separately generated layer that rotates on a measured shoulder pivot.

Nine hand-drawn SwiftUI iterations of the daruma played in sequence, slowly finding its face Thirteen hand-drawn iterations of the drishti bommai played in sequence, from a comical first draft to the final top-hung mask

Along the way, seven became the design law. Seven chilies on the garland, seven nail holes in the horseshoe, seven days of garland freshness, seven drishti repaints. The app is about luck, so the lucky number soaks into its bones.

The other rule is care. Every charm is researched from its real tradition and gets a one-sentence museum plaque, twelve words at most. No deities, no sacred objects that get appropriated. It should feel like a tiny museum, not a sticker pack.

Solution

Lucky Dangle is a macOS menu bar app that hangs a lucky charm on a thread from the top of your screen. It sways while you work and stays out of every click. You can fidget with it, grab it, flick it, or summon and dismiss it with a hotkey. Before a deploy or a big demo, open "luckydangle://bless" brings the charm forward and performs its ritual.

Each charm answers that ritual in its own way. The daruma gets one eye painted when you make a wish and the other when it comes true. The maneki-neko beckons, then winds down slowly like a battery cat. The drishti bommai cycles through seven paints. The scarab unfurls gold wings, holds a glide, and tucks them away. The nimbu-mirchi hangs a fresh garland, and the one on screen dries out over the week the way the real one on a shop front does. That decay was my wife’s idea, and it is my favorite detail in the app.

The two charms closest to me are the ones I grew up around: the nimbu-mirchi and the drishti bommai, the everyday guardians of South Indian shop fronts and doorways. Hanging them on my Mac felt like bringing something from home to where I actually spend my days. And if your lucky object is none of the nine, there is an any-emoji slot: pick a glyph and it hangs from the same thread, with a tiny twin of itself as the middle bead.

Impact

Lucky Dangle launched in August 2026 at luckydangle.app, signed, notarized, and sold at lucky prices: $7.77, or $11.11 if you are feeling extra lucky. The landing page hangs the same rope in JavaScript, so the first thing a visitor meets is the actual physics, and the rope is back home on the web where it started.

Launch poster for the nimbu-mirchi charm, seven chilies and a lemon glowing against deep green Launch poster for the drishti bommai charm, the fierce mask glowing against temple orange

It is early days and deliberately so. This is a living project: more charms are researched and waiting (a cornicello, a Chinese knot, an omamori, a sarimanok), and the gallery will keep growing. Every museum needs new acquisitions.

  • The nimbu-mirchi garland unstrung, seven green chilies, a lemon and a lump of coal, each painted as its own element
  • The drishti bommai master, a fierce red painted-clay guardian mask with white horns, tusks, a gem headband and a scorpion painted on its tongue
  • The daruma master in painted red and gold, both eyes left blank for the wish ritual
  • The maneki-neko master, a glossy calico beckoning cat with a red collar, gold bell and a gold koban coin
  • The hamsa master, cobalt enamel and hammered gold with a coral rosette eye at the center of the palm
  • The horseshoe master, forged iron hung points up from a riveted yoke, with seven punched nail holes
  • The scarab master, faience, lapis and hammered gold, with its Egyptian pectoral wings spread wide
  • The curator, a sculpted clay bust of me that hangs hidden in the app's About pane, because every museum eventually hangs its curator