The Buildout
Brian Galvan
Welcome. This page exists for one reason: to show you exactly what I've built, how I built it, and why it matters to your organization.
The Jet Finder is a fully operational private aviation platform. 25,000+ pages. Five AI discovery channels. Real-time flight tracking. Market intelligence dashboards. An operator portal with authentication, fleet management, and lead attribution. All of it built by one person, with zero frameworks.
I didn't build this to sell a product. I built it to demonstrate a skillset. What you're looking at is the intersection of two disciplines that rarely exist in the same person: marketing technology and operational systems engineering. The site is the proof of concept. This page is the breakdown.
If you're in aviation and looking for someone who can build, deploy, and scale systems like this, keep reading. Then let's talk.
TheJetFinder.com
My current aviation platform. Not a client project. I own it, I'm building it, and it's designed to be a long-term asset in the aviation space. It represents the culmination of everything I've learned across a decade in private aviation marketing and technology.
Scale: Over 25,000 optimized pages actively indexing for charter, aircraft, and aviation-related search traffic. Each page is purpose-built to capture specific search intent, from city-pair charter routes to aircraft type guides to airport-specific charter options.
Lead generation engine: When a visitor arrives with charter intent, the system captures that intent, qualifies the lead, and routes it to the appropriate operator or broker. The routing logic accounts for aircraft type, departure location, destination, trip timing, and passenger count.
AI-driven automation: AI-powered content generation, phone reception, lead qualification, metadata optimization, and internal linking strategies. A system that operates 24/7 with minimal manual intervention.
The platform has already achieved 2027 target goals. Traffic milestones and indexing benchmarks that were set as two-year targets have been reached early.
Background
Two disciplines, one builder. Most people specialize in one. I operate fluently in both.
Marketing & Marketing Technology
The strategic side. Brand identity, consumer psychology, conversion architecture, content strategy, programmatic SEO, and AI-powered search positioning. I understand how people search, how they decide, and how to position a brand so it's the one they find first, whether through Google, ChatGPT, Claude, or Perplexity.
This isn't theory. Every page on this platform was built with search intent, psychological triggers, and conversion funnels in mind. The copy follows principles of the price-quality heuristic and inverse incentives, frameworks designed specifically for high-net-worth decision-makers.
Engineering & Operational Technology
The execution side. REST APIs, database design, authentication systems, data pipelines, real-time tracking, automated deployment, AI protocol integration. I don't hand off specs to a dev team. I build the systems myself.
The platform runs on PHP/MySQL backends, Node.js MCP servers, GitHub Actions automation, and cPanel-hosted infrastructure. 18 API endpoints. Three intelligence dashboards. A live ADS-B tracker. An operator portal with bcrypt hashing and rate-limited auth. All hand-coded, all in production.
The Jet Finder is not a one-page marketing site. It is a fully operational aviation platform spanning 25,000+ individual pages, each hand-coded in static HTML5, CSS3, and vanilla JavaScript. No React. No Next.js. No WordPress. No page builders. Every file was written from scratch.
Core pages: 11 service and informational pages (Home, About, Charter, Buy, Sell, Operators, Journal, Contact, Directory, Privacy, Terms) form the brand foundation. Each carries full structured data, Open Graph, Twitter Cards, and semantic HTML.
Aircraft registry: 11,692 U.S. tail number pages built from FAA data, plus 9,030 international aircraft pages sourced from OpenSky Network covering 67 countries. Each page includes 2,000+ words of content, structured specs tables, 16-question FAQ accordions, 4 JSON-LD schemas, and full meta tags.
Geographic coverage: 1,362 airport landing pages and 634 route pages targeting city-pair searches. Every airport page includes FBO data, runway specs, and nearby field links. Every route page includes estimated flight times, aircraft recommendations, and cost context.
Editorial: 13 long-form journal articles (1,500 to 3,000 words each) with full Article schema, FAQ sections, and related content grids. 3,000+ additional articles are in the content pipeline.
Intelligence tools: Three market dashboards (U.S. Charter Fleet, U.S. Market Intelligence, Global Fleet Intelligence), a live ADS-B flight tracker, and a full operator portal with SaaS-style authentication. These are not wireframes. They are production features.
The entire site deploys from a single GitHub repository to cPanel via auto-webhook. Monthly data refreshes run autonomously through GitHub Actions. The stack is intentionally minimal: pure HTML for speed, JavaScript for interaction, PHP/MySQL for backend logic. The result is sub-second page loads and Core Web Vitals scores that outperform sites spending six figures on development.
Brand & Design System
The entire visual identity was designed from scratch. No templates, no WordPress themes, no design agencies. The goal was to create an aesthetic that communicates quiet authority, the kind of brand that doesn't need to announce itself as premium because every detail already signals it.
Color system: Deep navy (#021422) paired with restrained gold (#bfa163). The dark palette gives operational weight. The gold provides accents without excess.
Typography: EB Garamond for display headings (classic serif authority), Instrument Sans for body and navigation (clean, modern, readable). Letter-spacing and text-transform are deliberate throughout.
Component system: Glassmorphism cards, gold-bordered CTAs, subtle hover animations, gradient overlays. Every component exists in a shared CSS design system, reused across 25,000+ pages for visual consistency at scale.
Programmatic SEO at a scale most agencies would need a team for. Every page on this platform, all 25,000+ of them, is built with full structured data, semantic HTML, and internal linking architecture designed for topical authority.
Structured data: Over 80,000 JSON-LD schemas deployed across the site. Vehicle markup on aircraft pages, Article schema on journal content, FAQPage on every page with accordions, BreadcrumbList throughout for Google "jump to" links.
Meta layer: Every page carries unique title tags, meta descriptions, canonical URLs, full Open Graph (all 7 properties), and full Twitter Card markup. Nothing is duplicated or templated lazily.
Sitemaps: Three XML sitemaps totaling 3.3MB+, covering every indexable URL. Robots.txt and llms.txt configured for both traditional and AI crawlers.
The Journal publishes long-form editorial content, each article 1,500 to 3,000 words, built around specific search intent and designed to establish topical authority in private aviation.
Each article includes Article schema, table of contents with anchor links, FAQ accordion (minimum 6 questions with FAQPage markup), related content grids, mid-article CTAs, and author attribution. The goal is featured snippet eligibility on every piece.
Content is also produced at scale through the aircraft registry: 20,700+ individual tail number pages, each with a unique 2,000+ word overview, specs tables formatted for snippet extraction, and 16-question FAQ sections. These are not thin pages. They are full editorial builds, programmatically generated with human-quality output.
1,362 airport landing pages capturing local search intent. Each page targets queries like "private jet charter from Teterboro" with FBO information, runway data, nearby airports, and direct links to charter inquiry. These function as geographic entry points into the conversion funnel.
634 city-pair route pages targeting "private jet from [City A] to [City B]" searches. Each page includes estimated flight times, cost context, recommended aircraft categories, and direct booking CTAs. The pages are cross-linked with airports and aircraft pages to create authority clusters.
Traditional SEO gets you into Google. AI search optimization gets you into ChatGPT, Claude, Perplexity, and Google AI Overviews. This platform was architected for both from day one.
llms.txt: A machine-readable manifest file that tells AI crawlers (GPTBot, ClaudeBot, PerplexityBot) exactly what the site contains, what APIs are available, and how to query the fleet data programmatically.
Schema markup: Vehicle JSON-LD on every aircraft page means Google AI Overviews can extract structured aircraft data without scraping. When someone asks an AI "tell me about tail number N200FT," the structured data is already there.
This is the marketing edge most aviation companies don't know exists yet. The ones who get there first dominate.
Consumer Psychology
Every word on this platform follows a specific framework designed for high-net-worth decision-makers. The copy doesn't sell. It presents.
Price-quality heuristic: Never defend the price. A high price signals credibility. The moment you justify cost, you admit it needs justification.
Inverse incentive: Tell someone not to spend money unnecessarily, and they trust you enough to spend it with you. The copy advises restraint when appropriate, which builds trust at a level most marketing never reaches.
Authoritative composure: No exclamation points. No filler. No "absolutely fantastic" or "truly honored." Short sentences. Flat delivery. The reader should feel they're dealing with someone who doesn't need the sale.
A 3-step charter quote widget built entirely from scratch. No third-party booking plugins. No iframe embeds. The user searches airports, gets instant pricing across seven aircraft categories, selects one, and submits a lead request, all without leaving the page.
Airport autocomplete: A custom autocomplete system backed by a local dataset of 1,362 airports. Typing a city name triggers metro-area keyword matching: searching "Miami" surfaces MIA, FLL, OPF, FXE, TMB, PBI, and five other nearby fields. 25 metro areas are mapped. Keyboard navigation (arrow keys + Enter) works throughout.
Client-side pricing engine: The quote calculator runs entirely in the browser. No server calls for pricing. It computes haversine great-circle distance between airport coordinates, applies a 5% ATC routing factor, calculates flight time per aircraft category, and generates a price range (±8% band) based on hourly rates, minimum flight times, and long-haul decay curves.
Pricing intelligence: The engine handles round-trip multipliers (1.8x for short stays, 2.0x for 4+ day stays), route-specific overrides (e.g., NY to LA gets a 10% discount due to high repositioning availability), short-notice surcharges (+10% for under 48 hours), and international surcharges (+4%). These are calibrated against actual broker pricing data.
Category cards with images: Step 2 presents each viable aircraft class as a horizontal card with a category photo, passenger capacity, flight time, example aircraft models, and the quoted price range. Categories that can't make the distance (e.g., a light jet on a transatlantic route) are automatically filtered out.
Lead capture: Step 3 renders a split layout: flight summary on the left, contact form on the right. Submitted leads hit a PHP backend endpoint and are stored with full attribution (source, referrer, selected aircraft, quoted price, route details). The form captures name, email, phone, and special requests.
The widget is deployed on the charter page, individual airport pages, and route pages. It can be dropped into any page with a single <div id="flight-widget"> and two script includes. Pre-filling departure and arrival airports via data-from and data-to attributes lets each route page auto-populate the search.
A.I. Charter Booking
The form-based booking engine handles structured input well. But most people don't think in form fields. They think in sentences: "I need to fly four people from Miami to Aspen on March 15th, one-way, with a dog." So I built a conversational AI booking agent that handles exactly that.
Conversational intake: Powered by Google Gemini, the booking agent conducts a natural conversation with the user, collecting departure city, destination, dates, passenger count, trip type, pets, luggage, and special requests. It doesn't present a form. It asks questions, remembers context, and adapts. If someone says "same airports but make it round-trip," it understands.
Real-time quoting: Once the agent has enough data, it calculates route distance, filters aircraft categories that can make the mission, and presents a quote range for each viable class. The user sees estimated cost, flight time, passenger capacity, and example aircraft models, all generated within the conversation thread.
Category selection and lead capture: The user selects their preferred aircraft category directly in the conversation. The agent then transitions into a structured intake form to collect contact details: name, email, phone, and any additional notes. The entire flow, from first message to submitted lead, happens in one continuous interaction.
Lead management portal: Submitted quotes flow into a dedicated operator portal where leads can be reviewed, filtered, and acted on. Each lead carries full attribution: the route, selected aircraft category, quoted price range, passenger details, special requests, and timestamp. The portal gives an operator everything needed to convert the inquiry into a booked flight without asking the client to repeat themselves.
The entire system is live at charter.thejetfinder.com. No third-party booking platforms. No embedded widgets from another company. A purpose-built AI booking engine, from conversation to conversion.
AI Phone Receptionist
A fully autonomous AI voice agent that answers inbound calls to The Jet Finder. Not a chatbot. Not a phone tree. A trained voice model that handles live conversations, qualifies callers, and routes them to the right department.
Voice infrastructure: Built on VAPI for voice AI orchestration and Twilio for telephony. Inbound calls hit Twilio, which routes to VAPI's voice pipeline. The AI agent picks up, introduces itself, and handles the conversation in real time with natural speech patterns, pauses, and acknowledgments.
Custom voice model: The agent was trained on domain-specific aviation knowledge: aircraft categories, charter terminology, common caller intent patterns, and company-specific routing logic. It understands when someone is asking about chartering a flight versus selling an aircraft versus general inquiries, and responds accordingly.
Department routing: Based on caller intent, the agent routes to the appropriate department or next action. Charter inquiries, aircraft sales inquiries, operator partnership questions, and general information requests each follow different conversation flows and escalation paths.
Real-time pricing integration (in training): The agent is currently being trained to access the platform's live pricing engine data during calls. The goal: a caller says "I need a flight from Miami to New York next Tuesday for six passengers," and the agent pulls real-time route distance, available aircraft categories, and estimated price ranges from the same haversine-based quote engine that powers the website widget, then responds with ballpark charter estimates on the call.
This is production AI. The phone rings, the AI answers, the caller gets helped. No hold music. No "press 1 for sales." No voicemail. 24/7 coverage with zero headcount.
An industrial-scale video production pipeline that operates like a press factory. The system scrapes the entire tail registration directory, takes each aircraft's tail number and specs as the keyword seed, and automatically produces a branded 20-30 second video for each aircraft.
Content generation: Each video is assembled programmatically with branded templates, aircraft data overlays, and visual assets. The output matches The Jet Finder's design system: navy backgrounds, gold accents, clean typography. Every video is unique to its tail number and aircraft model.
SEO metadata: Alongside each video, the pipeline generates a keyword-driven title and description optimized for YouTube search. Titles target high-intent queries like "[TAIL NUMBER] [Model] Private Jet Specs & Owner Info." Descriptions include structured data, relevant keywords, and link-back text pointing to the corresponding aircraft page on thejetfinder.com.
YouTube integration: The pipeline connects directly to The Jet Finder's YouTube account via the API. Videos are automatically uploaded, tagged, and sorted into playlists. No manual intervention. The system runs at a sustained pace of 2-3 videos per hour, building a growing library of indexed video content around the clock.
The strategy: Each video creates a new indexed entry on YouTube, the world's second-largest search engine. Someone searching a tail number or aircraft model on YouTube now finds a branded Jet Finder video linking back to the platform. Thousands of videos, each with backlinks, each capturing search intent that text-only competitors can't reach.
Aircraft Comparison Engine
Flying Magazine's finance arm built an aircraft comparison tool. It runs on WordPress, loads in over 3 seconds, and shows five data points per aircraft: class, capacity, range, cruise speed, and useful load. That's the entire feature set. No charts. No cabin dimensions. No operating costs. No visual indicators showing which aircraft wins a given metric. And most of its 892 aircraft are GA pistons and ultralights, not the business jets that charter clients and acquisition buyers actually care about.
I built something better. The Aircraft Comparison Engine loads in under a second, covers 69 business jets and turboprops from every major manufacturer, and compares them across 16 metrics including cabin dimensions, engine thrust, takeoff distance, avionics packages, and estimated hourly charter rates. Fields their tool doesn't touch.
Canvas radar chart: A 5-axis performance profile rendered on HTML Canvas compares each aircraft across speed, range, passenger capacity, service ceiling, and cabin volume. Color-coded overlays let you see exactly where one aircraft dominates another. No JavaScript charting libraries. Pure canvas rendering.
Animated bar charts with winner badges: Five head-to-head bar comparisons (range, speed, passengers, ceiling, cabin volume) animate on render and automatically tag the leader in each metric with a gold "Best" badge. The winner is calculated programmatically. No editorial bias.
Full specification table: A 16-row comparison table with every data point side-by-side, with best-in-class values highlighted. Category, passengers, max speed, range, ceiling, engines, thrust, takeoff distance, cabin length, width, height, baggage volume, avionics, hourly charter rate, production years, and successor model. All sourced from the same aircraft database that powers the platform's 20,700+ tail number pages.
Shareable comparisons: Every comparison generates a unique URL via query parameters. Copy the link, send it to a client, and they land on the exact same comparison. The page auto-triggers the comparison on load when URL params are present. Flying Finance's tool doesn't do this.
Popular matchups: Six pre-built comparisons covering the most common cross-shopping decisions in private aviation: G550 vs Global 6000, Phenom 300 vs CJ4, Challenger 350 vs Latitude, G650 vs Global 7500, Citation XLS vs Hawker 800XP, HondaJet vs Vision Jet. One click loads the full comparison instantly.
Data architecture: The engine pulls from a curated JSON database of 69 aircraft models, the same dataset that generates specs for every aircraft page on the platform. One data source, multiple applications. No redundant data entry. No stale numbers. When the database updates, the comparison engine reflects it immediately.
The tool carries full SEO: BreadcrumbList, WebApplication, and FAQPage JSON-LD schemas, complete Open Graph and Twitter Card markup, an 8-question FAQ accordion, and a long-form editorial section on choosing the right private jet by mission profile. It's not a comparison widget. It's a rankable, indexable content asset that captures high-intent search traffic from people actively evaluating aircraft.
Zero frameworks. Zero charting libraries. Zero external dependencies. Pure HTML, CSS, and vanilla JavaScript. Sub-second page load. A comparison tool that outperforms a publishing conglomerate's offering, built by one person.
18 PHP endpoints serving fleet data, operator authentication, lead management, contact handling, and proxy services. The API drives the charter fleet widget, operator dashboard, and external AI integrations.
Fleet endpoint (/api/fleet.php) supports filtering by tail number, aircraft category, airport, range, capacity, and model. Returns structured JSON for real-time consumption by third-party applications and AI agents.
Lead attribution tracks which AI platform (ChatGPT, Claude, Perplexity, Google, Bing, MCP) generated each inquiry, giving operators visibility into which channels are driving qualified leads.
A full OpenAPI 3.0 specification (/api/openapi.json) documenting the fleet API. This enables ChatGPT to call the API directly from conversation using the Actions framework. When someone asks ChatGPT "find me a heavy jet available from Teterboro," it can query this platform in real time.
The spec defines request parameters, response schemas, example payloads, and error handling. It's not a demo. It's a production integration that makes every aircraft in the registry queryable by AI.
MCP Protocol Server
A Node.js Model Context Protocol server that gives Claude, Cursor, and other AI coding tools native function-call access to the fleet database. This is beyond API integration; it's direct tool-use access.
AI agents can call functions like search_fleet, get_aircraft, and list_categories as if they were built-in tools. The MCP server handles authentication, rate limiting, and response formatting. Most aviation companies don't know this protocol exists yet.
A full-screen dark map with real-time ADS-B transponder data. Any visitor can track private jets by tail number, anywhere in the world, in real time. The tracker includes aircraft photo integration, a flight data sidebar with altitude, speed, heading, and squawk code, plus category filtering for fleet-level scanning.
Technology: Built with Leaflet.js on CartoDB dark tiles, using a custom PHP proxy server to relay data from the OpenSky Network API. The proxy handles rate limiting, caching, and CORS to stay within API quotas while providing a smooth, responsive experience.
Persistent access: A floating green indicator appears on every page of the site (except this portfolio page), offering one-click access to the live tracker. The tracker is also linked from every individual aircraft tail number page, so a visitor researching a specific jet can immediately see if it's currently airborne.
Connection to aircraft pages: The tracker creates a direct bridge between the 20,700+ individual aircraft pages and real-time operational data. A visitor can go from reading spec sheets on a Gulfstream G650 to watching it fly in real time. That kind of experience doesn't exist on most aviation platforms.
Fleet Intelligence & Aircraft Registry
U.S. Market Intelligence → Global Fleet Intelligence → Charter Fleet Registry →
Three intelligence dashboards and a network of 20,700+ individual aircraft pages, all built from authoritative government and aviation data sources. This is the kind of infrastructure that would normally require a dedicated data team. It runs on automated pipelines.
U.S. Charter Fleet Registry: A searchable registry of 10,738 Part 135 charter-authorized aircraft. Data sourced directly from the FAA D085 certificate database, cross-referenced with the FAA Aircraft Registry. Each aircraft is classified into one of nine categories (Ultra Long Range, Heavy, Super Midsize, Midsize, Light, Very Light Jet, Turboprop, Piston, Rotorcraft) using a custom model-name classifier. The registry page features client-side filtering by model, category, and state.
U.S. Market Intelligence Dashboard: Fleet composition analytics derived from the charter fleet data. Category breakdowns, manufacturer market share, state-level distribution heatmaps, and fleet size trends. This gives operators and brokers a quantitative view of the competitive landscape.
Global Fleet Intelligence: 9,030 international business jets across 67 countries. Data sourced from the OpenSky Network public aircraft database. A Node.js pipeline downloads the full CSV (400K+ records), filters by ICAO typecode to 69 known business jet models, and maps registration prefixes to countries of origin. The dashboard shows per-country fleet sizes, model distribution, and manufacturer dominance.
Individual aircraft pages: Every jet in the registry gets its own dedicated HTML page. 11,692 U.S. aircraft and 9,030 international aircraft, each with structured specifications tables, 4 JSON-LD schemas (BreadcrumbList, WebPage, Vehicle, FAQPage), a 16-question FAQ accordion, OG/Twitter Card meta tags, and internal links back to the directory pillar pages. These pages are purpose-built for search engines: featured snippet-eligible spec tables, jump-to anchor links, and breadcrumb navigation.
Pillar page architecture: The U.S. aircraft directory and the international registry each serve as SEO pillar pages, linking out to every individual tail number page in their registry. This creates a spoke-and-hub link architecture that builds topical authority at scale. Google sees 20,700+ pages all linking back to two authoritative directory pages, each of which links to the core service pages.
Monthly auto-refresh: A GitHub Actions workflow runs on the 1st of every month. It downloads the latest OpenSky data, runs extraction scripts, regenerates all 9,030 international pages plus the global dashboard, and auto-commits. The deploy pipeline pushes it live. The data never goes stale.
A full inventory marketplace for aircraft sales, built as a modern replacement for legacy platforms like Controller.com. I've used Controller directly in supporting aircraft sales teams and advertising campaigns. The platform works, but it operates on legacy-era technology and UX. I built something that exceeds it.
Dynamic inventory: The marketplace loads and filters aircraft listings entirely client-side. Visitors can search across jets, turboprops, and helicopters with a multi-filter sidebar: manufacturer, year range, price range, listing type (exclusive/for sale), and global region. Results update instantly with a live counter showing matching aircraft.
Listing cards: Each aircraft is presented in a content-rich card with professional photography, year/make/model, total time (TTAF), current location, bold pricing or "Call for Price" labels, and 3-4 mission-specific bullet highlights (seating capacity, inspection status, specialized equipment). "View Details" buttons open full specification pages.
Backend listing management: The platform includes a full admin backend for creating, editing, and managing inventory listings. Dealers and brokers can upload photos, set pricing, manage availability status, and control which listings go live. The system handles image optimization, listing validation, and status workflows.
Exclusivity positioning: The marketplace is positioned for assets over $2M, filtering out the noise that clutters legacy platforms. This is deliberate. The audience isn't browsing for a used Cessna 172. They're acquiring a Gulfstream G500 or a Challenger 350.
The platform runs on a dedicated subdomain (aircraft.thejetfinder.com) with the same premium design system as the main site. Sub-second load times. No page refreshes for filter changes. The kind of experience that legacy platforms in this space haven't delivered.
A full SaaS-style portal for charter operators. Registration, login, fleet management, tail number claiming, and lead attribution, all behind a custom authentication system.
Authentication: bcrypt password hashing, rate-limited login attempts, session management, API key generation for programmatic fleet updates.
Fleet management: Operators claim aircraft from the global registry, update availability, and manage their listings. The system attributes inbound leads by AI source (ChatGPT, Claude, Perplexity, Google, Bing) so operators know exactly where their inquiries originate.
Data Pipelines
Two primary data sources feed the platform:
FAA Aircraft Registry: U.S.-registered business jets ingested from FAA MASTER and ACFTREF files. Filtered by ICAO typecode to 69 business jet models. 11,692 aircraft extracted, cross-referenced, and converted to structured HTML pages with full specs.
OpenSky Network: International aircraft database covering 67 countries. Node.js extraction scripts filter the global CSV (400K+ records) down to 9,030 identified business jets, mapped by registration prefix to country of origin.
Both pipelines automate the full chain: download raw data, filter and clean, generate HTML pages, update pillar pages, regenerate sitemaps.
CI/CD & Automation
Auto-deploy: Every push to the GitHub repository triggers a webhook that pulls latest code to cPanel. A .cpanel.yml deployment file copies updated files to the production directory. Zero manual intervention.
Monthly data refresh: A GitHub Actions workflow runs on the 1st of every month at 06:00 UTC. It downloads the latest OpenSky aircraft database, runs the extraction scripts, regenerates all 9,030 international pages plus the global dashboard, and auto-commits the changes. The auto-deploy pipeline then pushes it live.
The entire site, including 25,000+ pages of content, updates and deploys itself.
Web Security
The platform is hardened at every layer. Not surface-level checkbox security. Production-grade controls that block real attack vectors.
Transport security: HSTS (Strict-Transport-Security) enforced with a one-year max-age, includeSubDomains, and preload. Browsers refuse HTTP connections entirely. Every request is encrypted.
Content Security Policy: A full CSP locks down exactly which domains the browser is allowed to load scripts, styles, fonts, images, and connections from. frame-src: none blocks all iframing. object-src: none kills Flash and Java exploit vectors. form-action: self ensures forms only submit to the domain. No unauthorized code executes.
Server identity suppression: Server and X-Powered-By headers are stripped. Attackers probing for version information get nothing back. No LiteSpeed, no PHP version, no Apache signature.
WordPress probe blocking: The site was migrated from WordPress, which means automated scanners still hit wp-admin, wp-login.php, xmlrpc.php, and wp-config daily. Every one of those paths returns a 403 immediately. Same for phpMyAdmin, adminer, cgi-bin, and .env probes.
Request filtering: Only GET, POST, HEAD, and OPTIONS methods are allowed. PUT, DELETE, and PATCH return 403. Query strings are scanned for SQL injection patterns (union, select, insert, exec, information_schema), path traversal (../), base64 encoding exploits, and system command execution attempts. All blocked at the server level before they reach any application code.
Bot and scanner blocking: Known vulnerability scanners (Nikto, sqlmap, Nmap, Burp Suite, DirBuster, Acunetix) are identified by user agent and rejected. Automated attack tools get nothing.
Hidden file protection: All dotfiles and directories (.git, .env, .htpasswd) are blocked. Build files like .cpanel.yml, deploy.php, package.json, and all .sql, .bak, .log, and .conf files are denied. No source code, no database schemas, no deployment configs leak.
Hotlink protection: Images can only be loaded from the domain, the aircraft subdomain, and major search engines. Other sites attempting to embed images are blocked.
API hardening: The API directory has its own security layer. All SQL files blocked, no-cache headers on every response, config file path traversal protection, and method restrictions independent of the main site.
Cross-origin policies: Cross-Origin-Opener-Policy, Cross-Origin-Resource-Policy, and Permissions-Policy headers are all set. Geolocation, microphone, camera, payment, USB, gyroscope, and accelerometer APIs are all disabled.
A full 3D globe-based flight tracker rendering live aircraft positions and the International Space Station in real time. Built entirely in vanilla JavaScript with no frameworks.
Rendering engine: Globe.gl, a WebGL-powered library built on top of Three.js, renders an interactive Earth with atmospheric glow, country borders extracted from TopoJSON (Natural Earth 110m), and HTML overlay elements for aircraft markers. The globe supports full orbit controls: click-and-drag rotation, scroll-to-zoom, and momentum-based inertia.
Live aircraft data: The tracker polls the OpenSky Network REST API every 8 seconds via a custom PHP proxy server. The proxy handles CORS, rate limiting, and response caching to stay within API quotas. Aircraft positions are rendered as custom SVG jet icons, tinted to brand gold (#bfa163) using CSS filter chains (invert, sepia, saturate, hue-rotate, brightness, contrast). Icons rotate to match each aircraft's heading in real time.
ISS tracking: The International Space Station is tracked separately via the Open Notify ISS API. Its position updates every 3 seconds. A trailing particle system, built from interpolated position history, renders behind the station as a fading dot trail. Trail density adapts based on time gaps between raw position samples. The ISS orb and trail share the same rendering altitude, with CSS z-index layering ensuring the orb always appears as the lead point.
Click interaction: Each aircraft icon opens a detail panel showing tail number, model, altitude, speed, heading, and squawk code. Click detection uses the Pointer Events API (pointerdown/pointerup) with a dual-threshold system: movement under 12px or tap duration under 300ms registers as a click, preventing false rejections from globe rotation drag. Inner elements use pointer-events: none to ensure all events bubble to the clickable wrapper.
Performance: Aircraft icons load as external SVG images (<img> tags) rather than inline SVG, preventing the browser from parsing 19KB of SVG paths per marker across hundreds of aircraft. The HTML elements layer uses transitionDuration: 0 for instant position updates without animation lag.
The same 3D globe engine powers a dedicated fleet tracking solution built for operators and management companies. Instead of monitoring all global air traffic, this view narrows the scope to your fleet, giving you a real-time command picture of every aircraft in your operation, anywhere on the planet.
Your fleet, one view: Every aircraft in your registry rendered on a live 3D globe with real-time position, altitude, heading, and ground speed. Click any marker to pull up tail-specific details. The globe auto-rotates to keep your active fleet in frame, or lock the view manually and monitor from any angle.
Expandable data access: The base layer uses ADS-B transponder data via OpenSky Network. From there, the system is designed to integrate add-on data feeds: FlightAware Firehose for enhanced position accuracy, FAA SWIM for NAS-wide situational awareness, or proprietary ACARS/ARINC feeds for cabin and engine telemetry. Each data layer slots into the existing architecture without rebuilding the frontend.
Operational intelligence overlays: Beyond position dots on a map, the system can surface what matters to fleet operations. Weather layers showing convective activity along active routes. TFR boundaries and NOTAM zones rendered as geofenced overlays. Fuel price heatmaps at destination FBOs. Maintenance countdown timers tied to Hobbs or cycles data. Each overlay is modular. Turn on what you need, ignore what you don't.
Real-time alerts: Configure thresholds that trigger notifications. An aircraft deviating from its filed route. A tail approaching a maintenance interval. A crew member nearing duty-time limits. Ground speed anomalies suggesting weather delays. These aren't dashboard-only indicators. They push to email, SMS, or webhook endpoints your operations team already monitors.
The National Air Cargo implementation demonstrates the concept at production scale: a branded, operator-specific tracker rendering a real fleet across the globe in real time. The architecture is the same for a 5-aircraft Part 135 certificate or a 200-tail management company. The data scales. The interface stays clean.
Live air traffic control audio, streamed directly into airport lookup pages. A visitor researching charter options at Teterboro can now listen to tower, ground, approach, and departure communications at that airport without leaving the page. The same system powers a standalone ATC hub covering 35 airports across the United States.
PHP Icecast proxy: LiveATC streams run on Icecast servers using the ICY protocol, a binary audio streaming format that browsers cannot consume directly due to CORS and protocol restrictions. A custom PHP proxy (/api/atc-stream.php) sits between the client and the Icecast server, relaying MP3 audio in real time. The proxy disables all output buffering and compression, sets chunked transfer encoding, and uses a cURL write function that flushes each 8KB chunk to the browser immediately. If the primary server (s1-bos.liveatc.net) fails, it falls through to a secondary server automatically. Connection-abort detection kills the relay the moment the user navigates away, preventing orphaned server connections.
Channel-mapped frequency cards: Each airport's ATC section displays published FAA frequencies organized as interactive channel cards: Tower, Ground, Clearance, ATIS, Approach, Departure, UNICOM, and CTAF. Airports with LiveATC coverage get clickable cards that tune the audio player to the corresponding stream mount. The mapping between frequency type and stream mount is stored in a curated JSON dataset (atc-feed-data.json) covering all 35 airports, with mount names resolved to specific Icecast endpoints.
Inline audio player: The player renders as a glassmorphism banner with play/pause controls, a live pulse indicator, channel label, status display, and an optional multi-feed selector for airports with more than one stream. The player handles auto-reconnect on stream errors and server timeouts, cycling through up to 50 reconnection attempts with backoff before declaring a feed offline. State transitions update the UI in real time: connecting, buffering, streaming, and feed unavailable.
Feed discovery API: A dedicated endpoint (/api/atc-discover.php) tests common LiveATC mount naming patterns (numbered, typed, combined) against the Icecast server using parallel cURL multi-exec. It probes up to 24 mount name variants per airport simultaneously, identifies which ones return audio content types, and reports results. This tool was used to map all 35 airports to their correct stream mounts programmatically, instead of manually browsing LiveATC's website.
Build pipeline: A Node.js injection script (inject-atc-section.js) reads the curated feed data and programmatically injects the ATC section into each airport's HTML page. It inserts the CSS, responsive breakpoints, print-hide rules, table of contents link, frequency cards, audio player banner, and playback script, all in a single pass. The script is idempotent: it skips pages that already contain an ATC section. Run it with a single slug for one airport, or without arguments to process all 35.
The strategic value: Session duration is a ranking signal Google watches. A visitor who lands on an airport page and starts listening to tower communications stays on that page. They are not bouncing. They are engaged, often for minutes at a time, while they research charter options, check flight times, or monitor their departure field. That engagement signal compounds across 35 high-traffic airport pages. The feature also creates a reason to return. Pilots, aviation enthusiasts, and charter clients bookmark these pages. Repeat visits build brand familiarity without a single dollar in advertising spend.
FlyUSA.com
Director of Marketing, later Director of Technology, at FlyUSA, a Part 135 charter operator and aircraft management company in Clearwater, Florida. The most comprehensive engagement of my career.
Marketing turnaround: Took over all marketing operations from an external agency. Developed and executed a 90-day restructuring plan. Increased organic lead generation from 0.5% to 11% in under 9 months, growing monthly impressions from 8,500 to over 100,000+. Doug Golan of Private Jet Card Comparisons cited FlyUSA for achieving 10x traffic growth year over year.
PPC overhaul: Cut agency spend by 100% by bringing everything in-house. Reduced cost-per-conversion from $51 to $26. Scaled negative keyword lists from 1,700 to 15,200+ entries.
Transitioned from marketing leadership into technology after leveraging my DevOps background to architect custom aviation software, creating proprietary data pipelines and turning manual operational costs into automated profit centers.
Internal portal & data warehouse: Built an internal operating system tailored to the company's exact workflows, bypassing the limitations of off-the-shelf software. Laid the foundation for a central data warehouse, aggregating streams from disparate systems (JetInsight, Corridor, and others). This allowed the team to mix and match data to build custom operational tools and real-time dashboards that didn't exist before.
SaaS for aircraft owners: Extended the internal portal to create custom login environments for Part 91 and Part 135 aircraft owners. Owners could access their aircraft profiles, retrieve monthly statements, track aircraft positioning, view scheduling calendars, request services, and interact with a growing set of features built around an improved owner experience.
Process elimination: Automated a painstaking monthly financial reporting process that previously consumed the CFO and accounting team for days. Eliminated the need for two junior roles in the workflow and transitioned owner reporting from monthly Excel sheets to near real-time custom dashboards.
Fuel billing engine: Built a custom fuel billing system. Leveraged volume discounts to implement dynamic markup thresholds, transforming a standard operational cost into a net-new profit center.
JetInsight integration: Overcame platform limitations by reverse-engineering internal endpoints. Successfully ingested 100% of platform data: CRM records, flight logs, positioning data, and cost structures, all into the warehouse. Developed browser-mimicking scripts for bi-directional sync, writing data back into JetInsight programmatically and creating custom post-hooks for FuelerLinx integration.
Part 91 fleet tracking: After learning how the accounting team manually tracked Part 91 owners, shared hours, dry lease hours, and purchased hour usage across spreadsheets, I built a browser-based logging system that replaced the Excel workflow entirely. Created a faster, more dynamic method for managing the Part 91 fleet and generating monthly reporting.
Maintenance data: Analyzed Corridor database schemas (OracleDB) to prepare for data extraction and custom maintenance application development. Attended a week-long Corridor certification bootcamp alongside maintenance managers.
In 2025, FlyUSA was cited as the fastest growing private jet business in the United States by percentage growth, recognized by the Inc. 5000 and featured across various online publications.
Clearwater Executive Airport
Led the full rebrand of Clearwater Executive Airport from concept through public commission approval. This was a comprehensive identity overhaul for a municipal facility, navigating public processes, stakeholder input, and commission review.
Logo design: I personally designed the logo that was approved by the public commission. The design needed to serve a long-term vision: professional enough for a public airport while resonating with the private aviation community it served. Built to work across signage, print, digital, and branded merchandise.
Brand guidelines: Established a complete brand guidelines package covering color palettes, typography, logo usage rules, imagery standards, and tone of voice.
Website: Built the airport website from scratch, providing essential information about the facility, services, fuel pricing, and tenant operations while positioning the airport as a professional gateway to Tampa Bay.
Identified an untapped opportunity: the idle time passengers spend on board private aircraft. Unlike commercial aviation, private charter passengers sit in a cabin with very little branded content.
The concept: A branded inflight magazine designed to sit inside the aircraft cabin for private aviation travelers. Built around two objectives: entertain passengers during flight, and subtly upsell premium programs like JetCard memberships and fractional ownership.
Design: I personally designed every page of the mockup, cover to back page. Editorial layouts, lifestyle content, destination features, and strategically placed program advertising. Every design choice, from typography to photography style, was intentional.
Ownership: I own the Stratosphere Living brand, website, and logo. The concept was mine from inception, and the intellectual property and brand assets remain under my ownership.
FlyVolato (NYSE)
Recruited specifically based on digital performance results delivered in the private aviation space. FlyVolato, a company that would list on the NYSE, needed someone who understood how to scale digital visibility in a competitive aviation market.
Growth: Supported digital growth from approximately 1,500 monthly users to over 100,000. This growth in the private aviation space, where the audience is niche, high-value, and competitive to reach, required a combination of search strategy, content optimization, paid media, and technical performance tuning.
Aircraft exposure: Direct exposure to the sales and operational side of HondaJet and Gulfstream platforms. This deepened my understanding of how different aircraft categories are marketed, sold, and operated.
NYSE-level operations: Operating alongside a company preparing for public markets gave me perspective on how aviation companies at the highest level structure their growth, marketing, and technology operations.
Noble Air Charter
Noble Air Charter is a Part 135 operator based out of Opa-locka Executive Airport (OPF) in Miami. I managed the full marketing stack: digital advertising, SEO, email marketing, CRM management, and marketing automation workflows.
Automation: Built systems ensuring inbound charter inquiries were captured, routed, and followed up on with minimal manual effort. Connected the marketing stack to the sales process to convert more inquiries into booked flights.
Dual-channel approach: Oversaw both digital and physical marketing initiatives, combining digital performance marketing with tangible physical touchpoints. The private aviation audience responds to premium physical experiences as much as well-targeted digital campaigns.
Norfolk Aircraft Interiors
Norfolk Aircraft Interiors specializes in interior restorations and upgrades, with particular depth in piston aircraft and Cirrus markets.
SEO & web strategy: Led SEO and web strategy focusing on high-intent keywords within the piston and Cirrus refurbishment space. By optimizing content, site structure, and technical SEO factors, I helped the company rank for the terms that matter most to aircraft owners actively looking for interior work.
For a specialized company where each project represents significant revenue, even a modest increase in qualified inbound leads has a material impact on the business.
MiamiJet
Built and maintained the MiamiJet website with a specific goal: create a digital asset that generates consistent inbound leads without requiring constant attention or heavy ongoing investment.
Passive performance: Once the SEO foundation was laid, the content optimized, and the conversion paths established, the site continued to deliver leads consistently over time. A website that works around the clock, capturing charter inquiries and routing them without needing a full-time marketing team behind it.
Design: The site communicates credibility and professionalism immediately. In private aviation, the website is often the first impression a potential charter client has of the operation. MiamiJet's design was built to match the premium expectations of the South Florida market.
Certified Aircraft Appraisers
Certified Aircraft Appraisers (CAAA) provides certified valuation services for aircraft transactions, insurance, estate planning, and legal proceedings.
Logo rebrand: Modernized the CAAA logo to reflect the organization's credibility in a highly specialized field. Designed to work across digital platforms, printed certification documents, and professional correspondence.
Website rebuild: Rebuilt the website as a functional lead generation and information platform. Clear service descriptions, strong calls to action, and a design that reinforces the professionalism of the organization. When a bank, attorney, or aircraft owner receives a certified appraisal report, the branding communicates legitimacy instantly.
JetEdCo
A private SaaS platform I built from the ground up for jet broker training and lead management. A complete system designed to train brokers, manage leads, and automate the quoting process for private jet charter.
Quote engine: Designed and built from scratch. Includes AI-powered intake, aircraft category presentation, range-based pricing with haversine distance calculations, and an interactive airport selection tool.
User systems: Full user management, authentication, and workflow automation tools. Brokers can log in, manage their pipeline, track client interactions, and move deals through defined stages.
Training platform: Structured learning paths for new and aspiring jet brokers, bridging the gap between knowing the industry and knowing how to actually broker charter flights.
What I'm Looking For
I'm not looking for a marketing role. I'm not looking to be someone's vendor. I've done that. I've outgrown it.
I'm looking for an owner or investor, whether in Florida from Miami to Jacksonville, or in key international markets like Geneva, Dubai, or Barcelona, who either operates a private aircraft or small fleet, or is in the process of acquiring one, and needs someone who can come in and execute across the entire operation for a Part 135 certificate, GCAA Air Operator Certificate, or Part 91 operation. From accounting systems, martech, command and control systems, charter systems, data aggregation and reporting systems, when you need someone trustworthy, I have the ability to assist directors and departments with solutions and revenue management.
Not one department. The entire operation.
I sit down with your Director of Operations and talk OpSpecs, operational control, and compliance infrastructure. I turn around and work with your Director of Maintenance on software, systems, and building data-driven tools for AOG response and fleet readiness. I sit with your Chief Pilot and build custom training modules, standardization tools, and internal systems that make running a pilot group tighter. Then I walk into your CFO's office and automate the reporting, streamline the data, and build owner portals that eliminate the manual overhead.
And then I do the part most people in these roles can't do at all. I drive revenue. SEO, SEM, ad agency management, print production, digital campaigns, benchmarking, and accountability frameworks that I build myself because I know what the standards should be.
That is not a job description. That is 20 years of being embedded inside aviation operations and building everything that was missing.
I want a partnership. Skin in the game. A stake in outcomes. I'm looking for someone who wants a force multiplier, not a department head. Someone who understands that bringing in a person like me is not a cost. It is the thing that changes the trajectory of the operation.
With me, you don't get BS. It comes from proven approaches. Proven revenue. Proven results.
If growth is on your agenda, let's talk.
One person built all of this.
If your operation needs someone who can deploy marketing strategy, premium design, data engineering, and AI systems at this level, and you're open to a partnership structure where outcomes are shared, let's talk.