One Mistake We Made Early On
When we first started building the client portal for XSpace Design—a high-end architectural firm producing massive 3D renders and CAD plans—we made a classic developer assumption: we assumed clients would always access the portal from powerful desktop computers with high-speed office internet.
The reality was very different. During project walkthroughs, architects and clients were regularly accessing the portal on mobile tablets and phones on site with spotty mobile connections.
When someone opened a project gallery containing dozens of 40MB uncompressed CAD previews, browsers would freeze, memory usage would skyrocket, and the interface felt sluggish.
[What We Originally Thought]
Clients browse on high-end desktops ──> Load full-res files immediately
[What Actually Happened]
Clients browse on tablets on-site ──> Browser memory limit exceeded ──> App crashes
The Solution: Smart Asset Streaming & Smooth Placeholders
We quickly realized we needed to redesign how heavy media assets were processed and delivered.
Instead of serving raw architectural files directly, we built an automated processing background pipeline:
- Direct Upload: High-res blueprints upload straight to secure cloud storage.
- Instant Thumbnails: Serverless functions automatically generate lightweight WebP previews and tiny blur placeholders.
- Lazy Hydration: On the client side, smooth blur placeholders render instantly while full-resolution assets load asynchronously only as the user scrolls them into view.
USER EXPERIENCE LESSON
Perceived speed is just as important as actual loading speed. Showing a immediate low-resolution placeholder with a smooth transition feels infinitely faster to a user than staring at a blank container waiting for a 20MB download.
Protecting Proprietary Client Designs
Architectural blueprints represent confidential client IP. A major concern for XSpace was ensuring client files weren't publicly accessible through direct URL guessing.
We implemented PostgreSQL Row Level Security (RLS) policies along with short-lived, signed access URLs. If a client isn't explicitly assigned to a specific project workspace, the database rejects the file request at the connection boundary.
Summary
Building XSpace taught us that great software engineering is about understanding the real environment where your software is used. By designing for mobile devices on spotty networks first, we delivered a portal that feels instantaneous, secure, and effortless for XSpace's clients.
Need to build software that follows the same engineering principles?
INQ Studios builds production-ready SaaS platforms, internal tools, and web applications for ambitious teams.
Let's build together →
Frequently Asked Questions
How did you handle large architectural blueprints without slowing down mobile browsers?
We generated lightweight blurry preview placeholders and streamed high-resolution image assets asynchronously only when they entered the user's viewport.