DEV Community

Small Home Tools
Small Home Tools

Posted on Fully Autonomous

I built 4 browser-only tools for moving and renting. Here is how they work, and the honest numbers so far

Some jobs around a home come up once every few years. You tour five apartments in a weekend. A roommate moves out on the 12th and the electricity bill runs from the 3rd to the 2nd. You hand back the keys and suddenly need the photos you took on move-in day.

The tools I found for these wanted an install, an account, a bank login, or my photos on their server. That felt like a lot for one afternoon of work, so I built four small browser tools instead. Each does one job, needs no account, and keeps what you enter inside the browser tab. Here is what they do, two implementation details, and the honest numbers so far.

The four tools

TourLedger is a scorecard for touring homes to buy or rent. Before the first visit you set your own criteria with an importance from 0 to 5, plus pass/fail must-haves like "Dog allowed". After each visit you score every criterion from 1 to 5, or leave it as "Not checked". The score is a weighted average:

score = Σ (score × importance) ÷ Σ importance of checked criteria
Enter fullscreen mode Exit fullscreen mode

Unchecked items are left out instead of counting as zero, and homes scored on only a few items are grouped separately, so they cannot rank above a home you checked fully. It compares up to 20 homes, saves to local storage, and offers a backup file, print, and a read-only share link.

StatementLens reads a bank or card statement you downloaded yourself (CSV, or a text-based PDF) and shows totals by month and category, after you confirm the date order, the sign of amounts and the decimal mark. Details below.

RoomProrate splits a utility bill when people did not all live in the home for the whole billing period. Details below.

MoveRecord pairs a move-in photo and a move-out photo for each spot in the home (a wall, the oven, the bathroom floor), adds your notes, and builds an A4 or US Letter PDF. Photos are redrawn in the browser as new JPEGs, so camera metadata such as GPS position does not carry over. It is a personal record, not an inspection or proof of when a photo was taken, and the site says so.

All four are linked from a small hub page: Small Home Tools.

Story 1: keeping a bank statement inside one tab

A statement shows where you live, shop and get paid. The rule for StatementLens was that the file never becomes part of a network request.

  • There is no server-side code and no account system. The file is read by JavaScript in the page and held in the tab's memory.
  • Nothing is written to local storage, cookies or IndexedDB. Close the tab and the session is gone. "Download CSV" is there if you want to keep your reviewed rows.
  • PDF text comes from Mozilla's PDF.js, served from the site itself. The analyzer page loads nothing from other sites apart from the cookieless Cloudflare Web Analytics beacon, which records the page address but never file contents.
  • You can check it yourself: open the Network tab in developer tools, load a file, and no new request carries it.

The ads decision came from the same rule. The plan is to fund these sites with Google AdSense, and ads run third-party script. So the guides and the About page have ad slots, but the analyzer page where statements are opened carries no ads, and its Content Security Policy does not allow ad code to load there. The page that touches the file stays clean. MoveRecord follows the same pattern: the page that holds your home photos loads no advertising code.

A few other choices follow from "do not guess with money":

  • Amounts are added as whole cents, so 0.10 plus 0.20 is exactly 0.30.
  • It will not guess whether 03/04 is March or April. You choose.
  • It does not run OCR on scanned PDFs, because a misread digit in a financial figure is worse than no figure. Scans and password-protected PDFs are refused, and every line it skipped is listed.
  • Possible duplicates and transfers are marked, never deleted. Two identical coffees on the same day can be real.

Story 2: prorating a bill by days without losing a cent

Most "split by days present" calculators ask you to count the days by hand. RoomProrate takes dates, and the rules for dates turned out to be the whole product.

Both ends count. Someone who moves in on the 16th and leaves on the 30th usually expects to pay for 15 days, not 14. Every date range in RoomProrate is inclusive. Dates are handled as calendar days, so a daylight saving change cannot shift a day.

Two methods, side by side. They are different agreements, and neither is the single fair answer. Take a 30-day bill with 90.00 of usage. A lives there all 30 days; B moves in on day 16.

  • Daily split shares each day among the people there that day. Each day costs 3.00. Days 1 to 15 are A's alone (45.00); days 16 to 30 are shared (22.50 each). A pays 67.50, B pays 22.50.
  • Person-days shares the whole usage by days present. A has 30, B has 15, out of 45. A pays 60.00, B pays 30.00.

The result table shows the method you chose and what the other one would give, so nobody is surprised later. Fixed charges (a standing charge, a flat internet price) are kept apart and split equally among the people you tick for that bill.

Empty days stay visible. With the daily split, a day when nobody lived there has nobody to share its cost. That amount is shown as "Unassigned: vacant days" instead of being quietly added to someone.

Rounding happens once. Amounts are converted to whole minor units (cents, or yen and won for currencies without decimals) and calculated with exact integer fractions, not floating point. Each person gets the whole cents of their share, and leftover cents go one at a time to the largest dropped fractions, with ties settled in a fixed order (the largest remainder method). The people plus the unassigned amount always equal the bill. The tests include one cent shared by three people and one thousand random bills checked for exact totals.

The numbers so far

As of 30 October 2026, across all six of my small sites (these four, plus a Tokyo oversized-garbage fee lookup and a set of Korean calculators):

  • 23 visits in 7 days, counted by Cloudflare Web Analytics. Some of those are likely my own test visits.
  • Google Search Console, last 28 days: 14 impressions, 0 clicks.
  • Revenue: 0. Ad slots are in place, but there is nothing to show for them yet.

So this is the very start. Most pages of the four English tools are not indexed by Google yet. I would rather post real numbers than pretend there is traction.

What I would like feedback on

If you have a minute, any of these would help:

  1. StatementLens: does your bank's CSV or text PDF read correctly? I do not want the file, just the bank and which lines were skipped.
  2. RoomProrate: is there a household arrangement it handles badly?
  3. The ads rule: is "no ad code on the page that touches your file" the right line, or should it go further?
  4. Anything confusing on a phone, especially TourLedger, which is meant for use during a showing.

Comments here are fine, or email eddyhwang.kr@gmail.com with the tool and the screen.

Disclosure: I build these tools with an AI agent, and this post was written by that agent for me, based on the live sites and my own measurement logs.

Top comments (0)