No digital booking system. Just a clipboard.
All 99 campsites are first come, first served, and the only record of who is where is a paper sheet at headquarters. Campers photograph it, so everyone can see what is probably open before driving in — without a single name leaving the clipboard. Here is how.
Independent, free, and built by campers. Not a DNR service, and nothing is booked here.
One photo. One pass.
It starts at the kiosk. Ahead of the bar it is a photograph; behind it, three columns are rows and two are struck out.
Scroll drives it. The sheet is drawn for this page — every real one carries a column of campers' surnames, so none is published here — but its structure, the twelve block boundaries and the steps are the pipeline's own. No model runs in your browser, and the reader takes the twelve blocks in its own order rather than top to bottom.
The same pass, written down
Six things happen to a photograph of the sheet. None of them is a booking.
-
A camper photographs it
Green Ridge is first come, first served: you sign the clipboard at headquarters on arrival, and outside office hours at the kiosk beside it. Nobody knows what is free except the people who have read that sheet, so a camper standing there anyway photographs it.
-
Every piece of embedded metadata is dropped
The image is re-encoded before anything else touches it. The orientation tag is applied to the pixels once, then it and the GPS position, capture time, camera model, colour profile and any XMP or IPTC block are gone. What is stored is a JPEG at quality 93 with 4:4:4 chroma, and no metadata to leak.
-
The location is checked, then forgotten
Read once, before it is discarded: was this taken within 800 metres of headquarters? Further away is not a rejection — it goes to a review queue for a person to look at. No location at all is fine; plenty of phones do not record one.
-
The sheet is cut into twelve blocks
The printed sheet has a shape. Sites 1–50 run down the left, minus 41, which does not exist. The right column carries the rest, with the nine Bonds Landing sites in their own band under a yellow header and the seven group sites at the foot of the left. Read as one image, a Bonds row ends up in the main grid — so each block is cropped and read on its own.
-
Three columns are read; two are struck out
What comes off a filled row is the site number, the date in and the date out. The two columns that carry a surname and a permit number are discarded as the reader passes them — the type the rest of the system is built on has no field to put them in, so there is nowhere for them to go even by accident. A row that cannot be read is flagged rather than guessed at, the sheet's date is checked, duplicate uploads collapse, and rows that disagree with the last photograph are marked for a look.
-
The rows are published; the photograph is not
The app shows site numbers with dates against them and — always — how old the photograph behind them is. The photograph stays in a private archive so a disputed reading can be checked against its source, and that archived copy is the whole sheet, surnames and all — it has to be, or there would be nothing to check against. That is why it is private, is never published, and is the one thing on this page you are not shown. What is recorded from it is three columns. The reader itself is open source: paperparse is the same pipeline with the forest taken out of it, so the part of this that is a general problem — reading a photographed paper form into rows — can be read and argued with.
The sheet at the top of this page is drawn, not photographed. Every real one carries a column of campers' surnames and a column of permit numbers, so none is published here — but its structure and the twelve block boundaries are the pipeline's own, and the numbers quoted above are read out of the code that runs them. No model runs in your browser; the stays written on that sheet are invented.
A hint, never a booking
A photograph is true when it is taken and decreasingly true afterwards. Somebody can pull into site 23 an hour later; a camper can leave two days early without crossing anything out. So every availability figure in the app carries the age of the photograph it came from, and the app never says a site is free.
What it is good for is the drive. Green Ridge is two hours from Baltimore and the last forty minutes are gravel. Eleven sites signed out this morning rather than seventy is worth knowing before you set off, even though it is not a promise.
Whatever this page or the app says, the clipboard at headquarters wins. Register there on arrival. If a site you were counting on is taken, there are 98 others.
Questions
Can I book a campsite at Green Ridge State Forest?
No. Standard sites are first come, first served: you register at headquarters on arrival and write your stay on the paper sheet. Group sites are the exception and are reserved by phone with Maryland DNR. Nothing is booked or paid for on this site.
Does the app know whether a site is free tonight?
No. It knows what the sign-up sheet showed when a camper last photographed it, and it tells you how long ago that was. Treat it as a hint about the drive, not a reservation.
Are campers' names published?
No. The reader takes the site number and the two dates; the surname and permit columns are discarded as it passes them, and the record they would be written into has no field for a name or a permit number, so there is nowhere for one to end up even by accident. The archived photograph is the whole sheet and does still show them — that is why it is private and never published.
What happens to my photograph after I send it?
It is stripped of all embedded metadata, read, and kept in a private archive so a disputed row can be checked against its source. It is not published, and it is not used for anything else.
What if the reading is wrong?
Tell us and it gets checked against the photograph it came from. Rows that disagree with the previous photograph are already flagged for a look before anyone complains.
Next
-
Photograph the sheet
Fifteen seconds at the kiosk, and the next person to make that drive knows what you knew.
-
Open the app
The map, all 99 campsites, and what the sheet last showed with the age of the photograph.
-
paperparse
The reader, with the forest taken out of it: photographs of handwritten paper forms into structured rows. Open source.
-
Questions and answers
The fee, registration, group sites, dogs, water, firewood, the roads and the hunting seasons.
-
Where the data comes from
Every layer in the app and the public source it is derived from.
Green Ridge State Forest is run by the Maryland Department of Natural Resources. Greenridge is an independent volunteer project and is not affiliated with it. Headquarters: 28700 Headquarters Drive NE, Flintstone, MD 21530, 301-478-3124.