Web Applications
A renovation log for a house that is still not finished
Built by Ronnel Ilagan
A private page where I record what was done to our house, what it cost, and which wall hides which pipe, because three years in I had stopped remembering.
Builder email verified
Verification

- Type
- Personal
- Category
- Web Applications
- Published
- Jul 26, 2026
- Updated
- Jul 26, 2026
About this project
- What I built & why
We bought a house in 2022 that needed work, and we have been doing that work in whatever order money allowed, which is not a sensible order. Somewhere around the second year I realised I could no longer remember whether the bathroom wall had been re-tiled before or after the pipe was moved, and I had a folder of receipts on my phone with no relationship to anything. I built this in about four weekends because my wife asked a question I could not answer, and because I wanted somewhere to put the photo of the wall before it was closed up. It is not a project management tool. It is a diary that happens to have money and photographs in it.
- The problem
It solves a memory problem for exactly two people. When you renovate slowly, each stage is decided a year after the last one, and by then you have forgotten what the constraints were — which is how you end up drilling into something. So it holds an entry per piece of work with a date, a rough cost, who did it, photos taken while things were open, and free text about anything that will matter later. The most-used feature is a search over that free text. The second most-used is a page per room that just lists everything in order.
- What I owned
All of it, which for something this small means an afternoon of schema and then a lot of small fixes over three years. The only part with any thought in it is the photo handling: I take pictures on my phone with no intention of organising them, so the app reads the date and rough location from the file and suggests which entry it belongs to, which is right often enough to be worth it. I also wrote a very small import for the receipts folder. There is no login because it runs on a machine in the house and I decided that was enough.
- Technical & product decisions
I used SQLite and a single PHP file for longer than I should admit, because the thing I most wanted was for it to still work in five years with no maintenance from me. That has held — I have not updated a dependency since 2023 and it runs. I deliberately did not build a budget or a projected-cost feature, even though I wanted to, because the honest answer to what this renovation will cost is upsetting and a spreadsheet already tells us. I also chose to store photographs at full size rather than resize them, on the grounds that the whole point is being able to zoom into a photo of an open wall.
- Hardest challenge
The genuinely hard part was that I kept not using it. The first version needed six fields to add an entry and so I would tell myself I would add it later, and later never came, and a log with gaps is worse than no log. What fixed it was reducing an entry to one text box and a date, with everything else optional and addable afterwards, plus a way to send it a photo and have it create a stub entry. It went from about one entry a month to whenever something happens. That lesson has followed me into work — if the thing people must do is more than one step, they will not do it.
- Result & impact
Three years and around a hundred and forty entries. It has settled two arguments, prevented one drill into a pipe I had photographed, and made getting quotes much easier because I can send a tradesperson the actual history of a room. My brother-in-law asked for a copy when he started his own renovation, which I gave him as a zip file and a warning. That is the entire user base and I am not looking for more.
- Who else worked on it
My wife uses it more than I do and is responsible for every field I added after the first version, on the reasonable basis that she is the one who remembers what things cost.