{"id":32,"date":"2026-08-21T01:09:05","date_gmt":"2026-08-21T01:09:05","guid":{"rendered":"https:\/\/johnsparks.dev\/index.php\/gallery\/"},"modified":"2026-08-21T01:09:05","modified_gmt":"2026-08-21T01:09:05","slug":"gallery","status":"publish","type":"page","link":"https:\/\/johnsparks.dev\/index.php\/gallery\/","title":{"rendered":"Data Gallery"},"content":{"rendered":"\n<div class=\"wp-block-group alignfull iss-ai-demo iss-ai-demo--gallery is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-cover alignfull ai-hero\"><span aria-hidden=\"true\" class=\"wp-block-cover__background has-background-dim-60 has-background-dim\" style=\"background-color:#000000\"><\/span><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"1438\" class=\"wp-block-cover__image-background wp-image-27\" alt=\"Aerial coastal road hugging the shoreline\" src=\"https:\/\/johnsparks.dev\/wp-content\/uploads\/2026\/08\/pexels-photo-5324600.jpeg\" data-object-fit=\"cover\"\/><div class=\"wp-block-cover__inner-container is-layout-flow wp-block-cover-is-layout-flow\">\n\n<div class=\"wp-block-group ai-container is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"ai-kicker wp-block-paragraph\">Data Gallery<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Making the <span class=\"ai-highlight\">invisible<\/span> visible<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Every trip logs thousands of silent data points. Here&#8217;s what happens when you put them on a map.<\/p>\n\n<\/div>\n\n<\/div><\/div>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group iss-ai-demo iss-ai-demo--gallery is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group ai-section is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group ai-container is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"ai-meta wp-block-paragraph\">Field Captures<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Signal, speed, and terrain \u2014 layered<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A selection of logged runs from our test fleet, rendered as heatmaps and overlays, alongside the hardware that made them.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-3 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"1280\" data-id=\"28\" src=\"https:\/\/johnsparks.dev\/wp-content\/uploads\/2026\/08\/pexels-photo-6589839.png\" alt=\"Speed heatmap showing velocity changes along a coastal route\" class=\"wp-image-28\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"1440\" data-id=\"29\" src=\"https:\/\/johnsparks.dev\/wp-content\/uploads\/2026\/08\/pexels-photo-5703431.jpeg\" alt=\"Signal-strength overlay across a rural highway corridor\" class=\"wp-image-29\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1707\" height=\"2560\" data-id=\"30\" src=\"https:\/\/johnsparks.dev\/wp-content\/uploads\/2026\/08\/pexels-photo-5416440-scaled.jpeg\" alt=\"Logger device mounted on a boat console during sea trial\" class=\"wp-image-30\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"1280\" data-id=\"31\" src=\"https:\/\/johnsparks.dev\/wp-content\/uploads\/2026\/08\/pexels-photo-37785892.jpeg\" alt=\"Trailhead where a logger unit was field tested\" class=\"wp-image-31\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"1281\" data-id=\"8\" src=\"https:\/\/johnsparks.dev\/wp-content\/uploads\/2026\/08\/pexels-photo-15305609.jpeg\" alt=\"GPS trace plotted along a winding mountain road\" class=\"wp-image-8\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"1280\" data-id=\"9\" src=\"https:\/\/johnsparks.dev\/wp-content\/uploads\/2026\/08\/pexels-photo-35652456.jpeg\" alt=\"Test vessel running offshore during a bandwidth survey\" class=\"wp-image-9\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"1280\" data-id=\"10\" src=\"https:\/\/johnsparks.dev\/wp-content\/uploads\/2026\/08\/pexels-photo-8568519.jpeg\" alt=\"Remote desert road used for dead-zone signal testing\" class=\"wp-image-10\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"1280\" data-id=\"13\" src=\"https:\/\/johnsparks.dev\/wp-content\/uploads\/2026\/08\/pexels-photo-5064610.jpeg\" alt=\"Close-up of the logger&#039;s antenna array before a coastal run\" class=\"wp-image-13\"\/><\/figure>\n\n<\/figure>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group alignfull iss-ai-demo iss-ai-demo--gallery is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group alignfull ai-section ai-section-alt has-background has-text-color is-layout-flow wp-block-group-is-layout-flow\" style=\"background-color:#eaf2ef;color:#111111\">\n\n<div class=\"wp-block-group ai-container is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"ai-meta wp-block-paragraph\">From Raw to Real<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">One log line. One <span class=\"ai-highlight\">picture<\/span>.<\/h2>\n\n\n\n<div class=\"wp-block-group ai-split is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group ai-card is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"ai-badge wp-block-paragraph\">Raw CSV Row<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What the device writes<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Timestamp, latitude, longitude, speed in knots, signal bars, RSSI in dBm, and measured bandwidth \u2014 one dense row per second, thousands per trip.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity ai-rule\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">No color, no shape, no story. Just numbers waiting to be plotted.<\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group ai-card is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"ai-badge wp-block-paragraph\">Mapped Output<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What you actually see<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The same row becomes a colored point on a live map \u2014 red for dropped signal, green for strong bandwidth, sized by speed.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity ai-rule\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">Export straight into a Google Sheet, ready to layer onto Maps in minutes.<\/p>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group iss-ai-demo iss-ai-demo--gallery is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group ai-section is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group ai-container is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"ai-meta wp-block-paragraph\">Tested Across<\/p>\n\n\n\n<p class=\"ai-ticker wp-block-paragraph\"><span>Coastal Highway 1<\/span>\n<span>Offshore Fishing Grounds<\/span>\n<span>Sierra Trailheads<\/span>\n<span>Desert Backroads<\/span>\n<span>Harbor Marinas<\/span>\n<span>Mountain Passes<\/span><\/p>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group alignfull iss-ai-demo iss-ai-demo--gallery is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group alignfull ai-section ai-section-alt has-background has-text-color is-layout-flow wp-block-group-is-layout-flow\" style=\"background-color:#eaf2ef;color:#111111\">\n\n<div class=\"wp-block-group ai-container is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group ai-split is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group ai-img is-layout-flow wp-block-group-is-layout-flow\">\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"1438\" src=\"https:\/\/johnsparks.dev\/wp-content\/uploads\/2026\/08\/pexels-photo-5324600.jpeg\" alt=\"Mountain pass where signal coverage drops between ridgelines\" class=\"wp-image-27\" style=\"aspect-ratio:3\/2;object-fit:cover\"\/><\/figure>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"ai-meta wp-block-paragraph\">Why It Matters<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Coverage gaps are invisible until they aren&#8217;t<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A dropped call, a stalled upload, a missed alert offshore \u2014 every gap has a location and a cause. Our logs turn that frustration into a data point you can act on.<\/p>\n\n\n\n<p class=\"ai-stat wp-block-paragraph\">40M+<\/p>\n\n\n\n<p class=\"ai-stat-label wp-block-paragraph\">Data points logged to date<\/p>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group iss-ai-demo iss-ai-demo--gallery is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group ai-section is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group ai-container is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group ai-note is-layout-flow wp-block-group-is-layout-flow\">\n\n<h2 class=\"wp-block-heading\">Send us your route<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Got a trail, coastline, or backroad worth mapping? Share your field data or request a test unit and we&#8217;ll add your run to the gallery.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link has-text-color has-background wp-element-button\" style=\"border-radius:8px;color:#ffffff;background-color:#0f8b8d\" href=\"https:\/\/johnsparks.dev\/index.php\/contact\/\">Submit Field Data<\/a><\/div>\n<\/div>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Field Captures Signal, speed, and terrain \u2014 layered A selection of logged runs from our test fleet, rendered as heatmaps and overlays, alongside the hardware that made them. From Raw to Real One log line. One picture. Raw CSV Row What the device writes Timestamp, latitude, longitude, speed in knots, signal bars, RSSI in dBm, &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/johnsparks.dev\/index.php\/gallery\/\" class=\"more-link\">Read more<span class=\"screen-reader-text\"> &#8220;Data Gallery&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":3,"comment_status":"closed","ping_status":"closed","template":"page-templates\/full-width-no-title.php","meta":{"inspiro_hide_title":false,"inspiro_hide_featured_image":false,"footnotes":""},"class_list":["post-32","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/johnsparks.dev\/index.php\/wp-json\/wp\/v2\/pages\/32","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/johnsparks.dev\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/johnsparks.dev\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/johnsparks.dev\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/johnsparks.dev\/index.php\/wp-json\/wp\/v2\/comments?post=32"}],"version-history":[{"count":1,"href":"https:\/\/johnsparks.dev\/index.php\/wp-json\/wp\/v2\/pages\/32\/revisions"}],"predecessor-version":[{"id":35,"href":"https:\/\/johnsparks.dev\/index.php\/wp-json\/wp\/v2\/pages\/32\/revisions\/35"}],"wp:attachment":[{"href":"https:\/\/johnsparks.dev\/index.php\/wp-json\/wp\/v2\/media?parent=32"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}