Jason Caldwell

    Bluebeam• 2024–2025

    40x faster document search for construction teams

    bluebeam.com
    A5.2 — Below Grade Wall Detail

    Foundation waterproofing, drainage board, and damp-proofing assembly

    Sheet A5.2100% match
    A5.2a — Alternate Footing Detail

    Step footing condition at property line, 12" min. bearing

    Sheet A5.2a100% match

    Role

    Staff Product Designer

    Timeline

    Beta 2024, V1 GA 2025

    Team

    1 Product Designer (me)

    1 Product Manager

    1 Engineer

    Skills

    Product Strategy

    Systems Design

    End-to-end UX

    Overview

    How do you search hundreds of millions of files without anyone waiting?

    Bluebeam Studio Projects house hundreds of millions of construction documents — specs, drawings, RFIs, submittals — the information that keeps projects moving. But finding anything meant manually opening folder after folder. I led design on intelligent search for Studio Projects, defining the search strategy, crawling logic, user experience, and the product architecture that would make Bluebeam’s entire ecosystem searchable — and force the platform to finally unify.

    What this required.

    Product Strategy

    Defining what search means for construction professionals, how to phase delivery, and using search as a forcing function for product unification.

    Systems Design

    Defining crawling logic, indexing strategy, permission models, cost/experience tradeoffs, and success metrics.

    End-to-end UX

    Designing the search interaction model — how users trigger indexing, perceive speed during crawling, understand incomplete results, recover from errors, and navigate between search contexts.

    Problem

    Construction professionals lose 5.5 hours per week searching for information they already have.

    AEC data storage relative growth (2018–2023, indexed to 2018)

    Hours per week spent searching for information (2018–2023)

    Between 2018 and 2023, AEC companies grew their data storage by 8x. [1] Time spent searching doubled to 13 hours per week. [2] The correlation was clear: more data meant more time wasted, not less.

    48% of construction rework stems from poor project data [3] — not having the right information at the right time.

    Bluebeam Studio Projects are cloud workspaces where construction teams store and collaborate on redacted of files — specs, drawings, RFIs, submittals. Studio sat between Revu (desktop) and Cloud (web), making it the natural bridge for search. But finding anything meant manually opening folder after folder.

    Studio’s existing “search” wasn’t search. It was keyword filtering by filename only, among files already downloaded locally. No content search. No subfolder search.

    Customers told us they’d spend days hunting for specs across thousands of pages. Crews would wait on-site while someone searched folder-by-folder for a single document. At multiple companies, it was best practice to avoid Studio Projects because search was broken.

    But the problem was bigger than broken search. Bluebeam had no centralized projects, no unified document storage. Studio, Revu, and Cloud existed in silos. We’d never leveraged basic indexing. We were way behind.

    Search wasn’t just a feature gap. It was a forcing function for the unification Bluebeam needed.

    Solution

    One search bar. Every file. Real-time results.

    I designed the end-to-end search experience for Studio Projects — search strategy, crawling logic, user experience, the search input, results display, filters, sorting, error states, and the flows that tie it all together. One search bar that reaches across your entire project. No more folder-by-folder hunting. No more guessing where something might be.

    This wasn’t about rebuilding Google for construction documents. We grounded every decision in what our users actually needed: find specific things fast. Not discovery. Not exploration. Precision.

    The design approach: Don’t index the world. Index what matters.

    The obvious solution — crawl and index all of Studio upfront — would cost redacted with redacted/month maintenance. We found a 4x cost reduction through ad-hoc indexing: only crawl projects when users actually search them. 99% of Studio Projects would index in under 1 minute.

    The technical unlock: concurrent segment search. Users don’t wait for the full crawl to finish. Results stream in as files are indexed. The target file often appears in 10–15 seconds, even though the full crawl takes 60 seconds.

    Core Flows

    The essential search experiences.

    Initiating a search

    Type your query, hit Enter — we start crawling and searching simultaneously.

    Filtering by match type

    Show only matches in filenames, folder names, or content — never all three at once.

    Sorting by relevance or recency

    Default to BM25 relevance, or override to find the newest version.

    Opening a file from results

    One click takes you directly to the file in Revu or web viewer.

    Search in Bluebeam Web

    Intelligent Search isn’t just for the desktop. The same experience — real-time results, filters, and one-click file opening — ships in Bluebeam Web too.

    The Case for Intelligent Search

    Why this was the moment to act.

    Customers were working around us

    We talked to architects, engineers, contractors, and GIS analysts. The pattern was clear: customers weren’t asking for better search. They’d given up. They were actively avoiding Studio Projects.

    “We need to search for keywords like ‘conduit’ across those thousand pages. But finding everything relevant is like looking for a needle in a haystack.”

    — M.D., PM

    Hours became days. Work slowed. He turned to other tools.

    “The search function is limited to your current location — you’re forced to navigate to the proper location first. If we can’t find the right folder, we’ll never find the file.”

    — M.L., Construction Site Inspector

    Twenty minutes to find one document. Crew waiting in the rain.

    “Really hard to index and search thousands of documents all at once.”

    — R.G., Senior GIS Analyst [4]

    At multiple companies, it was best practice to not use Studio Projects. Because it was too painful.

    Hypothesis: Broken search is an existential threat — customers are actively avoiding our product.

    Measured by: Studio Project abandonment rate, support tickets citing search, feature requests for basic findability.

    The industry had moved on

    AEC data storage relative growth (2018–2023, indexed to 2018)

    Hours per week spent searching for information (2018–2023)

    Between 2018 and 2023, AEC data storage grew 8x while time spent searching doubled to 13 hours per week. [1][2] The industry recognized the crisis: 58% of construction firms were investing in new technology specifically for better data access. [5]

    Meanwhile, Bluebeam had never leveraged basic indexing capabilities. We were way behind the times.

    Hypothesis: Search capability is now table stakes — we’re at risk of losing customers to competitors who solved this years ago.

    Measured by: Customer churn citing search; competitive loss rate; feature request volume.

    We own the ecosystem

    Studio

    Files & folders

    Revu

    Desktop PDF editor

    Cloud

    Web collaboration

    Data silos — no unified search

    Studio Projects house redacted of files. We own the data, the platform, and the workflow. If anyone should be able to search construction documents effectively, it’s us.

    But our products were fragmented. Studio, Revu, and Cloud existed in silos. No centralized projects. No unified document storage. Search couldn’t exist in one product — it had to bridge them all.

    Hypothesis: We’re uniquely positioned to solve this, but only if we’re willing to unify the platform.

    Measured by: Cross-product integration depth, centralized project adoption.

    The forcing function

    StudioRevuCloudSearchUnified platform+ AI-ready data layer

    Leadership’s directive: become an AI-centric company in 2024. Search was the foundation. You can’t build AI features on fragmented data.

    But search also forced a harder conversation: product unification. You can’t build effective search across silos. Building search meant confronting the architectural fragmentation we’d been avoiding.

    Search wasn’t just a feature. It was the wedge that would force Bluebeam to evolve from a collection of tools into a unified platform.

    Hypothesis: Search drives unification and enables AI — it’s infrastructure, not just a feature.

    Measured by: AI feature readiness, architectural alignment, platform integration.

    How We Shipped It

    Beta first, then native integration.

    I worked with PM and Engineering to phase the project into two releases. Beta validated demand and gathered usage data. V1 delivered the native, integrated experience.

    PhaseApproachWhat Shipped
    Beta (2024)Web-based proof of conceptManual crawl, browser-based search, file opening in Revu
    V1 (2025)Native integrationIn-Revu search, ad-hoc indexing, debuted at Unbound 2025
    Click buttonin Revu1Opensweb tab2Crawls StudioProject3Searches4Clicksresult5Opens filein Revu6

    Beta flow — deliberately clunky

    The beta model was deliberately clunky: user clicks a button in Revu → opens web tab → crawls Studio Project → searches → clicks result → opens file in Revu. Far from ideal, but it let us validate demand, gather usage data, and buy time to build something that could scale. We knew going in: the beta proves the value, V1 delivers the experience.

    Beta learnings validated demand

    80%

    Don't use a separate CMS or PIS system

    60%+

    Cited time savings as biggest impact

    43%

    Primarily doing keyword searches

    36%

    Searching for filenames

    Design Decisions

    Hard choices, explicit tradeoffs.

    Building search for Studio meant making decisions we could defend. Here are the ones that shaped the product.

    Don’t index the world. Index what matters.

    The obvious approach: crawl and index all of Studio upfront. Every project, every file, immediately searchable. That’s the best user experience. It’s also redacted upfront, redacted/month to maintain.

    The tension: Do we pay for perfection, or find a cheaper way that’s still good?

    I asked: What if we only crawl a project when someone actually searches it?

    Most projects would never need indexing. And the ones that did would index fast:

    99%

    Studio Projects have ≤11,000 files

    15K

    Files per minute crawl throughput

    <1m

    Indexing time for 99% of projects

    4x

    Cost reduction vs. full index

    The tradeoff: a ~1 minute wait on the very first search of a project. Every search after that is instant. The user’s intent — “I want to search this” — becomes the signal to index. No “Make Searchable” button. No setup. Just search.

    The constraint made the decision. The question is never “what’s the best experience?” It’s “what’s the best experience given the constraints?”

    Concurrent segment search: perception of speed.

    Even with ad-hoc indexing, a full crawl takes ~60 seconds. Users won’t wait. The design challenge: how do you make 60 seconds feel fast?

    The answer: don’t make them wait at all. As each segment finishes crawling, we search it immediately and stream results — newest files first. The target often appears in 10–15 seconds, while the rest indexes in the background.

    Traditional searchindex everything first, then return results
    A5.2 Wall Detail100%
    Spec 26 05 33100%
    RFI #11296%
    Submittal E-04193%
    Schedule E0.189%
    waiting for index to complete…
    015s30s45s60s
    Concurrent segment searchresults stream in as each segment finishes indexing
    A5.2 Wall Detail100%
    Spec 26 05 33100%
    RFI #11296%
    Submittal E-04193%
    Schedule E0.189%
    015s30s45s60s2s12s24s38s50s
    First results in 2s vs 45s22× faster to first result

    Concurrent segment search — results stream as each archive segment finishes indexing

    Why it works psychologically. Seeing 12 results at 2 seconds, then 29 at 4, then 47 at 6 feels instant — even when the full index takes 60. A blank screen for the same 60 seconds reads as broken instead of working. That first interaction decides whether users trust search or go back to folder trees.

    The tradeoff. Relevance ranking (BM25) needs global statistics — how rare a term is across all files. Stream before the crawl finishes, and those stats are incomplete. The top result might be 3rd-most-relevant, not 1st.

    Why that was fine. AEC search is retrieval, not discovery. Users aren’t exploring — they’re after “A-201” or “RFI-247,” things they know exist. As long as the target is on the first page, its exact rank doesn’t matter. And indexing newest-first wasn’t a guess: document access follows a power-law, with ~90% of accesses targeting files less than a year old. [6] We indexed in the order users needed results.

    Search on Enter, not on every keystroke.

    Modern search feels live — results updating with every character, Google-style. The design question: does that fit how construction professionals actually search?

    It doesn’t. Live search assumes you’re exploring, refining a vague query as you watch results shift. But AEC users type things like “A-201” or “ELEC-PANEL-3B” — exact identifiers they already know. They’re not browsing toward an answer. They have one in mind.

    Live searchresult on every keystroke
    Search on Enterone commit, one result set
    |
    queries fired:0
    —
    |
    queries fired:0
    —
    “ELEC-PANEL-3B” fires 12 queries live — 1 on Enter

    So we search on Enter. The user composes the full query, commits, and gets one clean set of results — no flicker, no half-formed matches for “A-2” before they finish typing “A-201.”

    It was also the responsible choice technically. Every keystroke is a query. Live search on “ELEC-PANEL-3B” fires a dozen queries to answer one question. Enter fires one.

    Filters that narrow, never expand.

    A single query can match in three different places: inside a file’s content, in its name, or in its folder’s name. By default, we search all three — so a search for “conduit” surfaces a file named conduit-detail.pdf, a file containing the word, and anything inside a folder called /conduit/.

    The design question: how do users narrow to just the kind of match they want — without learning a query syntax?

    conduit

    Match type

    Content
    File names
    Folder names

    Nothing checked = search all

    6 results — all match types

    conduit-detail.pdfFile names
    conduit-specs.pdfFile names
    Load Calc Rev3.pdfContent
    Electrical Notes.pdfContent
    Panel Schedule.pdfFolder names
    Wire Gauge Chart.pdfFolder names
    Rule:Nothing checked → search all three.  Something checked → only that.  Multiple checked → OR between them.

    Checkboxes, with one rule users never have to learn: nothing checked → search all three. Something checked → only that. Check “File names” and “Folder names,” and you get either — an OR between selections.

    The tradeoff: no compound logic. You can’t express “file names AND modified this week” as a strict AND. Everything across selections is OR. But Boolean filter builders are where simple search UIs go to die. Predictable beats powerful when the user just wants to narrow a list.

    Every dead-end needs an exit sign.

    Search has more ways to fail than most features. The project isn’t indexed yet. A file got deleted after it was indexed. The user doesn’t have permission to the file they just matched. The connection drops mid-crawl. Each of these is rare individually — but across a system this size, every rare failure is somebody’s Tuesday.

    The easy path is a generic error: “Something went wrong.” The design work was making each failure tell the user what happened and what to do next.

    • No results → not just “0 results,” but a nudge: check spelling, broaden terms, or “this project may still be indexing.”
    • No permission → matched files the user can’t open are hidden entirely, not teased. A locked door you can see is worse than one you can’t.
    • Offline → “Connect to search,” with the last results still visible — not a blank, broken screen.
    • Stale index → a file deleted after indexing drops from results on click rather than opening a dead link.

    The principle, borrowed from any well-run job site: never leave someone stranded. Every dead-end gets an exit sign.

    Measure time-to-open, not engagement.

    The default way to measure a feature is engagement: searches per user, time spent searching, weekly active searchers. Every one of those would have been the wrong target.

    Engagement metrics assume the activity is the value — more searching means a healthier product. But nobody wants to search more. They want to search less: find the file, get back to work. Optimizing for time-spent-searching would mean celebrating the exact thing users were trying to escape.

    Wrong target

    Searches per user ↑

    High engagement looks like success. But it means users are struggling to find what they need.

    Right target

    Time-to-open ↓

    Seconds from query to file on screen. Captures the whole journey: crawl, rank, click, open.

    So I started somewhere else: forget the product for a second. What does the user actually want? To open the right file. What are they doing to get it? Searching. How well is it working? Time-to-open — the seconds from typing a query to the file on screen.

    That became the primary metric, with a target: under 30 seconds, end to end. It’s honest because it captures the whole journey — query, crawl, results, click, open. If indexing is slow, ranking is off, or the open is clunky, the number moves. One metric, accountable for the entire experience, pointed at the only outcome the user cares about.

    Outcome

    Shipped on schedule. The 30-second target, met.

    redacted%

    Of searches open the target file in under 30 seconds

    4x

    Cost reduction vs. full upfront indexing

    20m → <30s

    Time to find a file, before and after

    We hit the primary metric: redacted% of time-to-open completed in under 30 seconds — down from the 20-minute, folder-by-folder hunt it replaced. Beta to GA shipped across 2024–2025, and ad-hoc indexing delivered the experience at a quarter of the projected cost.

    In the Wild

    Press, coverage, and official media.

    Official sizzle reels

    Sizzle Reel #1

    Sizzle Reel #2

    Unbound 2025 keynote

    Intelligent Search presented by Bluebeam Founder Don Jacob

    Try It

    Search a construction project.

    This demo searches 200+ simulated AEC documents across three projects — a mixed-use tower, a municipal renovation, and a wind farm. Try a natural language query like “fire suppression systems” or a keyword like “RFI-0112.”

    Search across 200+ simulated AEC construction documents.

    Reflection

    What I learned

    Cost constraints forced better design.

    We couldn’t afford to index all of Studio upfront (redacted). Good. Ad-hoc indexing — crawl only when users search — cut costs by 4x and made the product feel smarter. The system learns what matters by watching what people actually search for. Constraint killed waste.

    Engagement metrics are a trap.

    The temptation was to measure searches per user or time spent searching. Those metrics feel like success — high engagement, lots of activity. But users don’t want to search more. They want to find things faster and get back to work. Time-to-open forced us to care about speed, relevance, and integration — the things that actually matter.

    Perception of speed beats actual speed.

    The full crawl takes ~60 seconds. But results start appearing in 10–15 seconds (concurrent segment search). Users don’t care if 100% of the project is indexed — they care if their file shows up fast. Streaming results made search feel instant, even when the backend was still working.

    Sometimes the feature is the forcing function.

    Search wasn’t chosen because the market demanded it. It was chosen because Bluebeam’s product architecture was fragmented — no centralized projects, no unified storage. Search became the wedge that forced those conversations. You can’t build effective search across silos. The feature made the structural problem impossible to ignore.

    Sources

    [1] AEC data storage growth (8x, 2018–2023): Egnyte AEC Data Insights Report, 2024 ↩

    [2] Construction professionals search time (13 hours/week, doubled in 5 years): Autodesk/Deloitte, State of Data Capabilities in Construction, 2023 ↩

    [3] 48% of rework from miscommunication/poor data: Plangrid Construction Rework Study, 2018 ↩

    [4] Robert Graham quote: Bluebeam Community Forums ↩

    [5] 58% of construction firms invest in tech for better data access: PwC / KPMG Global Construction Survey ↩

    [6] Document access power-law (~90% of accesses target files <1 year old): Dumais, S., Cutrell, E., Cadiz, J., et al. “Stuff I’ve Seen: A System for Personal Information Retrieval and Re-Use.” SIGIR 2003. ↩