Turning a fragmented, deeply nested acquisition dataset into one simple interface
Turning a fragmented,
deeply nested acquisition dataset
into one simple interface
Turning a fragmented,
deeply nested acquisition dataset
into one simple interface
Turning a fragmented, deeply nested acquisition dataset into one
simple interface
OVERVIEW
I.
Turning four disconnected
datasets into one place to work
Turning four disconnected
datasets into one place to work
Turning four disconnected
datasets into one place to work
Turning four disconnected
datasets into one place
to work
Obviant unifies thousands of budget, contract,
program, and organizational sources into a single
platform for evaluating and pursuing
opportunities. Each category follows a unique
structure and nesting depth. To handle
this inherent complexity, we designed the core
experience across all four explorers from
the ground up, creating a shared design system
to ensure consistency as the platform scaled.
Obviant unifies thousands of budget, contract,
program, and organizational sources into a single
platform for evaluating and pursuing opportunities.
Each category follows a unique structure
and nesting depth. To handle this inherent
complexity, we designed the core experience
across all four explorers from the ground up,
creating a shared design system to ensure
consistency as the platform scaled.
Obviant unifies thousands of budget,
contract, program, and organizational
sources into a single platform for evaluating
and pursuing opportunities. Each category
follows a unique structure and nesting
depth. To handle this inherent complexity,
we designed the core experience across
all four explorers from the ground up,
creating a shared design system to ensure
consistency as the platform scaled.
Obviant unifies thousands of budget, contract,
program, and organizational sources into a single
platform for evaluating and pursuing opportunities.
Each category follows a unique structure
and nesting depth. To handle this inherent
complexity, we designed the core experience across
all four explorers from the ground up,
creating a shared design system to ensure
consistency as the platform scaled.
The interface shown reflects the design at the time of our engagement and may differ from the current product.
The interface shown reflects the design at the time
of our engagement and may differ from the current product.
The interface shown reflects the design
at the time of our engagement and may differ
from the current product.
The interface shown reflects the design
at the time of our engagement and may differ
from the current product.
4
3
Structurally distinct data categories —
unified under one consistent interaction pattern
Structurally distinct data
categories — unified under one
consistent interaction pattern
Structurally distinct
data categories — unified
under one consistent
interaction pattern
Structurally distinct data categories —
unified under one consistent
interaction pattern
Levels of nested hierarchy, all accessible through
one reusable expandable pattern
Levels of nested hierarchy,
all accessible through one reusable
expandable pattern
Levels of nested hierarchy,
all accessible through one
reusable expandable pattern
Levels of nested hierarchy, all accessible
through one reusable expandable pattern
PROBLEM
ii.
Complexity was structural,
not cosmetic
Complexity
was structural,
not cosmetic
Complexity was structural,
not cosmetic
Teams needed to quickly judge whether
an opportunity was worth pursuing —
without manually reconciling thousands
of differently-shaped data sources by hand.
Teams needed to quickly judge whether
an opportunity was worth pursuing —
without manually reconciling thousands
of differently-shaped data sources by hand.
Teams needed to quickly judge whether
an opportunity was worth pursuing —
without manually reconciling thousands
of differently-shaped data sources
by hand.
Teams needed to quickly judge whether
an opportunity was worth pursuing —
without manually reconciling thousands
of differently-shaped data sources by hand.
The data doesn't come in one shape
The data doesn't come in one shape
The data doesn't come
in one shape
The data doesn't come in one shape
Budget line items nest in parent/child relationships, organizations run several levels
deep, and contracts are largely flat transaction histories. A navigation pattern built
for one of these would have broken on the other two.
Budget line items nest in parent/child relationships, organizations run
several levels deep, and contracts are largely flat transaction
histories. A navigation pattern built for one of these
would have broken on the other two.
Budget line items nest in parent/child relationships,
organizations run several levels deep,
and contracts are largely flat transaction histories.
A navigation pattern built for one of these
would have broken on the other two.
Budget line items nest in parent/child relationships,
organizations run several levels deep, and contracts
are largely flat transaction histories. A navigation
pattern built for one of these would have broken
on the other two.
The source language wasn't built for scanning
The source language wasn't built for scanning
The source language wasn't built
for scanning
The source language wasn't built
for scanning
Much of the underlying source material — budget justifications, program
documentation — is dense, formal, and written for a compliance audience,
not for someone trying to make a fast decision.
Much of the underlying source material — budget justifications,
program documentation — is dense, formal, and written
for a compliance audience, not for someone trying to make
a fast decision.
Much of the underlying source material — budget
justifications, program documentation — is dense,
formal, and written for a compliance audience,
not for someone trying to make a fast decision.
Much of the underlying source material — budget
justifications, program documentation — is dense,
formal, and written for a compliance audience,
not for someone trying to make a fast decision.
Default depth created noise during program comparisons
Default depth created noise during
program comparisons
Default depth created noise
during program comparisons
Default depth created noise during
program comparisons
Someone comparing multiple opportunities at once was met with full transaction histories, subcontractor lists, and org charts all loaded by default — depth that's essential for one item becomes noise when scanning ten.
Someone comparing multiple opportunities at once was met with full
transaction histories, subcontractor lists, and org charts all loaded
by default — depth that's essential for one item becomes noise
when scanning ten.
Someone comparing multiple opportunities
at once was met with full transaction histories,
subcontractor lists, and org charts all loaded
by default — depth that's essential for one item
becomes noise when scanning ten.
Someone comparing multiple opportunities at once
was met with full transaction histories,
subcontractor lists, and org charts all loaded
by default — depth that's essential for one item
becomes noise when scanning ten.
OUR APPROACH
iii.
One consistent pattern,
applied across a fragmented dataset
One consistent pattern,
applied across
a fragmented dataset
Rather than building a separate tool for each
data category, we designed one detail-page
pattern — headline numbers, a trend chart,
related items, expandable depth — and adapted
it to each category's structure. As the product
grew, this pattern was formalized into a design
system, so new data types and features could
reuse established components rather than each
becoming its own one-off build.
Rather than building a separate tool for each data
category, we designed one detail-page pattern —
headline numbers, a trend chart, related items,
expandable depth — and adapted it to each
category's structure. As the product grew,
this pattern was formalized into a design system,
so new data types and features could reuse
established components rather than each
becoming its own one-off build.
Rather than building a separate tool for each
data category, we designed one detail-page
pattern — headline numbers, a trend chart,
related items, expandable depth —
and adapted it to each category's structure.
As the product grew, this pattern
was formalized into a design system, so new
data types and features could reuse
established components rather than each
becoming its own one-off build.
Rather than building a separate tool for each data
category, we designed one detail-page pattern —
headline numbers, a trend chart, related items,
expandable depth — and adapted it to each
category's structure. As the product grew,
this pattern was formalized into a design system,
so new data types and features could reuse
established components rather than each
becoming its own one-off build.
Unified search bar replacing
four separate explorers
Unified search bar
replacing four
separate explorers
Unified search bar replacing
four separate explorers
Unified search bar replacing four
separate explorers
The homepage leads with natural-language search rather than routing users straight into a specific data category — one entry point instead of several.
The homepage leads with natural-
language search rather than routing
users straight into a specific data
category — one entry point instead
of several.
The homepage leads with natural-language
search rather than routing users straight
into a specific data category — one entry
point instead of several.
The homepage leads with natural-language
search rather than routing users straight
into a specific data category — one entry
point instead of several.
Hierarchy made visual
Hierarchy made visual
Hierarchy made visual
Hierarchy made visual
Data nests several levels deep across organizations and programs; an expandable tree lets users drill down without losing their place, regardless of which category they're in.
Data nests several levels deep across
organizations and programs;
an expandable tree lets users drill down
without losing their place, regardless
of which category they're in.
Data nests several levels deep across
organizations and programs; an expandable
tree lets users drill down without losing
their place, regardless of which category
they're in.
Data nests several levels deep across
organizations and programs; an expandable
tree lets users drill down without losing
their place, regardless of which category
they're in.
AI summaries, source one tab away
AI summaries, source one
tab away
AI summaries, source one
tab away
AI summaries, source one
tab away
Dense source text is distilled into a plain-language summary anyone can scan, with the original always available alongside it.
Dense source text is distilled
into a plain-language summary anyone
can scan, with the original always
available alongside it.
Dense source text is distilled into
a plain-language summary anyone can scan,
with the original always available alongside it.
Dense source text is distilled into
a plain-language summary anyone can scan,
with the original always available alongside it.
RESULTS
iv.
A simpler way through
the data
A simpler way
through the data
4
Structurally distinct data categories — budget line items with parent/child hierarchies, multi-level organization structures, and flat contract transaction histories — absorbed into a single interaction pattern, so users learned
one system instead of four.
Structurally distinct data categories — budget line items
with parent/child hierarchies, multi-level organization
structures, and flat contract transaction histories —
absorbed into a single interaction pattern, so users
learned one system instead of four.
Structurally distinct data categories —
budget line items with parent/child
hierarchies, multi-level organization
structures, and flat contract transaction
histories — absorbed into a single
interaction pattern, so users learned
one system instead of four.
Structurally distinct data categories —
budget line items with parent/child
hierarchies, multi-level organization
structures, and flat contract transaction
histories — absorbed into a single
interaction pattern, so users learned
one system instead of four.
3
Levels of nested hierarchy, all accessible through one reusable expandable pattern — so depth stayed available for a single deep dive,
without cluttering the view when scanning several opportunities at once.
Levels of nested hierarchy, all accessible through
one reusable expandable pattern — so depth stayed
available for a single deep dive, without cluttering
the view when scanning several opportunities at once.
Levels of nested hierarchy, all accessible
through one reusable expandable
pattern — so depth stayed available
for a single deep dive, without cluttering
the view when scanning several
opportunities at once.
Levels of nested hierarchy, all accessible
through one reusable expandable
pattern — so depth stayed available
for a single deep dive, without cluttering
the view when scanning several
opportunities at once.
Contact
Tell us what you're working on.
We'll respond
within one business day.
You've submitted recently
We'll review your message and respond
within one business day.