Web Tools Weekly
Tools for Web Developers

Issue #579  (Omlet Review, JS Utils, Testing, Mobile)08/22/24

The following is a paid product review for Omlet, a component analytics platform for teams using React, to improve efficiency, adoption, and prove design system value.

One of the things that happens often with large code bases is that while a code base is growing, you may not be aware how the different parts of your design system are being used – or if they're even being used at all.

Enter Omlet, a one-of-a-kind component analytics platform that helps developer teams working on React and React Native-based projects to identify component usage patterns and trends.

Omlet

Some of the benefits of Omlet include:

  • Get visibility into how your teams are using your design system so you can make changes faster
  • You can prove the value of your design system components to leadership using real-world data and actionable insights
  • Ship faster with fewer bugs and a more consistent experience across all your products
  • No need to build your own solution – which could take months – and you avoid iterating blindly with no knowledge of how your design system is actually being used


Setting Up Omlet
To get started with Omlet, sign up for a free account then run the following command at the root of the repository that you want Omlet to scan:

npx @omlet/cli init

This will install the Omlet CLI then direct you to log in to your Omlet account in your browser. Once logged in, Omlet will scan your repository, create a primary tag for your components, and choose which folders Omlet should scan to find your components.

Tagging your components and selecting folders to scan in Omlet
Tagging your components and selecting folders to scan in Omlet

After this first scan, you'll be ready to examine your newly created dashboard, which you can access once logged into your Omlet account. In this review, I'm testing out Omlet using an open-source React-based project called Easy Email Editor, so you'll see some of that project's component data in these screenshots.

The Omlet dashboard after your first scan
The Omlet dashboard after your first scan

The Omlet dashboard includes data visualizations for things like Component Usage Over Time, Core Component Adoption Rate by Project, Core Component Adoption Over Time, and Most-Used Non-Core Components.

Viewing component adoption data in Omlet
Viewing component adoption data in Omlet

At the bottom of the Analytics section of the main dashboard, there's the super-useful section called How Can I Simplify the Code Library?. This displays two charts showing Unused Component Props and Least Used Core Components.

Analyzing unused and least-used component props in Omlet
Analyzing unused and least-used component props in Omlet

These insights can allow you to remove or improve specific props or components that have little to no adoption. This simplifies your design library and can dramatically reduce maintenance costs.


Customizing and Sharing Data
One of the powerful benefits of Omlet is the ability to show anyone in your organization – particularly those in decision-making roles – the progress of component adoption (or lack thereof) in your design system.

Omlet allows you to generate reports in the form of charts and graphs, with options to filter the displayed data using various properties (e.g. Project it's used in, Tag, Name, Last updated date, etc). Once your report is customized to your liking, you can download in CSV format or simply share via a public or team-only URL.

Sharing a link to a report in Omlet
Sharing a link to a report in Omlet

Each custom chart your team generates can be saved and later viewed at any time in the Saved Dashboard collection in the Analytics section of your main dashboard.


Analyzing Components
In addition to the Analytics section of the dashboard, you can also view the Components section, which allows you to search for and filter components, and drill down to an individual component.

Searching for and filtering components in Omlet
Searching for and filtering components in Omlet

When you select an individual component, you can view its dependency tree, props usage, creation date, updated date, and other info.

Viewing a component's dependency tree in Omlet
Viewing a component's dependency tree in Omlet

The dependency tree view allows you to see parent vs. child relationships for the component. You can pan around and zoom in/out on the canvas of the component's dependency tree, filter inside the tree view, and highlight specific parent/child relationships as needed.


Data-driven Decision Making
All of the above features, and more, enable your team to remove the guesswork that can hinder developer teams. Without this kind of data, as your design system grows, it can be next-to-impossible to determine which components to keep, which to remove, or which to improve.

With Omlet, decisions can be made based on quantifiable data that can be shared with anyone in your organization. This includes real-world usage as well as historical trends.

Omlet has excellent documentation that guides you through the setup process to help you get your first scan completed in just a few minutes. And even before signing up, you can try out Omlet's dashboard using this online playground, which uses the open-source Proton Mail component design system to demonstrate Omlet's excellent customizable data visualizations. (Oh and as someone who loves making omelets and always makes them with feta cheese, the dashboard URL is cool!)

Omlet demo with Proton Mail

Omlet includes a free plan for individuals who want to get started with component usage visibility, along with the Intro paid plan, which you can try out for 30 days free.

React and React Native are currently supported, with Vue and Angular in the pipeline, so if you're working on a large design system in one of those technologies, check out Omlet today.


Now on to this week's tools!
 

 

JavaScript Utilities

LLM Scraper — A TypeScript library that allows you to extract structured data from any webpage using LLMs (Ollama, OpenAI, Vercel AI, etc).

RoundtableJS — A JavaScript library for building complex surveys, forms, and data annotation tasks, designed to be simple but completely customizable.

regex — A template tag that extends JavaScript regular expressions with features from other leading regex libraries that make regexes more powerful and dramatically more readable.

Meco — Free your newsletters from the inbox. Move your newsletters to a space built for reading and declutter your inbox in seconds.    SPONSORED 

xlsxtable — A small, simple library to create nice Excel (.xlsx) files from tabular data, with features to bold/freeze headings, native Excel date/time format, and more.

Secure File Sharing Utility — A locally installable mini app to securely encrypt and decrypt files locally from a web browser, with support for Cryptographic Message Syntax, PWRI, and AES-256-GCM encryption.

Swapy — A simple JavaScript utility that converts any layout to a "drag-to-swap" layout (i.e. movable masonry) with just a few lines of code.

Swapy

@texel/color — A minimal and modern color library, featuring fast color conversion, color difference, gamut mapping, and serialization, useful for real-time applications, generative art, and graphics on the web.

es-toolkit — A state-of-the-art, high-performance JavaScript utility library that offers a variety of everyday utility functions (alternative to lodash), with a small bundle size and strong type annotations.

Snapdrag — A simple but powerful drag-and-drop library vanilla JavaScript and React, with full customization, two-way data exchange between draggable and droppable, and other features.

Testing and Debugging Tools

ReactEmbedDevTools — A library for React projects that allows you to inspect inside an iframe with the embedded DevTools.

Markcheck — A Node.js package for testing Markdown code blocks, to prevent errors in documentation (READMEs, blogs, books, etc).

Guidepup — A screen reader driver for test automation that enables testing for VoiceOver on MacOS and NVDA on Windows with a single API.

hanbi — A small and simple library for stubbing and spying on methods and functions in JavaScript tests.

Meco — Free your newsletters from the inbox. Move your newsletters to a space built for reading and declutter your inbox in seconds.    SPONSORED 

Perfect Bug Report — A simple, nicely-designed reference that offers a checklist for writing effective bug reports.

Perfect Bug Report

UI Auditor — An online tool that lets you upload a screenshot of your app’s UI and the tool will tell you how to improve it.

TypeScript AST Viewer — Provides a way to view the TypeScript AST, symbols, types, and signatures, with compiler objects that can be interacted with via DevTools.

borp — A TypeScript-aware, self-hosted test runner for node:test that also supports code coverage via a popular Node.js library called c8.

DomLogger++ — A browser extension (Firefox, Chrome) that allows you to monitor, intercept, and debug JavaScript sinks based on customizable configurations.
Advertisement

Frontend Monitoring Should Be Powerful, and Easy
Add monitoring to your JavaScript app with AI agents to help you troubleshoot, debug, and increase overall performance.

Alerty

Get Started For Free →

 

React Native and Mobile Tools

NodeSwift — A Swift package that allows you to write Swift code that talks to Node.js libraries, and vice versa.

React Native Filament — A powerful 3D rendering engine for React Native with multiple features like GPU-acceleration, Native C++ physics, and lots more.

react-native-background-actions — A React Native background service library for running background tasks forever in Android and iOS.

The Growth Newsletter — Join more than 100,000 subscribers and get top strategies and tactics used by fast-growing startups in a twice-weekly email consisting of real-world examples and data.    SPONSORED 

Dashwave — A cloud-based Android dev environment for fast builds, rapid testing, and code, free for personal and open-source projects.

React Native Vector Icons — A set of customizable vector icons, ideal for embellishing buttons, logos, and navigation or tab bars for React Native projects.

Parse — A complete application stack to build applications faster with object and file storage, user authentication, push notifications, dashboard and more out-of-the-box.

Parse

Screenshot Studio — An app for iOS and Mac that enables you to create professional-quality App Store screenshots in minutes (listed as free with in-app purchases).

TenTap — A typed, easy to use, customizable, and extendable Rich Text editor for React-Native based on Tiptap and Prosemirror.

faster-image — A performant way to render images in React Native with a focus on speed and memory usage, powered by Nuke, for iOS/macOS and Coil on Android.

Commercial Apps & Classifieds

These are commercial apps, affiliate links, PPC ads, and paid classifieds. Buy a Classified here.
rlimit – A global rate limiting API for distributed applications to protect your apps from abuse.
Kuration AI – A B2B research AI agent that helps you turn data into revenue.    AD 
Vzy – An AI website builder to create portfolios, link in bios, personal sites, and business websites instantly.
Launchtoday – An Expo and React Native boilerplate to ship your next AI, e-commerce, etc., mobile app.
Tech Productivity – A weekly newsletter for tech professionals who want to get stuff done.     AD 
No Code Map App – Build custom maps with any spreadsheet, Google Sheet, Airtable, or Webflow CMS.
Changelog – Add a beautiful, customizable changelog to your website in less than 5 minutes.

An X Post for Thought

Ricky Robinett, who works in dev relations at Cloudflare, shares a video of his 8-year old daughter learning to build a web app using AI. As someone pointed out in the replies, now that's developer relations!
 
An X Post for Thought

Send Me Your Tools!

Made something? Reply to this email or send links via Direct Message on X @LouisLazaris (details here). No tutorials or articles, please. If you have any suggestions for improvement or corrections, feel free to reply to this email.
 

Before I Go...

I've seen this sort of thing on social media before and I don't know how accurate it is, but True Size of Countries is an interactive map that shows the, well, true size of all countries in the world. Are the exaggerated sizes due to how they're normally displayed on a globe? Or it it some kind of historical bias? Whatever the case, apparently these are the real relative sizes.

Thanks to all for subscribing and reading!

Keep tooling,
Louis
webtoolsweekly.com
@LouisLazaris