Blog
Guides, comparisons, and behind-the-scenes notes on the tools we're shipping.
Practical posts paired with each tool. Walkthroughs for when you're stuck on a cron expression or a CSS gradient. Comparisons against the tools people currently settle for. Tips for the problem spaces the catalog covers — dev workflows, design decisions, DIY estimation, everyday math. Not a content mill. A reference shelf that grows alongside the tools. Read about it, then use it.
Why GPT, Claude, and Gemini Disagree on the Same Token Count
Take a sentence: "The quick brown fox jumps over the lazy dog 🦊."
The Density Calculator With Steps That Doesn't Hide the Work Behind a Paywall
Plug in any two of mass, volume, or density and Massvo solves for the third, then shows you exactly how. Formula. Substitution. Arithmetic. Final r...
Where 16-Inch Stud Spacing Comes From, and What the Code Actually Says About 24
A residential framing crew laying out a 24-foot exterior wall pulls a tape and starts marking studs every 16 inches. Three blocks over, an inspecto...
How Do You Calculate Drywall Sheets With Doors and Windows?
Subtract the total opening area (each door or window's width times height) from your wall area before dividing by sheet size. A standard 3 by 7 doo...
How to Convert a Unix Timestamp to a Date (and Why 13-Digit Timestamps Trip Everyone Up)
Paste it into a Unix timestamp converter. Read the result. That's the easy part.
How Do I Make a Favicon That Works in Dark Mode? A Dark Mode Favicon Generator Built for 2026
Ship two SVGs — one for light, one for dark — and wire them up with prefers-color-scheme media queries on your <link> tags. That's it. The trick is...
How Much Mulch Do I Need? A Mulch Calculator Built for the Bag Aisle
For a standard rectangular bed, multiply length by width by depth (all in feet), then divide by 27 to get cubic yards. A 12 ft by 4 ft bed at 3 inc...
How Long Until I'm Sober? A BAC Calculator That Knows Your Beer Isn't 5%
Your body clears about 0.015% BAC per hour. So if your blood alcohol content is 0.060%, you're looking at roughly four hours until you hit 0.000%. ...
How to Print a Stud Spacing Template You Can Actually Mark a Plate With
Short answer: open Studmark on your phone, type the wall length, pick 16" OC (or whatever you're framing at), and tap Print Layout Template. You ge...
A Token Counter for GPT, Claude, and Gemini in One Clean Tool
Open Toklen, paste your prompt, pick a model. The count appears. That's the tool. It runs entirely in your browser using js-tiktoken, shows your co...
The Color Converter That Remembers Your Recent Colors
What is the best free color converter? A free color converter should do four things well: translate HEX, RGB, HSL, and CMYK in real time, copy any ...
How 0.08% Became the National BAC Limit, and Where It's Heading Next
A reasonable question, after seeing four different BAC limits cited on the same page (0.08% for most drivers, 0.05% in Utah, 0.04% for commercial d...
How Much Paint Do You Need for an Accent Wall? An Honest Answer (and a Free Calculator)
For a typical 9-foot by 15-foot accent wall painted in two coats, you need about a gallon of paint. One can. Roughly $30 to $75 depending on the br...
Unix Time Isn't UTC: How POSIX Skipped Leap Seconds and the 2038 Cliff Ahead
At the end of June 2012, sysadmins set alarms for 23:59:60 UTC, the timestamp that doesn't exist in any operating system. The 25th leap second ever...
APR vs APY: Where the Four-Letter Difference Compounds Into Real Money
A bank advertises a 4.5% mortgage and a 4.5% savings account. The mortgage rate is the APR; the savings rate is the APY. Both numbers look identica...
How We QA Without a QA Team
We don't have a QA team. We have something worse: a gatekeeper that can't be reasoned with, bribed, or guilt-tripped into letting a half-baked buil...
The Font Pairing Generator That Tells You Why It Works
Open TypeDuo, click Generate, and you get a heading, subheading, and body font with a one-sentence explanation of what makes that trio work. No sig...
RBAC0 Through RBAC3: What the NIST Standard Actually Defines
The first time anyone documents access control for a SOC 2 readiness review, the auditor asks a question with no good off-the-cuff answer: "Is your...
How to Generate an RBAC Permission Matrix Without Touching a Spreadsheet
Type your roles into one box. Type your permissions into another. Tick the checkboxes where access should exist, then export as Markdown, CSV, or J...
Where the 10% Drywall Waste Factor Comes From, and When It's Wrong
A homeowner orders 22 sheets of 4x8 drywall for a 700-square-foot basement project. The contractor's estimating sheet says "add 10% for waste." The...
How to Find the P-Value for a T-Test From a T-Statistic
Feed the t-statistic, the degrees of freedom, and your tail direction (one-tailed left, one-tailed right, or two-tailed) into the Student's T cumul...
Where the 0.05 Significance Threshold Came From, and What the ASA Said in 2016
A student runs a two-tailed t-test, gets p = 0.0512, and stops. The threshold says 0.05. Their result is not significant. They got close, but close...
How to Generate Tailwind CSS Gradients with OKLCH (No Paywall, No Gray Dead Zone)
Open Graduo, pick your colors, and click Copy. You get a Tailwind class using the bg-[linear-gradient(...)] arbitrary value syntax, ready to paste ...
How to Remove Metadata From a Photo Online Without Uploading It Anywhere
Drop the photo into Blank. It runs in your browser, shows you exactly what metadata the file contains (GPS, device serial, timestamps), and strips ...
Why 'EXIF Stripping' Isn't Enough: The Four Metadata Standards Every Photo Carries
A photo "cleaned" by a typical online EXIF stripper still tends to leak. GPS coordinates often disappear, the device name disappears, the timestamp...
Wallpaper Roll Calculator: How Many Rolls You Need (With a Printable Shopping List)
For a standard 10 ft by 12 ft room with 8 ft ceilings, one door, and one window, you need about 6 to 8 single rolls of non-patterned paper and 8 to...
The Color Contrast Checker That Runs WCAG and APCA Side by Side
Drop two hex colors into Ratia and you get a WCAG 2.2 contrast ratio, AA and AAA pass/fail badges for normal, large, and UI sizes, and an APCA Lc s...
Why WCAG 2.2 and APCA Disagree About Dark Mode Text
A designer building a dark dashboard picks #FFFFFF text on a #1A1A2E navy background. WCAG returns 15.83:1, comfortably above the 4.5:1 floor for b...
The 20% Down Payment Rule Isn't a Rule: PMI Thresholds, the HPA, and the 78% LTV Auto-Cancellation
A first-time buyer puts 5% down on a $380,000 house, signs the closing papers, and asks the loan officer the obvious question: when does PMI go awa...
The down payment calculator with PMI that shows every scenario at once
You enter a home price, and a good down payment calculator with PMI should show you four things at the same time: the cash you put down, the monthl...
Compound Interest, Year by Year: The View Most Calculators Hide
Use a calculator that shows an actual table. One row per year. Starting balance, annual contributions, annual interest, ending balance. That is the...
OKLCH vs HSL vs LCH: Which Color Space Picks the Right Gradient Midpoint
Pick two colors on opposite sides of the wheel. Blue to yellow, say #3b82f6 to #facc15. Ask a CSS gradient to walk from one to the other. Then look...
The Flooring Calculator That Tells You How Many Boxes to Buy
You measure the room. You get a square footage number. You add ten percent for waste because somebody online said to. Now you are standing in the a...
A COGS Calculator That Gives You Gross Profit and Margin in One Shot
Enter beginning inventory, purchases, direct expenses, and ending inventory into Cogsly, add your revenue, hit Calculate. You get COGS, gross profi...
FIFO vs LIFO vs Weighted Average: Why Inventory Method Changes Your COGS
A boutique buys 100 candles in January at $4 each, another 100 in February at $5, and another 100 in March at $6. Total inventory cost: $1,500. By ...
How We Built 27 Free Tools Without a Backend
AppCrib has 27 tools live right now. A jq playground running real jq 1.8 compiled to WebAssembly. A SQL formatter powered by sql-formatter v15. A g...
JPEG vs WebP vs AVIF: The Perceptual Quality Math Behind 'Quality 80'
Save the same 4 MB product photo at "quality 80" in three formats. The JPEG comes out at 580 KB. The WebP at 340 KB. The AVIF at 190 KB. The files ...
The Batch Image Compressor That Never Uploads a File
Drop the whole folder onto a tool that compresses every file inside the browser tab. No server. No queue counter. No 20-image cap. Komprs is built ...
A Hexadecimal Bitwise Calculator That Shows Every Base at Once
You open a hex calculator to XOR two register values. It gives you the answer in hex. You need it in binary to check the bit pattern, so you open a...
Two's Complement, Signed Shifts, and the 2^53 Boundary: Bitwise Math Beyond Hex
Open a browser console and type 0. The answer is -1, not 4294967295. Bitwise NOT of zero, in a language where every number is a 64-bit double, retu...
JSONL vs NDJSON vs JSON Sequences: When the Newline-Delimited Formats Diverge
A common stumble: you have a file of one-JSON-object-per-line records, your pipeline tool says it accepts NDJSON, you point it at the file, and the...
A CSV to JSON Converter That Respects Your Time
Paste the CSV into a converter that runs in your browser, pick an output shape, and copy the JSON. That is the whole job. Rowson does it in under t...
How to Get a Color Palette From an Image Without Signing Up or Uploading Anything
How do you generate a color palette from an image and actually paste it into your code? Drop the image into a browser-only extractor, pick how many...
K-Means vs Median-Cut vs Octree: How Color Quantization Algorithms Pick Different Palettes From the Same Image
Pick any image — a sunset photo, a brand mockup, a UI screenshot. Run it through three free palette extractors, ask each for a six-color palette, a...
Why Markdown Tables Aren't in the CommonMark Spec, and How Renderers Filled the Gap
Paste a markdown table into the CommonMark playground at spec.commonmark.org. Pipes, separator row, alignment colons, the whole thing. The renderer...
How to Format Markdown Tables with CJK Characters (Without the VS Code Extension Bug)
Use a markdown table formatter that counts full-width CJK characters as two monospace columns instead of one. Pipefmt does this in the browser with...
Cron Expression Validator That Tells You What's Wrong
Paste it into Lintcron at appcrib.com/lintcron. Each of the five, six, or seven fields is parsed and rendered as a distinct labeled segment. If a f...
JSON Diff Online: Compare JSON and YAML Semantically in One Tool
Paste the first blob on the left, paste the second on the right, press Compare. Diffpad parses both sides, compares them structurally, and shows yo...
Why Diff Tools Disagree: Myers, Patience, and Structural Diff Compared
Two engineers on the same pull request see different diffs. One reviewer sees a block of seven lines moved from one helper into another, with git's...
Privacy by Architecture, Not by Promise
Every privacy policy says the same thing. "We respect your privacy." "We take your security seriously." "We only collect what we need." You've read...
Where JSON, JSON5, JSONC, and NDJSON Actually Differ
A JSON config file that opens in VS Code is allowed to contain comments. A JSON file that opens in a strict parser is not. The same .json extension...
How do you format JSON online without the clutter?
Paste raw JSON into Jsonr and it formats instantly. No "Format" button, no server round-trip, no stacked ads eating the viewport. The output shows ...
Why SQL Formatters Still Disagree on the Same Query
Take a five-line query with a join and a CTE. Paste it into four different SQL formatters. You get four visibly different results.
When 5 Cron Fields Aren't Enough: The Seven-Variant Landscape
The job was supposed to fire at 02:30 every Sunday. Instead it ran 24 times every Sunday, once an hour at HH:02:30, and nothing the rest of the wee...
How to Format SQL Online Without the 2010 UI
Paste your SQL into Tidysql, pick a dialect, click Format. Clean, readable SQL comes back in under ten seconds, with a side-by-side diff so you can...
JSON Query Languages Compared: jq, JSONPath, JMESPath, and When Each Is the Right Pick
The first time you run kubectl get pods -o jsonpath='{.items[].metadata.name}', then try the same selection with jq '.items[].metadata.name', the o...
The jq Playground That Runs Real jq in Your Browser
Search "jq playground" and you'll find tools that each get about 60% of the way there. play.jqlang.org has trusted execution but no examples and no...
One Tool, One Job: Why We Don't Build Swiss Army Knives
You've seen the pattern. You Google "JSON formatter," land on some tool that works fine, and then you notice the sidebar. CSV converter. Base64 enc...
Clean, Modern, Private: Three Words We're Not Kidding About
Every company claims their product is modern. Every company claims to respect your privacy. Every company claims to be clean and focused. The words...
AppCrib: Free Utility Tools That Don't Embarrass You
Here's a test. Open a new tab. Search for "json formatter online." Click the first result.
Why We Left B2B to Build a Hundred Small Things
Two years ago I was running operations at a B2B software company. My business partner was running it with me, and he'd been building it for a long ...
Read about it, then use it
Most of what we write is paired with a tool. If a post made something click, the tool itself is a click away — go solve whatever brought you here.