Fujimod
Try your camera firmware in the browser and build Fujimod SD boot files.
A clickable 3D map of your storage unit, closet or garage, built by describing it to an AI. No tape measure.
LifestyleJavaScript · HTMLGitHub @ssskayOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗A clickable 3D map of a storage unit, closet, garage or basement, showing what's on every shelf. It's for the things that matter but you don't need every day: the emergency kit, the baby gear you promised the neighbors, the folding chairs that come out once a year, the tax records. You build it by talking through the space with an AI. No tape measure, no floor-plan app.
Try it in your browser: ssskay.github.io/dollhouse
It's a single page that opens with a double-click and works offline. Your data stays in two plain files in your own folder.
Open index.html for the five examples. Each is an invented space with its own layout and its own glowing list:
| example | the space | what glows |
|---|---|---|
| The Household Unit | 10×10 storage unit after a move: emergency shelf by the door, hand-me-downs promised to the neighbors, hosting gear, holiday bins, moving boxes nobody opened | Grab next trip |
| The City Apartment Overflow | 5×10, long and narrow: one shelf down the wall, an aisle that has to stay clear, winter coats, skis, the bike | Season swap |
| Between Homes | 10×20 holding a whole house for four months: boxes by room, the piano on a dolly, a move-in checklist in truck-loading order | Unload first |
| The Two-Car Garage | one car parked, one bay full of stuff, a pegboard, an overhead rack above the car, storm panels labelled by window | Storm prep |
| The Hall Closet | five feet wide: guest bedding up high, coats on the rod, the go-bag on the floor | Grab and go |
Everything in them is made up, and so are the photos (generated, see docs/PHOTOS.md). In the household example, type "neighbors" in the find box and the bins promised to them light up.
The things that matter but you don't need every day:
spaces/_template to spaces/<your-space>.intake/SKILL.md (it's a Claude skill, and works pasted into any chat) and describe your space. A walk-through video from your phone helps a lot. It writes space.js and items.csv for you.python3 tools/csv_to_items.py spaces/<your-space>
python3 tools/check.py spaces/<your-space>
spaces/<your-space>/index.html.When something moves or leaves, tell the AI (or edit items.csv) and run step 3 again.
| column | what it holds |
|---|---|
name | what the thing is |
at | where it is: a shelf level (A-2), a spot code (HOLIDAY), optionally a bin after a space (B-2 LEGOBIN) |
status | free text. grab glows by default; gone is hidden |
note | optional |
If you already keep an inventory spreadsheet with a location column, export it with these headers.
Sets window.DOLLHOUSE. Sizes are in whatever unit you pick (feet in the demo). Stand in the doorway looking in: x runs left to right, z runs from the door wall (0) to the back wall.
| field | what it does |
|---|---|
title, subtitle, eyebrow | page heading |
cover | optional photo shown in Now, e.g. the view from the door |
room | width, depth, height, door: {from, to, hinge} along the front wall (x from/to); add type: "rollup" for a storage-unit roll-up door |
now, plan | headline and summary for each mode; plan.walkways is a list of floor boxes drawn as the path |
highlight | label and statuses for the glowing mode (default Grab next trip / grab) |
hideStatuses | statuses left off the map (default gone) |
spots | everything in the room (below) |
rules | {thing, at, note, spot}: kind of thing → where it goes |
steps | {title, note, spot}: optional ordered checklist; stepsLabel / stepsTitle / stepsSummary name it |
Each spot:
| field | what it does |
|---|---|
id | unique, used by rules and steps |
code | short address (A, HOLIDAY). Shelving units need one so their levels can be addressed |
name, what, todo | shown when you tap it (todo shows as the rule for that spot) |
kind | rack, shelf, boxes, bin, pile, wardrobe, panel, pegboard, chair, suitcase, car, floor, or block |
box | [x0, z0, x1, z1] footprint on the floor |
height, levels | how tall; how many shelves (racks) |
elevation | how high off the floor it's mounted: overhead racks, wall hooks, closet shelves above a coat rod |
photo | optional image path, e.g. a still from your walk-through video |
plan | stay (default), gone, move (with moveTo: [x0, z0, x1, z1]), or new (only drawn in Plan) |
blocking | true tints it red in Now as something in the way |
color | optional override |
index.html the gallery of examples
viewer/ the page itself (dollhouse.js, dollhouse.css, bundled three.js)
spaces/ one folder per space: index.html, space.js, items.csv, items.js, photos/
intake/SKILL.md the interview an AI runs to build a space from your description
tools/ csv_to_items.py, check.py (python3, standard library; check.py also needs node)
The browser console logs what loaded and any item whose address doesn't match a spot.
Made by Sara Kay. 3D by three.js (MIT, bundled in viewer/vendor). MIT licensed.