Monday, October 13, 2025

Week 41 Summary: Property Inspections That Actually Work on Phones

Photo of Paul
Paul (Founder)

Paul is a software architect and director at Phillip James Lettings, who have arranged thousands of tenancies over twenty years. LetAdmin is what happens when you know both sides.

Product Updates

The inspection that taught me everything

Picture this: an agent walks into a basement flat to conduct a routine inspection. She opens LetAdmin on her phone, starts documenting room conditions, takes photos of a damp patch in the kitchen, and... nothing happens. No internet. Thick walls, basement location, dead zone.

She tries to submit the inspection. Error. Her work disappears. She has to start over, but this time using a paper checklist.

This actually happened. An early adopter told me about it, and I felt terrible. I'd built inspection forms that only worked online. Which meant they didn't actually work for the job they were supposed to do.

This week I rebuilt inspections from scratch to work offline-first. It was the hardest technical challenge so far, but the results speak for themselves: property inspections that work anywhere, on any phone, with or without signal.

The real problem with property inspections

Most property management happens in an office. Adding properties, updating rent, running reports—you're sitting at a desk with good WiFi. No problem.

But inspections? Inspections happen at properties. Rural cottages with weak signal. Basement flats with no reception. Old buildings with thick walls that block 4G. And agents need to document property condition, upload photos, collect signatures, all while standing in these connectivity black holes.

Traditional web applications fail completely in these conditions:

  • Click submit without internet → your work disappears
  • Leave the page → everything's gone
  • Refresh → all lost
  • Upload a photo → silently fails, you discover it 3 hours later

Agents learned to avoid the system. They'd use paper checklists, take photos on personal phones, then spend an hour back at office manually entering everything. Exactly the inefficiency software is supposed to eliminate.

I needed to build something that worked offline by default, not as an afterthought.

What we built this week

1. Complete Mobile Inspection System (Monday-Tuesday)

Built the foundation: inspection data model, mobile-optimized forms, room-by-room observations, photo attachments.

What agents see:

  • Tap "New Inspection" → select property → choose type (routine, move-in, move-out, etc.)
  • Walk through property adding rooms dynamically (Living Room, Kitchen, Bedroom 1, etc.)
  • Type observations for each room (auto-saves as you go)
  • Take photos that attach automatically to correct room
  • Add general observations and notes
  • Mark inspection complete

Time to complete inspection: 45 minutes on-site (same as paper, but zero data entry after)

Before: 45 minutes on-site + 45 minutes typing up notes + 20 minutes organizing photos + 10 minutes scanning signature = 2 hours total

Now: 45 minutes on-site, done. Everything digital from the start.

Time saved: 75 minutes per inspection

2. Offline-First Architecture (Tuesday-Thursday)

This was the hard part. Rebuilt everything to work offline by default:

Local-first data storage:

  • Everything saves to your phone's local database immediately (0.1 seconds)
  • No waiting for server responses
  • No "are you sure you want to leave?" warnings
  • Auto-saves every field as you type

Automatic background sync:

  • When connectivity returns, uploads everything automatically
  • Shows clear progress ("Syncing 1 of 3 items...")
  • Retries automatically if upload fails
  • Never loses data

Works identically online and offline:

  • With signal: saves locally + syncs immediately (feels instant)
  • Without signal: saves locally + syncs later (feels instant too)
  • You never think about whether you have signal

Real-world impact:

Basement flat inspection before:

  • Arrive with no signal
  • Try to open inspection app → won't load
  • Drive 10 minutes to find signal
  • Park somewhere with WiFi
  • Walk back to property (5 minutes)
  • Conduct inspection worrying about signal (45 minutes)
  • Signal drops mid-inspection → lose 10 minutes of work
  • Re-enter lost data from memory (8 minutes)

Total time: 89 minutes (45 minutes actual inspection + 44 minutes fighting technology)

Basement flat inspection now:

  • Arrive with no signal
  • Open LetAdmin → works immediately offline
  • Conduct full inspection (45 minutes)
  • Drive away → automatic sync when signal returns

Total time: 45 minutes (actual inspection only)

Time saved: 44 minutes per basement/rural/poor-signal inspection

For an agency conducting 100 inspections per year in challenging locations, that's 73 hours saved annually.

3. Reliable Mobile Photo Uploads (Wednesday-Thursday)

Fixed the nightmare of lost inspection photos.

The problem:

  • Phone photos are 2-8MB each
  • Mobile connections are unreliable
  • Upload 15 photos → only 11 reach server → 4 missing forever
  • No idea which photos are missing until too late

The solution:

Automatic compression:

  • Original photo: 4.2MB, 4032×3024 pixels
  • Compressed photo: 420KB, 1920×1440 pixels (90% smaller)
  • Still perfect quality for inspection documentation
  • Uploads 10x faster, uses 90% less data

Reliable upload with retry:

  • Clear progress indicator ("Uploading photo 3 of 15...")
  • Automatic retry if upload fails
  • Queue offline photos for later sync
  • Never lose photos

Device rotation doesn't kill uploads:

  • Traditional apps: rotate phone → uploads restart from scratch
  • LetAdmin: rotate phone → uploads continue exactly where they left off

Real-world impact:

Before: Take 15 photos → wait 8 minutes for upload → signal drops → check later → only 11 photos saved → 4 rooms missing documentation forever

Now: Take 15 photos → automatic compression + upload in background → "15 of 15 photos uploaded" confirmation → complete documentation

Time saved: 15 minutes per inspection (plus zero lost documentation)

4. Digital Signature Capture (Friday)

The final piece: collecting tenant/landlord signatures without paper, clipboards, scanning.

How it works:

  • Tap "Capture Signature" at end of inspection
  • Hand phone to tenant/landlord
  • They sign with their finger (smooth, natural, feels like pen)
  • Tap "Save Signature" → done

Signature automatically:

  • Attaches to inspection record
  • Records who signed, when, where
  • Appears in landlord reports (professional PDF)
  • Provides legally valid documentation

Real-world impact:

Before digital signatures:

  • Print inspection form (2 minutes)
  • Bring clipboard and pen to property
  • Collect paper signature (1 minute)
  • Scan signed form back at office (3 minutes)
  • Attach PDF to property record (2 minutes)
  • File physical copy in cabinet (2 minutes)

Total admin time: 9 minutes per signature

Now:

  • Collect signature on phone (15 seconds)
  • Automatic sync with inspection
  • Zero admin work

Time saved: 9 minutes per inspection (plus zero paper/filing/scanning costs)

The complete picture: What agencies actually get

Put it all together, and here's what changed for agencies using LetAdmin inspections:

Before (Traditional Paper + Manual Process)

On-site (property visit):

  • Carry clipboard, paper forms, camera, pens (5 minutes setup)
  • Walk through property with paper checklist (45 minutes)
  • Take photos on camera/phone (3 minutes)
  • Collect signature on paper form (1 minute)

Back at office (admin work):

  • Type up handwritten notes into system (25 minutes)
  • Transfer photos from camera, rename files, upload to property record (20 minutes)
  • Scan signed form and attach to record (3 minutes)
  • File physical copies (2 minutes)
  • Generate landlord report from all the above (15 minutes)

Total time: 119 minutes (2 hours per inspection) Documentation quality: Medium (prone to lost photos, illegible handwriting, misfiled signatures)

After (LetAdmin Mobile Inspections)

On-site (property visit):

  • Open LetAdmin on phone (5 seconds)
  • Walk through property documenting on phone (45 minutes)
  • Photos attach automatically to rooms (0 minutes extra)
  • Collect digital signature on phone (15 seconds)

Back at office (admin work):

  • Everything auto-synced while driving back (0 minutes manual work)
  • Inspection complete, ready for landlord report (0 minutes)
  • Generate PDF report if needed (2 minutes)

Total time: 47 minutes (45 minutes inspection + 2 minutes report) Documentation quality: High (all photos saved, typed observations searchable, signatures never lost)

Time saved: 72 minutes per inspection For 200 inspections/year: 240 hours saved (6 work weeks)

The brutal honesty: What went wrong

Building offline-first inspections nearly broke me. I'll be honest about the disasters:

Attempt 1: Manual DOM Manipulation

Built photo uploads using manual JavaScript DOM manipulation. Worked perfectly on desktop Chrome. Completely broken on mobile Safari. Photos uploaded as 0-byte files for reasons I couldn't reproduce on my laptop.

Wasted: 2 days

Attempt 2: Refactored to Reactive Patterns

Used Alpine.js to make UI reactive instead of manual DOM updates. Better reliability, but revealed new problem: IndexedDB corruption. Photos would save but fail to load later.

Wasted: 1 day

Attempt 3: Base64 Encoding

Switched to base64 encoding for images. Finally worked reliably, but now had to handle large base64 strings which browsers struggle with.

Attempt 4: Compression + Chunked Sync

Added automatic compression before encoding. Added progress indicators. Added chunked sync for large inspections. Added paranoid error handling everywhere.

Finally worked.

Each iteration made it more robust, but each iteration also revealed new problems I hadn't anticipated. The worst part? Most issues only appeared on actual mobile devices with real network conditions. Couldn't reproduce them in Chrome's mobile simulator.

I spent two full days debugging why photos uploaded successfully but disappeared after sync, only to discover it was a race condition in IndexedDB transaction handling that only occurred on iPhone Safari under specific network conditions.

Fun times.

What I learned

Offline-first isn't a nice-to-have feature—it's essential for any system that expects users to work in the real world.

Building offline-first web applications is genuinely hard. Browser storage APIs have quirks. Mobile browsers behave differently than desktop. Network conditions in real properties are worse than you think. Testing requires actual devices in actual locations.

But watching someone fail to use your software is the best motivation to fix it properly. That agent with the paper checklist in the basement flat? She's using LetAdmin now, offline, and it just works.

Sometimes you need to rebuild something from scratch because your first attempt wasn't good enough. That's not failure—that's learning what actually matters.

What's next

Week 42 is about making all this inspection data actually useful:

Automated landlord reports: Professional PDF reports generated automatically from inspection data

Comparison views: See changes between consecutive inspections side-by-side

Photo annotations: Mark specific issues directly on photos with arrows and labels

Maintenance integration: Create repair jobs directly from inspection issues

Inspection scheduling: Calendar showing upcoming inspections, automatic reminders

The foundation is solid now. Time to build the features that make inspections genuinely valuable for landlord communication and property management.


LetAdmin is being built in public. This inspection system is already being used at Phillip James (370+ properties) for real tenant inspections, move-outs, compliance visits, and maintenance assessments. If you want to join the priority list or to share your inspection workflow challenges, get in touch: paul@letadmin.com