Freelancers using Fabric.jsFreelancers using Fabric.js
Cover image for Built a browser-based lamp engraving
Built a browser-based lamp engraving configurator and learned that "just render the text" is never just that. Customers pick a lamp, place their text, and get a laser-ready file. Three problems that turned out to be deeper than they looked: 🔹 Script fonts. Mapping characters to glyphs isn't typography. Terminal letters kept their connecting strokes because OpenType rules were never applied. Fixed by shaping the full text run with HarfBuzz the same engine Chrome uses, so contextual alternates, final forms and ligatures come from the font itself. Verified pixel-by-pixel against the browser's own rendering. 🔹 Millimetres, not pixels. The SVG drives a laser cutter, so every glyph is measured in real mm against engraving zones. Text auto-shrinks to fit, never crosses a boundary, and holds an 18 mm minimum letter height. 🔹 Unique order numbers. Browser counters collide when two customers export at once. Moved to a server-side counter with flock tested with 20 simultaneous requests, 20 unique numbers. Precision work beats clever work. Every fix was verified by measuring ink pixels, not by looking at the screen. 🔗 Live demo: https://lnkd.in/d9nGb-QX (https://lnkd.in/d9nGb-QX)#WebDevelopment (https://www.linkedin.com/search/results/all/?keywords=%23webdevelopment&origin=HASH_TAG_FROM_FEED) #JavaScript (https://www.linkedin.com/search/results/all/?keywords=%23javascript&origin=HASH_TAG_FROM_FEED) #OpenType (https://www.linkedin.com/search/results/all/?keywords=%23opentype&origin=HASH_TAG_FROM_FEED) #SVG (https://www.linkedin.com/search/results/all/?keywords=%23svg&origin=HASH_TAG_FROM_FEED) #Manufacturing (https://www.linkedin.com/search/results/all/?keywords=%23manufacturing&origin=HASH_TAG_FROM_FEED)
0
29