How it works
Delta Portal
MATTER, deployed for Delta. Delta’s deployment of MATTER: RFIs, bids, contracts and chat. It replaced Procore, a $48K-a-year bill; about 400 past projects moved off it in about two hours.
Live · Delta Construction
Architecture
Hover a box to trace its connections; click it for what it does.
- request
- webhook, queue, schedule
- the heart
- outside service
APeople· 2Delta’s team · Architects & subs
Delta’s teamweb · phones · iPadsUI
UI · web · phones · iPads
Delta’s project managers, engineers and field staff, in the app.
Talks to
- → Public API (HTTPS)
- → Live sockets (live)
Architects & subsemailed linksUI
UI · emailed links
People outside Delta. They answer RFIs and submit bids from a link, without an account.
Talks to
- → Public API (emailed link)
BGateway· 2Public API · Live sockets
Public APISpring Boot · JWTSERVICE
SERVICE · Spring Boot · JWT
Checks who is asking and forwards each request with their identity. Link tokens are checked here too.
Talks to
- ← Delta’s team (HTTPS)
- ← Architects & subs (emailed link)
- → Project (REST)
- → Bid packages (REST)
Live socketsWebSocketsREALTIME
REALTIME · WebSockets
Pushes chat and notifications to open apps as they happen.
Talks to
- ← Delta’s team (live)
- ← Redis (pub/sub)
CProject· 9Project · RFIs · Submittals · Drawings · Chat · Bid packages · Bids · Contracts · Notifications
Projectteam · directorySERVICE
SERVICE · team · directory
Everything hangs off a project and the companies and people on it.
Talks to
- ← Public API (REST)
- → Bid packages (packages)
- → PostgreSQL (SQL)
- ← Procore (import)
RFIsball in courtSERVICE
SERVICE · ball in court
Questions to the design team, with the ball moving between companies as the RFI is answered.
Submittalsrevise & resubmitSERVICE
SERVICE · revise & resubmit
Submittals go round in revisions until approved.
Drawingssheets · revisionsSERVICE
SERVICE · sheets · revisions
Plan sets split into sheets, with revisions side by side.
Talks to
- → Object storage (files)
- → Autodesk APS (linked files)
Chatreal timeSERVICE
SERVICE · real time
Project conversations, live.
Talks to
- → Redis (publish)
Bid packagesinvites · levelingSERVICE
SERVICE · invites · leveling
A trade’s scope packaged for bidding, with the subs invited to it.
Talks to
- ← Public API (REST)
- ← Project (packages)
- → Bids (collects)
BidsSOV · alternatesSERVICE
SERVICE · SOV · alternates
Each sub’s bid, with a schedule of values and any alternates, levelled against the others.
Talks to
- ← Bid packages (collects)
- → Contracts (awarded)
ContractsSOV from the awardSERVICE
SERVICE · SOV from the award
The awarded bid’s schedule of values is carried onto a payable contract on the same project.
Talks to
- ← Bids (awarded)
Notificationsin-app · emailSERVICE
SERVICE · in-app · email
Tells people when something they own moves.
Talks to
- → Redis (publish)
DData· 3PostgreSQL · Object storage · Redis
PostgreSQLSTORE
STORE
The record of every project, RFI, bid and contract.
Talks to
- ← Project (SQL)
Object storageS3-compatibleSTORE
STORE · S3-compatible
Drawings, attachments and photos.
Talks to
- ← Drawings (files)
Redispub/subSTORE
STORE · pub/sub
Carries chat and notification events to the sockets.
Talks to
- ← Chat (publish)
- ← Notifications (publish)
- → Live sockets (pub/sub)
ELinks· 2Procore · Autodesk APS
Procoreone-time importEXTERNAL
EXTERNAL · one-time import
Projects came across from Procore once. Nothing writes back.
Talks to
- → Project (import)
Autodesk APSfolders · filesEXTERNAL
EXTERNAL · folders · files
Delta’s Autodesk folders and files, linked to the project.
Talks to
- ← Drawings (linked files)
Connections · 15
→ request · ⇢ webhook, queue or schedule
- Delta’s team → Public API · HTTPS
- Architects & subs → Public API · emailed link
- Delta’s team → Live sockets · live
- Public API → Project · REST
- Public API → Bid packages · REST
- Project → Bid packages · packages
- Bid packages → Bids · collects
- Bids → Contracts · awarded
- Chat ⇢ Redis · publish
- Notifications ⇢ Redis · publish
- Redis ⇢ Live sockets · pub/sub
- Project → PostgreSQL · SQL
- Drawings → Object storage · files
- Drawings → Autodesk APS · linked files
- Procore ⇢ Project · import
One flow
A bid package becomes a subcontract
Walk through it and each step lights the parts it runs through in the drawings above.
By count
- past projects moved off Procore, in about two hours
- ~400
- a year of Procore licensing, replaced
- $48K
Notes
- N.1It replaced Procore, whose bill grew as Delta did. Projects were brought over from Procore once; nothing writes back to it.
- N.2About 180 active projects and $14M in contracts run through it, with hundreds of RFIs a week.
- N.3People outside Delta answer RFIs and submit bids from an emailed link, so the people who owe a reply don’t need a login.
- N.4Chat is live, and you aren’t notified about a conversation you’re already reading.
Built by
I design, architect and build software products like this one.
More systems