Marine Construction Bids: How to Find Dock and Ramp Work

I spent two days downloading bid tabulations. All of them: every itemized tab the Florida DOT's central office published from 2020 through 2025, plus District One's full six years and District Four's current lettings. 1,759 documents, about 660 megabytes of public record, every pay item on every letting with every bidder's unit price against it.
I was hunting for floating docks, because we had just published what six real bids say about floating dock cost per square foot and I wanted more lettings like it. Here is what 1,759 tabulations produced: exactly one letting with a floating dock pay item. One.
That number looked like a wasted weekend for about ten minutes. Then it turned into the most useful thing the whole exercise taught us. If you build docks, gangways, or boat ramps and you have been watching DOT letting calendars for marine construction bids, you have been watching the wrong pipe, and nobody publishes a map of the right ones. So this article is that map: where the work actually bids, how to find the tabulations that show what it sold for, how to read them line by line, and how to turn a folder of public PDFs into a price database your estimating team can actually use.
What a bid tabulation is, and why it beats every cost guide
When a public agency opens bids, it publishes the tabulation: every bidder, every pay item, every unit price. Not a summary, not an average. The actual numbers each estimator committed to, on the record, next to their competitors' numbers for the identical line.
That makes tabs the only public place where real construction prices exist at line-item level. Cost guides give you a smoothed national figure with no context. RSMeans-style databases give you assembled estimates, which are a model of what prices should be. A bid tab gives you what six real companies, on a real Tuesday, actually offered to build the thing for. When those numbers disagree with the cost guide, the tab is right.
Tabs are also where the strange things hide. The one dock letting we found showed six contractors pricing identical scope 2.7x apart, and one bidder pricing three structurally different products at the same rate to the penny, which is a plug number, not an estimate. You only catch that by reading the tabulation line by line, and almost nobody does, which is exactly why it is worth your time.
A note on access, because people assume this data is paywalled: it is not. Tabulations are public records. Commercial aggregators sell convenient access to the same documents, and if you bid daily across many states they may earn their fee. But every document we used for this research was free, published by the agency itself, and downloadable by anyone with the patience to find it. The finding is the hard part, which is why the rest of this article exists.
The experiment: 1,759 tabs, six years, one dock
Here is exactly what we searched, so you can judge the result. The Florida DOT central office publishes its bid tabs in yearly archives, one PDF per contract. We downloaded all of them from 2020 through 2025: 1,210 documents. Then we pulled District One's own lettings for the same six years and District Four's current year, another 549 documents. Every one is an itemized tabulation in the same format: a vendor ranking page, then page after page of pay items with each bidder's unit price and extended amount.
We ran every page of every document through a text scan for marine pay items: the 751-series item codes Florida uses for floating structures, plus the words floating dock, gangway, boat ramp, fishing pier, marina, wharf, boardwalk, seawall, bulkhead, sheet pile, and fender system.
The result surprised me even after I had guessed the direction:
- Floating dock, gangway, or fixed platform pay items: 1 letting out of 1,759. A single boat ramp program in Broward County. Every other "dock" match in the corpus was a road project near a fishing pier, which is the kind of false positive that teaches you to read the item lines rather than the project names.
- Steel sheet piling: 216 price lines. Bulkheads: 148. Bridge fender systems: 42. The bridge-and-coastal family is alive and well in DOT work.
- One pedestrian boardwalk project, in a state park setting, with its own timber boardwalk pay items.
The structural reason is simple once you see it. A DOT owns roads and bridges, so its lettings bid what roads and bridges need: asphalt, piles, barriers, drainage, and occasionally the sheet pile and fenders that protect a bridge from water. Waterfront recreation, marinas, launches, and docks belong to different owners. Different owners bid through different channels, and none of those channels is the DOT letting calendar you may have bookmarked.
Where marine construction bids actually live
So where does the dock work bid? Five channels, in rough order of volume.
1. Fish and wildlife grant programs
In Florida, the Fish and Wildlife Conservation Commission runs boating infrastructure grant programs that fund exactly the work we were hunting: ramps, floating docks, gangways, staging docks. The money flows to counties and cities, who then bid the construction locally. Most coastal states have an equivalent, and the federal Boating Infrastructure Grant program feeds the same pipeline nationally.
The programs run in tiers. State-level programs fund the smaller ramp and dock projects on annual cycles, while the federal Boating Infrastructure Grant program funds the larger transient-boater facilities, the marinas and long docks, through the same state agencies. Both publish who won money, for what, and how much, and both feed the identical downstream pipeline: a county procurement office bidding construction twelve to twenty-four months later.
The practical trick: the grant award list is a forward calendar of marine construction bids. When a county wins a ramp-and-dock grant this year, that county's procurement office will bid the work in the next year or two. Reading the award list tells you which agencies to watch before anything appears on a bid board.
2. Coastal county and city procurement
This is where the volume is. One Florida county we checked, Collier, awarded two dock rehabilitation projects in a single recent cycle: a park and boat ramp rehabilitation at about $2.7 million covering seawall, floating docks, guide piles, and a boat lift, and a second ramp project at about $1.2 million with a new floating dock in scope. Nearly four million dollars of exactly-our-kind-of-work, in one county, in roughly a year, and none of it visible in any DOT archive.
Multiply that by every coastal county with public waterfront and you have the real market. The catch is fragmentation: every county and city runs its own portal, some publish tabulations and some do not, and there is no central index. The agenda packet method below is how you beat that.
3. Port authorities and water management districts
Ports bid wharf work, mooring structures, gangways, and access platforms on their own procurement calendars. Water management districts bid water-control structures and the occasional public access facility. Both publish awards through their boards, which again means agenda packets.
4. State park and recreation capital programs
Parks departments carry boardwalks, fishing piers, kayak launches, and campground docks. The boardwalk project in our corpus was exactly this kind of work, and it reached a DOT letting only because of a funding arrangement; most park work bids through the parks agency or its general services department.
5. Federal work
The Corps of Engineers and other federal owners bid marine structures through SAM.gov. Federal work is a different competitive world, with its own registration and bonding hurdles, but the solicitations and awards are public and searchable, and for larger fabricators it is a real channel.
The agenda packet method: finding tabs no portal shows you
County procurement portals are inconsistent. Some publish full tabulations, many publish only the award, and some purge documents after the award. But there is a back door that works almost everywhere, and it is our favorite finding from this research.
Almost every award of public money must be approved by a board: county commissioners, a city council, a port board. The approval shows up as an item in the meeting's agenda packet, and the packet almost always attaches the supporting documents, including the bid tabulation. Agenda archives are public, go back years, and are searchable on most clerk websites.
The walkthrough, using the Collier example above:
- Find the award. A news item, a portal listing, or the grant award list tells you the project existed and roughly when it was awarded.
- Go to the clerk's agenda archive, not the procurement portal. Search the months around the award date for the project name or the contractor's name.
- Open the award-approval item. The backup documents typically include the recommendation memo, the tabulation of all bids received, and sometimes every bidder's full schedule of values.
- Save everything. Documents move and links rot; a local folder of PDFs is your asset.
Two search-engine shortcuts round this out. Searching the exact phrase "bid tabulation" together with your product word and a region surfaces tabs sitting on municipal file servers that no page links to anymore. And on platforms that many cities share, public documents live at predictable addresses, so one found document often reveals the pattern for finding hundreds more from the same platform.
How to read a bid tab, line by line
If you have never sat with a DOT-style tabulation, here is the anatomy, using real lines from the one dock letting we found. A tab opens with a vendor ranking page: every bidder, their total, and their percentage of the low bid. Then come the item pages. Each line looks like this:
Before the items, read the ranking page for thirty seconds. It lists every bidder with their total and their percentage of the low bid, and that percentage column is a one-glance market summary: a field clustered at 100 to 108 percent means everyone read the package the same way, while a field running from 100 to 199 percent, which is what the dock letting showed, means the documents left room for interpretation and the bidders interpreted. The spread on the ranking page tells you whether the interesting story is in the market or in the package.
Reading left to right: the line number on this contract (0090), the agency's pay item code (0751-53-3, Florida's floating dock item), the quantity (4,000), then for each bidder in turn the unit price ($110.00) and the extended amount (unit price times quantity, $440,000). The item description and unit of measure sit under the numbers. Bidders appear in ranked order across the page, three at a time, so a six-bidder letting shows every item twice, once for bidders one through three and once for four through six.
Details that matter when you start mining:
- Parentheses around a quantity mean lump sum. Mobilization, clearing, and contingency items are bid as one price, not a rate. Do not divide a lump sum by a quantity and call it a unit price.
- Section totals are your sanity check. Tabs group items into sections (the dock letting had "Roadway" and "Architectural"; the marine items sat under Architectural). If your transcribed lines do not sum to the printed section total, you misread a line.
- "Do not bid" items exist. Partnering and contingency lines carry identical fixed amounts for every bidder. Exclude them from any price analysis.
- The winner is the low total, not the low line. A bidder can be highest on your favorite item and still win the contract. Unit prices tell you how each company sees each scope, and the allocation across lines is itself information: money parked on early-pay items like mobilization is a strategy you can see.
What the one dock letting showed
The single floating dock letting in our corpus was worth the entire hunt. Six pre-qualified contractors priced 4,000 SF of floating dock, 1,370 SF of gangway, and 800 SF of fixed platform, identical documents for everyone. The dock line came in at $110.00, $204.24, $230.00, $250.54, $300.00, and $300.00 per square foot. Gangways spread even wider, $75 to $300. And one bidder priced all three products at exactly $204.24 per square foot, the same number to the penny, which tells you the marine scope was priced as one blended plug rather than estimated product by product.
We published the full line-by-line breakdown, with every bidder named and a budgeting guide built from the ranges, in the companion piece: Floating Dock Cost Per Square Foot: What Six Real Bids Reveal. If you only read one tabulation this year, read that one.
What DOT tabs do carry for marine fabricators
The DOT archive was not empty for marine-adjacent shops; it was empty for docks specifically. If your lane touches any of the following, six years of DOT tabs are a genuine price series:
| Item family | Price lines in our 1,759-tab corpus | Who should care |
|---|---|---|
| Steel sheet piling | 216 | Sheet pile suppliers and drivers, bulkhead contractors |
| Concrete bulkheads | 148 | Marine concrete and seawall contractors |
| Bridge fender systems | 42 | Fender fabricators, plastic and timber marine lumber suppliers |
| Timber boardwalk items | 1 project | Boardwalk and timber structure builders |
Those 400-plus price lines, dated and located, are enough to see rate movement across the aluminum and steel price shocks of the last few years, which brings up the biggest trap in this whole exercise.
Building your own price database (and the era trap)
A folder of PDFs is not a database. What we do with every tab we mine, and what I would suggest for any estimating team doing the same, is transcribe the relevant lines into one structured table with these columns: source document, letting date, agency, contract number, item code, item description, quantity, unit, bidder name, bidder rank, unit price, extended amount. Every row traceable to its public document, so any number you later quote can be checked by anyone.
Then respect the one rule that ruins most price databases: old bids are priced in old money. A dock bid from 2021 and a dock bid from 2026 differ not just in scope but in the metal market underneath them. Aluminum and steel moved violently over exactly the years this archive covers. If you average unit prices across years without normalizing for the date, you will produce a number that was never true in any year. Keep the letting date on every row, compare within eras first, and treat cross-era comparisons as a separate, careful exercise. We learned this rule the hard way in our own quoting-engine work, where training on unadjusted multi-year archives quietly teaches the model prices from a metal market that no longer exists.
The same discipline applies to revisions: agencies re-let contracts, bidders revise, and the same project can appear twice with different line structures. Track the contract number and letting date together, or one physical dock will show up in your database at two different prices and poison every average built on it.
Using tabs competitively: what your rivals' numbers tell you
Here is the part that makes the mining worth it for a bidding shop, beyond curiosity. Tabulations are the only legal, public way to see how your competitors price your product, item by item, letting after letting.
Read a few and patterns emerge fast. You learn who self-performs and who brokers, because the broker's marine lines carry a visible markup over the specialist's. You learn who plugs, because their unrelated items share suspiciously identical rates. You learn each rival's comfort zone, because their pricing tightens on the work they know and pads on the work they fear. And you learn where you sit: if your own numbers would have landed at the top of every spread, you are either the most honest estimator in the market or you are pricing your uncertainty, and the tab will not tell you which, but it will tell you it is costing you contracts.
One caution, learned from the dock letting: a shockingly low line is not automatically a mistake. The $110 dock bid in a field of $200-plus numbers came from the contractor who won, was lowest on the dock and gangway, and sat within two dollars of lowest on the platform. That is the signature of someone who knows their costs, not someone who missed a scope. Before you dismiss a low number as an error, ask whether it belongs to the one bidder who did not have to price their doubt. We wrote about how doubt gets priced, and how the estimators who read packages fully get to bid near true cost, in what five real public packages taught us.
Starting points by source
Everything above compresses to a short starting list:
- State DOT letting archives: search the DOT name plus "letting results" or "bid tabs". Most states publish itemized tabs openly; Florida's are organized by year and month, Maine posts plain PDFs, Virginia publishes letting-day tab books. Mine these for sheet pile, bulkhead, and fender prices, not docks.
- Your state's fish and wildlife or boating agency: find the boating infrastructure grant award lists. Each award names an agency that will bid dock work soon.
- Coastal county and city clerks: agenda packet archives, searched around award dates. This is where the floating dock tabs actually are.
- Ports, water districts, park agencies: board agenda packets again.
- SAM.gov for federal marine work.
- Alerts: most clerk and procurement platforms offer email subscriptions for new solicitations, and a saved search-engine alert on the tabulation phrase catches documents the moment they are indexed. Set them once and the routine above gets shorter every week.
- A search engine, with the exact phrase "bid tabulation" plus your product word plus a region, for everything the portals forgot they published.
A weekly bid-watch routine that actually gets kept
Knowing where marine construction bids live is worth nothing if checking becomes a job nobody owns. The teams that never miss a letting run some version of this one-hour weekly routine, usually Friday morning:
- Ten minutes: the grant list delta. Open your state's boating infrastructure award list and note any agency added since last week. New awardee, new watch target. One line in a spreadsheet: agency, project, award amount, expected bid year.
- Twenty minutes: the watch targets. For each agency on your list, check its procurement page and, monthly, its agenda archive. You are looking for two things: solicitations you can still bid, and fresh awards whose tabulations feed your price database.
- Fifteen minutes: the search sweep. Run your two or three saved searches, the "bid tabulation" phrase plus product word plus region kind, on both major search engines. Bing matters here more than people expect; many county documents surface there first, and half the manufacturing world is searching from an Edge browser anyway.
- Fifteen minutes: transcription. Any new tab found goes into the database the same day, while the context is fresh. A backlog of untranscribed PDFs is where this system goes to die.
One person, one hour, one spreadsheet. The compounding effect is what matters: after six months you hold a private map of your regional market, who bids what, at what rates, for which owners, that no subscription service sells.
Before you submit: three questions the tabs can answer
The database earns its keep on the day you are about to submit a number. Three questions to ask it, every time:
Where would this bid have landed on the last three comparable tabs? If your number would have ranked fifth of six on every recent letting, you are not unlucky, you are mispriced, and the tabs will show you on which items. If you would have won every one by twenty percent, you are leaving money on the table or missing a scope everyone else saw.
Which items carried the spread? On marine lettings the spread concentrates on exactly the items whose requirements hide deepest in the package: the dock line, not the mobilization line. Those are the items where your reading of the documents, not your cost structure, decides your competitiveness. Spend your review hours there. Our own rule, learned from running packages through software that reads every page: the wider the historical spread on an item, the more likely the package itself is ambiguous, and the more an early clarification question is worth.
Is our uncertainty priced or resolved? When you find yourself padding a line because the drawings and the specification disagree, remember what that padding did to the high bidders on the dock letting: it priced them out at up to 199 percent of the winning total. The alternative to padding is resolving: ask the question, pin the scope, and bid the real number. That is cheap to say and expensive to do by hand on a 200-page package, which is precisely the reading problem we build software for.
Why we read 1,759 bid tabs
Fair question. Mavlon builds software that reads bid packages for custom manufacturers: it extracts every requirement from a plan set and spec book with a page citation, finds the places where the spec and the drawings disagree, and drafts the quote in the fabricator's own pricing logic. Reading public tabulations is the same discipline pointed at the market itself, and we are building the results into a public dataset: real unit prices for docks, gangways, and marine structures, every row citable to its letting, published as it grows.
The dock and gangway spreads we found are also, honestly, the best argument for what we build. A 2.7x spread on identical documents is not a materials problem; it is a reading-and-confidence problem. The bidders who knew exactly what the package required did not have to price their fear. If your shop quotes work that arrives as someone else's plan set with an "or approved equal" clause, that is the game you are in on every letting, and it is the game our software plays for your estimators. And if you want the engineering side of the same work, our free dock float calculator and ADA gangway slope calculator handle the flotation and slope checks that every one of these bids depends on.
More lettings are coming into the dataset, county by county. Whatever they show, the numbers and their sources will be published here, because the whole point of public records is that anyone can check them, including you checking us.