• Blog
  • Docs
  • Pricing
  • We’re hiring!
Log inSign up
jjwon

jjwon

ffxiv

Public
Like
ffxiv
Home
Code
6
.claude
1
.vtignore
CLAUDE.md
TODO.md
deno.json
H
server.ts
Branches
1
Pull requests
Remixes
History
Environment variables
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Sign up now
Code
/
CLAUDE.md
Code
/
CLAUDE.md
Search
7/20/2025
Viewing readonly version of main branch: v91
View latest version
CLAUDE.md

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Project Overview

FFXIV Completion Tracker (v0) - A lightweight web application for Final Fantasy XIV players to track completion of dungeons, trials, raids, and other instances.

Development Commands

Linting

deno lint

Type Checking

deno check main.tsx

Running Val Town Function Locally

deno run --allow-net --allow-env main.tsx

Development with Watch Mode

deno run --allow-net --allow-env --watch main.tsx

XIVAPI Integration

Endpoint Details

  • Base URL: https://xivapi.com/instancecontent
  • Pagination: 100 results per page, 7 total pages (671 instances)
  • Required columns: ID,Name,ContentType.Name,ContentFinderCondition.Name,UnlockQuest.Name

Sample API Call

https://xivapi.com/instancecontent?columns=ID,Name,ContentType.Name,ContentFinderCondition.Name,UnlockQuest.Name&page=1

Data Structure

  • Name: Instance name
  • ContentType.Name: Content type (e.g., "Dungeons", "Trials")
  • ContentFinderCondition.Name: Duty finder name
  • UnlockQuest.Name: Unlock quest (mostly null)

Pagination Handling

// Loop through all pages (1-7) for (let page = 1; page <= 7; page++) { const response = await fetch(`https://xivapi.com/instancecontent?columns=ID,Name,ContentType.Name,ContentFinderCondition.Name,UnlockQuest.Name&page=${page}`); }

Architecture

Val Town Function (main.tsx)

  • Fetches all 7 pages from XIVAPI
  • Caches response for 24 hours
  • Returns CORS-enabled JSON
  • Groups by expansion/content type

Frontend (Static)

  • HTML/CSS/Vanilla JS
  • Fetches from Val Town endpoint
  • localStorage for user progress
  • Search/filter functionality

Deployment

  • Val Town: Backend function
  • Static hosting: Frontend (Netlify, Vercel, GitHub Pages)
FeaturesVersion controlCode intelligenceCLIMCP
Use cases
TeamsAI agentsSlackGTM
DocsShowcaseTemplatesNewestTrendingAPI examplesNPM packages
PricingNewsletterBlogAboutCareers
We’re hiring!
Brandhi@val.townStatus
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Open Source Pledge
Terms of usePrivacy policyAbuse contact
© 2026 Val Town, Inc.