{
  "$schema": "https://profish.app/docs/facts.json",
  "generatedFrom": "https://profish.app/docs/knowledge-base/",
  "lastVerified": "2026-08-13",
  "app": {
    "name": "ProFish",
    "tagline": "The AI-Powered Fishing Companion",
    "domain": "https://profish.app",
    "legalName": "Aurentiris AB",
    "legalForm": "Swedish aktiebolag (private limited company)",
    "country": "Sweden",
    "supportEmail": "support@profish.app",
    "platforms": [
      { "platform": "Android", "store": "Google Play", "packageId": "com.profish.app", "url": "https://play.google.com/store/apps/details?id=com.profish.app" },
      { "platform": "iOS", "store": "App Store", "appId": "6760431386", "url": "https://apps.apple.com/app/profish/id6760431386" }
    ],
    "languages": [
      "English", "Swedish", "Norwegian", "Danish", "Finnish", "German", "French", "Spanish",
      "Italian", "Portuguese", "Dutch", "Polish", "Czech", "Russian", "Turkish", "Filipino",
      "Malay", "Indonesian", "Vietnamese", "Arabic", "Korean", "Japanese", "Thai", "Hindi"
    ],
    "languageCount": 24,
    "minimumAge": { "default": 13, "eea": 16 }
  },
  "pricing": {
    "currency": "USD",
    "plans": [
      { "id": "free", "name": "Free", "price": 0, "billingPeriod": "forever", "notes": "No credit card required" },
      { "id": "pro_monthly", "name": "Pro Monthly", "price": 7.99, "billingPeriod": "month" },
      { "id": "pro_annual", "name": "Pro Annual", "price": 59.99, "billingPeriod": "year", "notes": "Save 37% vs monthly" }
    ],
    "freeTrial": { "available": true, "durationDays": 7, "appliesTo": "pro", "notes": "First subscription only" },
    "cancellation": "Cancel at least 24 hours before renewal via Google Play or the App Store",
    "priceVariationNote": "Prices may vary by region per Apple/Google store pricing"
  },
  "featureLimits": {
    "catchesLoggedPerMonth": { "free": 20, "pro": "unlimited" },
    "savedFishingSpots": { "free": 15, "pro": "unlimited" },
    "fishCastForecastDays": { "free": 1, "pro": 16 },
    "aiFishIdPerDay": { "free": 0, "pro": 5, "notes": "Pro limit counts only successful identifications; failed/unrecognized attempts do not count" },
    "mapLayersAvailable": { "free": 10, "pro": 21, "totalLayers": 21 },
    "offlineMaps": { "free": false, "pro": true },
    "ads": { "free": true, "pro": false },
    "catchStatistics": { "free": "basic", "pro": "full" },
    "weatherDataPriority": { "free": "standard", "pro": "priority" }
  },
  "mapLayers": {
    "total": 21,
    "free": [
      "Weather overlay (rain, cloud cover)",
      "Satellite view",
      "Normal (standard base map)",
      "Wind arrows",
      "Solunar overview",
      "Catch markers",
      "Community catches",
      "Tide stations",
      "Fishing spots",
      "OpenSeaMap (full feature set)"
    ],
    "proConfirmed": [
      "Depth contours & bathymetry",
      "Water temperature / sea surface temperature (SST)",
      "Ocean currents",
      "Fish Finder AI (hotspot layer)",
      "Offline map downloads"
    ],
    "proUnconfirmedCount": 6,
    "note": "21 total = 10 free + 11 Pro. Only 5 of the 11 Pro layers are individually confirmed; the remaining 6 are not publicly named."
  },
  "fishCast": {
    "description": "AI engine producing an hour-by-hour bite-probability score",
    "forecastWindowDays": { "free": 1, "pro": 16 },
    "scoreRange": { "min": 0, "max": 100 },
    "scoreTiers": ["Hot", "Good", "Fair", "Slow", "Dead"],
    "scoringWeights": [
      { "input": "Barometric pressure", "weightPercent": 20 },
      { "input": "Moon phase", "weightPercent": 15 },
      { "input": "Solunar period", "weightPercent": 15 },
      { "input": "Wind", "weightPercent": 12 },
      { "input": "Time of day", "weightPercent": 12 },
      { "input": "Tide state", "weightPercent": 10 },
      { "input": "Cloud cover", "weightPercent": 8 },
      { "input": "Precipitation", "weightPercent": 8 }
    ]
  },
  "aiFishId": {
    "speciesInDatabase": "400+",
    "speciesRecognizedOnDevice": 150,
    "requiresInternet": true,
    "proLimitPerDay": 5,
    "limitCountsOnlySuccessfulIds": true,
    "includedInFreeTier": false
  },
  "catchMaster": {
    "description": "Predicts likely-to-be-caught species by location, season, and time of day, with encounter percentages",
    "waterTypeSelection": ["saltwater", "freshwater", "brackish"],
    "locationOptions": ["current GPS location", "any saved or searched spot"]
  },
  "fishFinderAi": {
    "tier": "pro",
    "type": "map layer",
    "dataSources": ["satellite sea-surface-temperature (SST)", "chlorophyll-a concentration", "current/structure data"],
    "isGuarantee": false
  },
  "regulations": {
    "countries": 61,
    "regionalZones": "700+",
    "dataPoints": ["season dates", "bag limits", "size limits", "license requirements"],
    "linkedToAiFishId": true,
    "flow": "Select a region, see a species-rule count for that region, then search/filter individual species for their specific rule",
    "shellfishDisclaimer": "Shellfish rules (crab, lobster, clam, oyster, mussel, scallop, abalone, etc.) can vary by exact area, permit, gear, season, and temporary closure; app links out to official local sources"
  },
  "catchLog": {
    "autoTagged": ["photo", "GPS", "weather"],
    "features": ["personal statistics", "charts", "season comparison", "species bucket list tracker", "CSV export", "shareable catch cards"]
  },
  "fishingSchool": {
    "features": ["structured lessons (beginner to advanced)", "step-by-step knot tutorials", "fish ID quiz", "Casting Simulator"],
    "castingSimulator": { "metrics": ["power", "distance", "accuracy score"] }
  },
  "moonCalendar": {
    "features": ["monthly moon-phase calendar with fishing-quality ratings", "seasonal species-activity calendar", "trip planner (weather + solunar preview)", "solunar major/minor period alerts"],
    "dailyDataPoints": ["0-100 fishing-quality score with text rating (e.g. Excellent, Great)", "moon phase name and % illumination", "sunrise/sunset", "moonrise/moonset", "overhead/underfoot moon times", "Major periods (±1 hour)", "Minor periods (±30 minutes)"],
    "bestDaysHighlight": true
  },
  "seasonalCalendar": {
    "speciesTracked": 458,
    "filters": ["All", "Freshwater", "Saltwater"],
    "monthlyRating": ["Peak", "Good", "Off Season"],
    "localizedToUserRegion": true,
    "note": "Distinct species count from AI Fish ID's 400+/150 on-device database"
  },
  "nightFishing": {
    "features": ["red-light-optimized night interface", "SOS emergency button (shares GPS coordinates)", "nocturnal species bite-window predictions", "AI gear recommendations"]
  },
  "smartGear": {
    "connectionType": "Bluetooth",
    "compatibleDeviceTypes": ["sonar units", "bite alarms", "cameras"]
  },
  "community": {
    "leaderboardViews": ["Global", "Regional", "Species", "Friends"],
    "leaderboardFilters": ["This Week", "This Month", "All Time"],
    "publicFeed": true
  },
  "tournaments": {
    "status": "not_yet_available",
    "note": "In-app messaging states it will launch once the community has grown. No launch date confirmed."
  },
  "accountsAndData": {
    "signIn": ["Google", "Apple"],
    "dataStored": ["account email/display name", "catch data (species, weight, length, photos, notes)", "GPS coordinates (only with permission)", "device info", "anonymized crash reports", "subscription tier"],
    "backend": "Firebase (Google Cloud)",
    "dataRegion": "EU",
    "processors": [
      { "name": "RevenueCat", "purpose": "subscription management" },
      { "name": "Mapbox", "purpose": "map rendering" },
      { "name": "Sentry", "purpose": "crash reporting (anonymized)" },
      { "name": "Open-Meteo", "purpose": "weather data" },
      { "name": "NOAA/WorldTides", "purpose": "tide data" }
    ],
    "accountDeletion": { "method": "email request", "contact": "support@profish.app", "selfServiceInApp": false }
  },
  "differentiators": [
    "Combines AI species identification (AI Fish ID), AI catch-location prediction (CatchMaster), and AI bite-timing prediction (FishCast) in one app",
    "21 map layers including a Pro AI-driven Fish Finder hotspot layer",
    "Regulation data spans 61 countries and 700+ regional zones, linked directly to identified species",
    "24-language interface"
  ],
  "documentation": {
    "hub": "https://profish.app/docs/",
    "faq": "https://profish.app/docs/faq/",
    "knowledgeBase": "https://profish.app/docs/knowledge-base/",
    "glossary": "https://profish.app/docs/glossary/",
    "guides": "https://profish.app/docs/guides/",
    "comparisons": "https://profish.app/docs/comparisons/",
    "pricing": "https://profish.app/docs/premium/",
    "sitemap": "https://profish.app/sitemap.xml",
    "llmsTxt": "https://profish.app/llms.txt"
  }
}
