AI Project Showcase: Scuba GPT

Document type: AI Project Showcase

Project: Scuba GPT

Status: Draft

Last updated by Claude Code: April 12, 2026

Populated from: CLAUDE.md, documentation/README.md, scubagpt-chatbot/scubagpt-chatbot.php, scubagpt-chatbot/readme.txt, scubagpt-chatbot/includes/class-scubagpt-admin.php (system prompt), scubagpt-chatbot/includes/class-scubagpt-chat.php, scubagpt-chatbot/includes/class-scubagpt-api.php, scubagpt-chatbot/includes/class-scubagpt-knowledgebase.php, scubagpt-chatbot/includes/class-scubagpt-safety.php, scubagpt-chatbot/includes/class-scubagpt-disambiguations.php, scubagpt-chatbot/knowledgebase/ (20 files), scubagpt-chatbot/disambiguations/ (3 JSON), scubagpt-chatbot/documentation/AI-ENGINE-INTEGRATION.md, Scuba GPT Prompts/ScubaGPT Claude Prompt, documentation/SYSTEM-PROMPT-UPDATE.md, plugin-installs/ (release zips), Fine Tunings/ (training CSVs)

Section 1 — Product Overview

1.1 Product name and tagline

Name: ScubaGPT Chatbot Tagline: AI-Powered Diving Chatbot for WordPress Current status: Version 1.3.4 (stable tag) / 1.4.0 (internal constant) — active development First commit / project start: Pre-March 2026; GitHub repo at https://github.com/pedrowest/scuba-gpt.git

1.2 What it is

ScubaGPT is a WordPress plugin that provides an AI-powered chatbot specifically for recreational scuba diving. It acts as an MSDT-level (Master Scuba Diver Trainer) advisor covering 60+ countries, with expertise across dive destinations, operators, equipment, marine life, safety/medicine, wreck diving, navigation technology, underwater photography, conservation, and certifications. The chatbot combines Claude AI with a curated scuba knowledgebase (8 regional destination guides + 9 topic references), Pinecone vector search, Tavily web search, marine APIs for real-time conditions, and a safety system that detects and flags medical and gas-planning queries. Training data (~3.7 GB, excluded from git) includes dive site databases, journal articles, and CSV datasets.

1.3 What makes it meaningfully different

  • Domain-specific safety system: Regex-based detection of medical and gas-planning queries with automatic safety alert injection into prompts
  • Budget-controlled knowledgebase: 60K character budget with keyword-gated file selection (max 1 destination + 1 topic per query)
  • Disambiguation engine: JSON-based term disambiguation for scuba/coral/fish terminology to prevent confusion
  • MSDT-level expertise persona with 60+ country coverage across 9 diving domains
  • Structured response format: Links, Helpful Resources, and Related Searches appended to every response
  • Multi-source RAG: Pinecone vectors + Tavily web search + keyword KB + marine weather APIs

1.4 Platform and deployment context

Platform: WordPress plugin Deployment: Self-hosted WordPress 6.0+, PHP 8.0+ Primary interface: Chat widget (shortcode or auto-injected)


Section 2 — User Needs and Problem Statement

2.1 Target user

Primary user: Recreational scuba divers seeking destination recommendations, dive planning guidance, equipment advice, and safety information Secondary users: Dive operators, dive students, marine life enthusiasts [CLAUDE NOTE: inferred from prompt persona scope] User environment: WordPress website (desktop and mobile browsers)

2.2 The problem being solved

Scuba diving information is scattered across dive forums, operator websites, certification agency resources, and general travel sites. Divers need specialized advice that accounts for their certification level, experience, and safety considerations — something generic AI chatbots and search engines cannot reliably provide. ScubaGPT consolidates expert-level diving knowledge into a conversational interface with built-in safety guardrails.

2.3 Unmet needs this addresses

Need How the product addresses it Source of evidence
Certification-appropriate advice Prompt requires asking certification/experience before personalized guidance System prompt section
Dive safety guardrails Automatic detection and flagging of medical/gas-planning queries class-scubagpt-safety.php
Real-time dive conditions Marine API integration (Open-Meteo, Stormglass, NOAA, WorldTides) AI-ENGINE-INTEGRATION.md function list
Regional destination expertise 8 curated regional guides (Caribbean, Indo-Pacific, GBR, etc.) knowledgebase/destinations/
Equipment and certification guidance 9 topic reference files covering equipment, safety, certifications knowledgebase/topics/
Marine life identification Disambiguation engine for fish/coral/diving terms disambiguations/ JSON files

2.4 What users were doing before this existed

Browsing ScubaBoard forums, DAN (Divers Alert Network) website, PADI/SSI course materials, generic travel review sites, and asking general-purpose AI chatbots that lack dive-specific safety awareness.


Section 3 — Market Context and Competitive Landscape

3.1 Market category

Primary category: AI-powered niche vertical chatbots / scuba diving information platforms Market maturity: Emerging for AI-powered; established for scuba info platforms [CLAUDE NOTE: inferred] Key dynamics: Small but passionate niche; safety-critical domain; certification-gated expertise levels [CLAUDE NOTE: inferred]

3.2 Competitive landscape

Product / Company Approach Strengths Key gap this project addresses Source
⚡ ScubaBoard Forum community Huge user knowledge base, peer advice No AI, hard to search, variable quality General knowledge
⚡ DAN (Divers Alert Network) Safety resources + insurance Authoritative safety info Static content, no interactive advising General knowledge
⚡ PADI / SSI apps Certification + logbook Official training resources Limited destination/equipment advice outside courses General knowledge
⚡ Diveboard Dive logging + social Good logging, community features No AI advising, destination recommendations General knowledge

3.3 Market positioning

The only AI-powered scuba diving advisor with built-in safety guardrails, certification-aware personalization, and a curated knowledgebase covering destinations, equipment, marine life, and dive conditions. Operates as a WordPress plugin for easy deployment on dive-related websites. [CLAUDE NOTE: inferred]

3.4 Defensibility assessment

Defensibility comes from the curated knowledgebase (17 files totaling ~6,190 lines), the safety detection system, the disambiguation engine (3 JSON files), the training data corpus (~3.7 GB excluded from git), and the domain-specific prompt engineering (MSDT-level persona with 9 expertise domains). The niche vertical focus creates a depth advantage over general-purpose AI tools. [CLAUDE NOTE: inferred]


Section 4 — Requirements Framing

4.1 How requirements were approached

NOT FOUND as a formal requirements document. Product evolution documented through changelog (v1.0.0 through v1.3.4) and system prompt update documentation. Requirements emerged iteratively through development.

4.2 Core requirements

  1. Claude AI-powered conversational chatbot for scuba diving
  2. Curated knowledgebase with regional destination and topic reference files
  3. Safety detection system for medical and gas-planning queries
  4. Streaming chat responses with rate limiting
  5. Pinecone vector search for semantic knowledge retrieval
  6. Tavily web search for real-time information
  7. WordPress admin settings with API key management
  8. Data retention and privacy compliance (GDPR)

4.3 Constraints and non-goals

Hard constraints: WordPress 6.0+ / PHP 8.0+ / MySQL 5.7+; curl, json, mbstring, mysqli PHP extensions Explicit non-goals: AI Engine integration deferred (API incompatibility — forced to null in main class)

4.4 Key design decisions and their rationale

Decision Alternatives considered Rationale Evidence source
Keyword-gated KB selection (max 1 dest + 1 topic) Full KB injection, vector-only retrieval Budget control (60K char limit); deterministic file selection class-scubagpt-knowledgebase.php
Safety alert injection via XML tags User-facing warnings, blocking responses Non-intrusive to conversation; guides model behavior class-scubagpt-safety.php
Disambiguation engine LLM-only disambiguation Deterministic term resolution; reduces hallucination class-scubagpt-disambiguations.php
Emergency shutdown option No kill switch Safety net for critical failures; admin recovery page scubagpt-chatbot.php
Daily token budget (500K default) No budget, per-request limits Cost control with configurable filter scubagpt_daily_token_budget filter

Section 5 — Knowledge System Architecture

5.1 Knowledge system overview

KB type: Curated markdown files (in-plugin) + Pinecone vector embeddings + Tavily web search + JSON disambiguation files Location in repo: scubagpt-chatbot/knowledgebase/ (20 files: 8 destinations, 9 topics, 3 templates) Estimated size: ~6,190 lines of markdown across destination and topic files

5.2 Knowledge system structure


scubagpt-chatbot/
├── knowledgebase/
│   ├── destinations/              # 8 regional dive guides
│   │   ├── caribbean.md
│   │   ├── indo-pacific.md
│   │   ├── great-barrier-reef-australia.md
│   │   ├── costa-rica-galapagos.md
│   │   ├── red-sea-maldives.md
│   │   ├── mediterranean-europe.md
│   │   ├── southeast-asia.md
│   │   └── florida-americas.md
│   ├── topics/                    # 9 reference guides
│   │   ├── marine-life-reference.md
│   │   ├── safety-medicine-reference.md
│   │   ├── equipment-guide.md
│   │   ├── conservation-reef-health.md
│   │   ├── liveaboard-guide.md
│   │   ├── dive-industry-reference.md
│   │   ├── wreck-diving-guide.md
│   │   ├── seasonal-dive-planner.md
│   │   └── navigation-safety-technology.md
│   └── templates/                 # 3 authoring templates
│       ├── dive-site-template.md
│       ├── dive-destination-template.md
│       └── dive-operator-template.md
├── disambiguations/               # 3 terminology files
│   ├── coral-reef-terms.json
│   ├── fish-terms.json
│   └── scuba-diving-terms.json

5.3 Knowledge categories

Category Files / format Purpose Update frequency
Regional destinations 8 .md Dive site guides by world region Periodic
Topic references 9 .md Equipment, safety, marine life, conservation, etc. Periodic
Authoring templates 3 .md Templates for adding new destinations/sites/operators Static
Disambiguation terms 3 .json Scuba/coral/fish term resolution with context and descriptions As needed
Training data (excluded from git) CSV, PDF, HTML (~3.7 GB) Fine-tuning data, dive databases, journal articles Static reference
Fine-tuning CSVs train.csv, travel-wikipedia-train-data.csv (~12,904 lines each) Categorized travel/dive content for potential fine-tuning Static

5.4 How the knowledge system was built

Knowledgebase files were curated through AI-assisted research sessions covering major dive regions and scuba topics. The keyword-gated retrieval system uses extensive destination_map and topic_map dictionaries in PHP to match user queries to the most relevant files. Disambiguation JSON files were structured with term, context, full_term, description, and related_terms fields. Training data was collected from DAN resources, LiveAboard guides, journal articles, and web sources (~3.7 GB, excluded from git via .gitignore).

5.5 System prompt and agent configuration

System prompt approach: XML-structured prompt defined in class-scubagpt-admin.php get_default_system_prompt() (~200 lines) with sections:

  • — MSDT-level advisor, 60+ countries, 9 expertise domains
  • — Must ask certification/experience; beginner/intermediate/advanced heuristics
  • — Medical → DAN/physician; no gas planning; accuracy; conservation/legal; species confidence; data currency
  • — 50+ diver considerations
  • , , — Structured response patterns
  • — Describes 8 regional + 9 topic files and live API injection
  • , , , ,

Prompt augmentation pipeline (class-scubagpt-chat.php build_augmented_prompt()):

  1. Base system prompt from scubagpt_system_prompt option (or default)
  2. Disambiguation context injection (max 3,000 chars)
  3. Knowledgebase chunk in ... tags (max 60K chars)
  4. Safety alert injection via XML for medical/gas-planning patterns
  5. Retrieved context from Pinecone + Tavily + marine APIs in

Key behavioural guardrails:

  • Medical queries → always refer to DAN hotline and physician
  • No decompression calculations or gas mix planning
  • No medical clearance advice
  • Species identification requires confidence qualifier
  • Data currency awareness (seasonal conditions)
  • Conservation and legal compliance emphasis

Persona / tone configuration: MSDT-level dive professional; enthusiastic but safety-first Tool use / function calling: Marine API functions defined in AI Engine integration (deferred): get_dive_conditions, get_tide_info, get_marine_weather, check_dive_suitability, get_marine_life_seasons, search_dive_sites


Section 6 — Build Methodology

6.1 Development approach

Iterative AI-assisted development in Cursor IDE. Plugin architecture based on gd-claude-chatbot WordPress chatbot pattern from ITI, with progressive addition of safety features, knowledgebase, disambiguation, Pinecone, Tavily, and rate limiting. Changelog tracks evolution from v1.0.0 through v1.3.4.

6.2 Build phases

Phase Approximate timeframe What was built Key commits or milestones
v1.0.0 Pre-Jan 2026 Core chatbot with AI Power integration, admin UI Initial release
v1.1.0 ~Jan 2026 Safety guardrails, system prompt overhaul, Pinecone/Tavily, rate limiting Major feature release
v1.2.0 Post-Jan 2026 Disambiguation engine, knowledge base expansion Feature release
v1.3.0 Pre-Mar 2026 CSRF/XSS hardening, GDPR compliance, token budget Security release
v1.3.4 ~Mar 2026 Bug fixes, additional security hardening Stable tag per readme.txt
Pre-migration commit Mar 27, 2026 Full workspace committed to ITI monorepo e65fdaf2
Chat/API updates Mar 31, 2026 Handler updates across products 69ea8003

6.3 Claude Code / AI-assisted development patterns

  • Plugin code generated and iterated via Cursor IDE
  • Knowledgebase content (8 regional + 9 topic guides) authored with AI assistance
  • Training data collected from web sources (DAN, LiveAboard, journals)
  • System prompt iteratively refined (documented in SYSTEM-PROMPT-UPDATE.md)
  • Disambiguation JSON files structured via AI research

6.4 Key technical challenges and how they were resolved

Challenge How resolved Evidence
Token budget for large KB 60K char budget with keyword-gated selection (max 1 dest + 1 topic) class-scubagpt-knowledgebase.php KB_BUDGET
Medical/gas safety detection Regex-based pattern matching with XML safety alert injection class-scubagpt-safety.php
Scuba term ambiguity JSON disambiguation engine (3 files: scuba, coral, fish terms) class-scubagpt-disambiguations.php
AI Engine API incompatibility Integration forced to null; manual enable path deferred scubagpt-chatbot.php line comments
Emergency recovery Admin shutdown option with recovery page for critical failures scubagpt_emergency_shutdown option
Version alignment Plugin header says 1.3.4, internal constant says 1.4.0 scubagpt-chatbot.php header vs line 33

Section 7 — AI Tools and Techniques

7.1 AI models and APIs used

Model / API Provider Role in product Integration method
Claude Sonnet 4 (claude-sonnet-4-20250514) Anthropic Default chat model ScubaGPT_API::DEFAULT_MODEL via Anthropic Messages API
Claude Opus 4 Anthropic Admin-selectable alternative Same API, model selector in settings
Claude 3.5 Sonnet Anthropic Admin-selectable legacy option Same API
Pinecone Pinecone Vector/semantic search over diving knowledge Admin-configurable, off by default
Tavily Search API Tavily Real-time web search for current dive information Admin-configurable, off by default
text-embedding-3-small OpenAI Pinecone embedding model Referenced in CLAUDE.md
Open-Meteo / Stormglass / NOAA / WorldTides Various Marine weather, tides, conditions (via AI Engine) Defined in AI-ENGINE-INTEGRATION.md (deferred)
ITI Workflow Adapter (optional) ITI / n8n Routes to n8n agent scuba-gpt when shared library present run_agent('scuba-gpt', ...), returns model => 'n8n'

7.2 AI orchestration and tooling

Tool Category Purpose
ITI Workflow Adapter (optional) Orchestration n8n routing for non-streaming Anthropic calls
WordPress transients Caching KB cache (86,400s), disambiguation cache
WordPress AJAX Transport Frontend-to-backend chat communication
WP Cron Scheduling Daily data retention cleanup (scubagpt_data_retention_cleanup)

7.3 Prompting techniques used

  • ☑ XML-structured system prompt with labeled sections
  • ☑ Role assignment (MSDT-level dive professional)
  • ☑ User context elicitation (certification/experience before personalized advice)
  • ☑ Knowledge base context injection with budget control (60K chars)
  • ☑ Disambiguation context injection (max 3K chars)
  • ☑ Safety alert injection via XML tags for medical/gas queries
  • ☑ RAG from multiple sources (Pinecone + Tavily + keyword KB)
  • ☑ Structured response format (Links, Helpful Resources, Related Searches)
  • ☑ Conversation memory with news/current events instructions
  • ☑ Trusted source citation requirements
  • ☑ Age-aware guidance (50+ diver considerations)
  • ☑ Domain-specific safety guardrails (DAN referral, no gas mix calculations)

7.4 AI development tools used to build this

Tool How used in build
Cursor IDE Primary development — plugin code, KB content, prompt engineering
GitHub Version control (https://github.com/pedrowest/scuba-gpt.git)

Section 8 — Version History and Evolution

8.1 Version timeline

Version / Phase Date Summary of changes Significance
v1.0.0 Pre-Jan 2026 Initial release: AI Power integration, basic chatbot, admin UI Product launch
v1.1.0 ~Jan 7, 2026 Safety guardrails, system prompt overhaul, Pinecone/Tavily, streaming, rate limits, hooks/filters Major feature release — prompt update doc dated Jan 7
v1.2.0 Post-Jan 2026 Disambiguation engine, KB expansion, enhanced admin Feature release
v1.3.0 Pre-Mar 2026 CSRF/XSS hardening, data retention, GDPR, token budget Security release
v1.3.1 Pre-Mar 2026 Bug fix: Tavily search result handling Patch
v1.3.2 Pre-Mar 2026 KB loading performance optimization Patch
v1.3.3 Pre-Mar 2026 Admin UI improvements, better error messages Patch
v1.3.4 ~Mar 2026 Additional security hardening, improved error handling Current stable

8.2 Notable pivots or scope changes

  • AI Engine (Meow) integration attempted but deferred due to API incompatibility — forced to null in main class
  • Marine weather API integration (Open-Meteo, Stormglass, NOAA, WorldTides) designed but awaiting AI Engine function calling support
  • Training data corpus (~3.7 GB) collected for potential fine-tuning but not yet used for model training

8.3 What has been cut or deferred

  • AI Engine / Meow integration (API incompatibility)
  • Marine weather function calling (6 functions defined but not active)
  • Fine-tuning with collected training data (~3.7 GB)
  • Root-level knowledgebase/ directories are empty (disambiguations, embeddings, guardrails)
  • Scuba GPT Agents/ directory is empty

Section 9 — Product Artifacts

9.1 Design and UX artifacts

Artifact Path Type What it shows
Chat widget template scubagpt-chatbot/templates/chatbot-widget.php PHP template Chat UI structure
Visual style guide scubagpt-chatbot/documentation/VISUAL-STYLE-GUIDE.md Markdown UI design specifications
Chat robot SVG scubagpt-chatbot/assets/chat-robot-1.svg SVG Chat widget icon
Admin CSS scubagpt-chatbot/assets/css/admin.css CSS Admin panel styling
Chatbot CSS scubagpt-chatbot/assets/css/chatbot.css CSS Chat widget styling

9.2 Documentation artifacts

Document Path Type Status
Product README documentation/README.md Full documentation (570 lines) Active
CLAUDE.md CLAUDE.md Project context Active (March 2026)
System Prompt Update documentation/SYSTEM-PROMPT-UPDATE.md Prompt changelog (Jan 7, 2026) Historical
Plugin Safety Guardrails documentation/PLUGIN-SAFETY-GUARDRAILS.md Safety architecture Active
AI Engine Integration scubagpt-chatbot/documentation/AI-ENGINE-INTEGRATION.md API bridge design Active (deferred)
Safety Features scubagpt-chatbot/documentation/SAFETY-FEATURES.md Safety implementation Active
Admin UI Stats documentation/ADMIN-UI-STATS-DOCUMENTATION.md Admin dashboard docs Active
Quick Reference documentation/QUICK-REFERENCE.md Quick-start guide Active
WordPress readme.txt scubagpt-chatbot/readme.txt Plugin directory readme + changelog Active (v1.3.4)
Claude Prompt file Scuba GPT Prompts/ScubaGPT Claude Prompt Standalone prompt artifact (174 lines) Active

9.3 Data and output artifacts

Artifact Path Description
Plugin releases plugin-installs/scubagpt-chatbot-v1.1.0.zip through v1.3.4.zip Packaged release archives
Training CSV Fine Tunings/train.csv (~12,904 lines) Categorized dive/travel content
Wikipedia training CSV Fine Tunings/travel-wikipedia-train-data.csv (~12,904 lines) Wikipedia-sourced travel data
Disambiguation JSON (3 files) scubagpt-chatbot/disambiguations/ Scuba/coral/fish term definitions
KB authoring templates (3 files) scubagpt-chatbot/knowledgebase/templates/ Templates for new content

Section 10 — Product Ideation Story

10.1 Origin of the idea

ScubaGPT originated from the recognition that scuba diving is a safety-critical domain where generic AI chatbots lack the specialized knowledge and safety awareness needed for responsible advising. The product leverages the ITI WordPress chatbot architecture (gd-claude-chatbot base) with domain-specific knowledge, safety guardrails, and a curated reference corpus. [CLAUDE NOTE: inferred from CLAUDE.md cross-project references and architecture]

10.2 How the market was assessed

NOT FOUND — add manually. The product targets a specific niche (recreational scuba divers) where existing AI tools lack domain depth and safety awareness. The knowledgebase covers 60+ countries across 8 world regions.

10.3 The core product bet

That a vertically-focused AI diving advisor with built-in safety guardrails, curated regional knowledge, and certification-aware personalization can provide value that generic AI chatbots cannot match in this safety-critical recreational domain. [CLAUDE NOTE: inferred]

10.4 How the idea evolved

WordPress chatbot base → scuba-specific prompt engineering → safety detection system → knowledgebase curation (8 regions + 9 topics) → disambiguation engine → Pinecone/Tavily RAG → marine API integration design → ITI ecosystem integration (Workflow Adapter, shared library).


Section 11 — Lessons and Next Steps

11.1 Current state assessment

What works well: Domain-specific prompt engineering (MSDT persona); safety detection and alert injection; keyword-gated KB selection; disambiguation engine; comprehensive changelog documenting progressive hardening; multiple release archives Current limitations: AI Engine integration deferred; marine weather APIs not active; version mismatch (header 1.3.4 vs constant 1.4.0); fine-tuning data collected but unused; diagnostic script has hard-coded key Estimated completeness: 80% — core chatbot fully functional with safety guardrails; marine APIs and fine-tuning represent planned enhancements [CLAUDE NOTE: inferred]

11.2 Visible next steps

  1. Resolve version mismatch (1.3.4 vs 1.4.0)
  2. Activate marine weather API integration (pending AI Engine compatibility or alternative)
  3. Evaluate fine-tuning with collected training data
  4. Remove diagnostic script hard-coded key or implement proper auth
  5. Expand knowledgebase with additional destination regions
  6. Populate empty root-level knowledgebase/ directories
  7. Complete AI Engine / function calling integration

11.3 Lessons learned

_Manual input required — this section cannot be populated automatically._


Section 12 — Claude Code Validation Checklist

  • ☑ Every placeholder has been replaced or marked NOT FOUND
  • ☑ All externally-sourced competitive data is marked with ⚡
  • ☑ All inferences are marked with [CLAUDE NOTE]
  • ☑ Version history is derived from actual changelog in readme.txt
  • ☑ Knowledge system paths reflect real directory structure
  • ☑ AI tools are confirmed from code/config, not guessed
  • ☑ Section 11.3 is left blank for manual input
  • ☑ Document header shows today’s date and files examined

Sources Examined

File / Path What it contributed
CLAUDE.md Product overview, version (1.3.4), GitHub URL, architecture, training data size, cross-project refs
documentation/README.md Full product documentation (570 lines): features, config, API details
scubagpt-chatbot/scubagpt-chatbot.php Plugin header (v1.3.4/1.4.0), bootstrap, DB tables, cron, emergency shutdown, defaults
scubagpt-chatbot/readme.txt WordPress readme with full changelog v1.0.0 through v1.3.4
scubagpt-chatbot/includes/class-scubagpt-admin.php get_default_system_prompt() (~200 lines): full XML-structured system prompt
scubagpt-chatbot/includes/class-scubagpt-chat.php build_augmented_prompt(): disambiguation + KB + safety + RAG pipeline
scubagpt-chatbot/includes/class-scubagpt-api.php API integration: Anthropic Messages API, ITI Workflow Adapter path, default model
scubagpt-chatbot/includes/class-scubagpt-knowledgebase.php KB_BUDGET (60K), CACHE_DURATION (86400s), keyword maps, file selection
scubagpt-chatbot/includes/class-scubagpt-safety.php Safety detection patterns and alert injection
scubagpt-chatbot/includes/class-scubagpt-disambiguations.php Term disambiguation loading and injection
scubagpt-chatbot/knowledgebase/ (20 files) 8 destination + 9 topic + 3 template files
scubagpt-chatbot/disambiguations/ (3 JSON) Scuba, coral, fish term definitions
scubagpt-chatbot/documentation/AI-ENGINE-INTEGRATION.md AI Engine bridge design, 6 function definitions, marine API endpoints
Scuba GPT Prompts/ScubaGPT Claude Prompt Standalone prompt artifact (174 lines)
documentation/SYSTEM-PROMPT-UPDATE.md Jan 7, 2026 prompt overhaul documentation
plugin-installs/ Release archives v1.1.0 through v1.3.4
Fine Tunings/train.csv Training data structure (~12,904 lines)
Git log (2 path-specific commits) Commit history

Addendum — April 2026 Competitive Landscape and Roadmap Update

1. Industry Context

The scuba diving app market has undergone a rapid transformation driven by two converging forces: the mainstreaming of AI capabilities and the proliferation of mobile-first recreational apps. When ScubaGPT launched as the only AI-powered scuba diving advisor, the competitive set consisted of static forums (ScubaBoard), certification apps (PADI, SSI), and basic dive loggers (Diveboard, Subsurface). By April 2026, three AI-native dive platforms have entered the space: DiveBook (AI recommendations + booking), Scuba Steve AI (AI assistant + marine photo ID), and theDiveGlobe’s Neptune AI (AI recommendations on a 3D globe interface). PADI unified its apps into a single platform with dive site discovery and booking. The claim “only AI-powered scuba advisor” is no longer defensible.

The vibe coding phenomenon is directly relevant here. With 41% of code now AI-generated and platforms like Cursor and Bolt.new enabling rapid vertical app creation, the barrier to building a niche AI chatbot has collapsed. A developer with diving knowledge and a Claude API key could build a basic ScubaGPT competitor in days. Four competitors now offer marine life photo identification — a capability ScubaGPT lacks — using the same Claude Vision API that is available to anyone. The differentiator cannot be “we have AI.” It must be the safety system, the RAG architecture depth, and the domain judgment embedded in the product.

LLM convergence affects ScubaGPT in a specific way: the safety-critical nature of diving means that the gap between “AI that gives diving advice” and “AI that gives responsible diving advice” is where real value lives. ScubaGPT’s regex-based medical/gas-planning detection, DAN referral system, and certification-aware personalization represent genuine domain engineering that generic competitors lack. But the gap is narrowing. Scuba Steve AI already offers training support, and DiveBook personalizes by skill level. The window to establish ScubaGPT’s safety architecture as the category standard is closing.

2. Competitive Landscape Changes

New AI-Native Competitors

Competitor What They Offer Threat Level
DiveBook (divebook.app) AI-powered dive recommendations + digital log + trip booking + community High — direct AI advisor competitor with monetization
Scuba Steve AI (scubasteve.rocks) AI dive assistant + marine photo ID + dive planning checklists + training support High — closest functional match to ScubaGPT
theDiveGlobe / Neptune AI 3D globe dive site explorer with AI recommendations by skill level + buddy matching Medium — strong UX, less depth on advising
DiveJourney (divejourney.io) 10,000+ dive spots, 156 destination guides, buddy matching Medium — content-rich but no AI chat
ScubaSnap (scubasnap.app) AI fish/marine life photo recognition + dive logging + species database Medium — addresses a gap we lack
FINS App (getfins.app) 5,000+ species photo ID + dive logging + destination planning Medium — strong marine ID coverage

Features Competitors Have Shipped

Feature Who Has It ScubaGPT Status
AI-powered dive site recommendations by skill/preference DiveBook, theDiveGlobe, Scuba Steve AI We advise on destinations but lack structured recommendation engine
Photo-based marine life identification ScubaSnap, FINS, OceanScout, Scuba Steve AI Not built — 4 competitors offer this; now a parity gap
Unified certification app with dive site discovery + booking PADI (June 2025 unification) Not applicable — different product category
GPS-tracked dive site mapping Shearwater Dive app + Swift GPS Not built — hardware integration
Buddy matching / social discovery theDiveGlobe, DiveJourney, DiveBook Not built — no social features
Trip booking integration DiveBook, PADI Adventures Not built — no monetization path
Interactive dive planning (decompression models) DiveCast, Tables Dive Planner Not built — technical planning tools

Eroded Differentiators

Differentiator Current Status
“Only AI-powered scuba diving advisor” No longer true — DiveBook, Scuba Steve AI, and theDiveGlobe Neptune AI all offer AI advising
Destination recommendations Eroded — DiveJourney (156 guides), theDiveGlobe (thousands of sites), PADI (unified locator) all cover this
Certification-aware personalization Partially eroded — DiveBook and theDiveGlobe filter by skill level

Still unique to ScubaGPT:

  • Safety detection system with automatic medical/gas-planning alert injection (no competitor has systematic safety rails)
  • Budget-controlled keyword-gated RAG architecture with disambiguation engine
  • WordPress plugin deployment model (all competitors are standalone apps/websites)
  • MSDT-level persona with 9 structured expertise domains
  • Multi-source RAG (Pinecone + Tavily + curated KB + disambiguation)

3. Our Competitive Response: Product Roadmap

The strategic logic: Tier 1 activates deferred capabilities (marine weather APIs were designed months ago) and closes the marine photo ID parity gap. Tier 2 builds the features that leverage our RAG depth advantage. Tier 3 creates an ecosystem around the chatbot.

Tier 1 — Critical (Next Build Cycle)

  • Activate marine weather API integration (6 functions already designed — implement via Claude tool use instead of deferred AI Engine approach)
  • Marine life photo identification via Claude Vision (4 competitors already offer this — parity gap)
  • Resolve version mismatch (plugin header 1.3.4 vs. internal constant 1.4.0)
  • Remove hard-coded diagnostic key (security issue)
  • Seasonal condition injection (auto-inject current-month conditions when users ask about destinations)

Tier 2 — High Value (Near-Term)

  • Interactive dive site map (Leaflet/Mapbox with 1000+ sites from existing CSV database)
  • Conversational trip planner mode (multi-turn dialogue building a complete dive trip)
  • Proactive safety briefing (when a user describes a planned dive, AI flags risks before they ask)
  • Expand destination knowledgebase (4 new regions: Africa/Indian Ocean, Pacific Islands, East Asia, Central America)
  • Mobile-optimized chat widget

Tier 3 — Strategic (Medium-Term)

  • Post-dive species logging (“I saw X, tell me about it” with conversation + photo context)
  • Dive operator recommendation engine (AI-matched by cert level, budget, dates, preferences)
  • Equipment configurator (natural language gear advice by dive type and conditions)
  • Multi-language support (Spanish, French, German, Japanese — top non-English diver demographics)

Prioritization rationale: Marine weather API activation is the highest-ROI item because the work is already designed — the six function definitions exist in the codebase. Marine photo ID is Tier 1 because four competitors already have it, and Claude Vision makes implementation straightforward. The conversational trip planner (Tier 2) is where ScubaGPT can create genuine differentiation — no competitor combines safety-aware AI advising with real-time conditions and multi-turn trip planning.

4. New Capabilities Added Since Last Build

Skill What It Enables
marine-life-identification AI-powered marine life identification from photos and text descriptions covering fish, coral, invertebrates, and marine mammals. Species database structuring, confidence scoring, habitat/behavioral context, conservation status, regional distribution. Directly enables the Tier 1 photo ID feature.
dive-conditions-forecasting Aggregate and interpret marine weather, tide, current, visibility, and seasonal migration data to produce dive-condition forecasts. API integration with Open-Meteo, Stormglass, NOAA, WorldTides. Risk-level assessment for recreational diving. Directly enables the Tier 1 marine weather activation.
ai-vision-diagnosis Structured photo diagnosis workflows using Claude Vision API combining image analysis with contextual data enrichment. While designed for plant disease, the pattern (image upload, Vision API analysis, context injection, confidence-scored diagnosis) directly applies to marine life photo identification.

5. Honest Assessment

Strengths:

  • The safety detection system (medical/gas-planning query detection with DAN referral) is genuinely unique and architecturally sound — no competitor has systematic safety rails
  • Multi-source RAG (Pinecone + Tavily + keyword KB + disambiguation) provides deeper contextual responses than competitors’ simpler AI implementations
  • 17 curated knowledgebase files (8 regions + 9 topics, ~6,190 lines) with disambiguation engine give deterministic depth that competitors’ generic AI calls lack
  • WordPress plugin model enables deployment on any dive-related website — different distribution channel than app store competitors
  • The MSDT-level persona with certification-aware personalization and age-aware guidance represents domain engineering, not just prompt wrapping

Gaps we’re honest about:

  • Marine weather API integration was designed months ago but remains unimplemented — this is a missed execution window
  • No marine life photo identification while 4 competitors offer it
  • No social features (buddy matching, community) while 3+ competitors have them
  • WordPress plugin deployment means no native mobile app — all competitors are mobile-first
  • Fine-tuning data (~3.7 GB) collected but never used for model training
  • AI Engine integration was abandoned due to API incompatibility — sunk design effort
  • The niche is small — the total addressable market for a paid scuba diving AI chatbot is inherently limited

What we’re watching:

  • Whether DiveBook’s booking integration creates a winner-take-most dynamic in the space
  • PADI’s platform unification — if they add AI advising to their unified app, they own the certification-to-advice pipeline
  • Scuba Steve AI as the closest functional competitor — their feature velocity will determine whether ScubaGPT’s safety advantage is enough
  • The broader question of whether a WordPress chatbot plugin is the right form factor for this market, or whether a standalone web app or mobile PWA would reach more divers

Portfolio context: ScubaGPT demonstrates ITI’s ability to build AI products for safety-critical niche verticals where generic AI tools are insufficient. The safety detection system, disambiguation engine, and budget-controlled RAG architecture represent genuine engineering — not prompt wrapping. The product’s value as consulting portfolio evidence lies in showing that responsible AI product development in a safety-critical domain requires domain-specific guardrails that go beyond what the base model provides.