SpLATform is a powerful client-side web application designed to automate the transcription of species specimen labels. It leverages modern Large Language Models (LLMs) to convert images of labels into structured Darwin Core (DWC) JSON data.
Check out the live demo: https://gbif-norway.github.io/splatform/
- Multi-Model Support: Integrate with top-tier LLM providers directly from your browser:
- OpenAI (GPT-4o, GPT-4 Turbo)
- Google Gemini (1.5 Pro, Flash)
- Anthropic (Claude 3.5 Sonnet)
- xAI (Grok Vision)
- Two-Step Pipeline:
- Transcription: Converts raw label images into faithfulness markdown text.
- Standardization: specific prompt to convert text into Darwin Core standard JSON.
- Privacy First: API keys and history are stored locally in your browser's LocalStorage. No data is sent to our servers.
- CORS Proxy Support: Includes a deployable proxy to bypass browser restrictions for Anthropic and xAI APIs.
- Responsive Design: Built with React, Vite, and TailwindCSS for a premium, mobile-friendly experience.
- Node.js 18+
- API Keys for one or more supported providers.
-
Clone the repository:
git clone https://github.com/gbif-norway/splatform.git cd splatform -
Install dependencies:
npm install
-
Start the development server:
npm run dev
Open
http://localhost:5173to view it in your browser.
This repository relies on GitHub Actions for deployment to handle proper routing and build optimization.
- Push your changes to the
mainbranch. - The workflow
.github/workflows/deploy.ymlwill automatically build and deploy the app. - Ensure your repository settings under Pages are set to Source: GitHub Actions.
Direct browser calls to APIs like Anthropic (Claude) and xAI (Grok) are often blocked by browser security policies (CORS). To use these providers, you must deploy a simple proxy.
A ready-to-use Node.js proxy is included in the /proxy directory.
Build for x86 (Standard Server/Cluster):
podman build --platform linux/amd64 -t ghcr.io/gbif-norway/splat-proxy:latest ./proxy
podman push ghcr.io/gbif-norway/splat-proxy:latestDeploy to Kubernetes:
Apply the included manifest in /k8s/deployment.yaml (edit the environment variables first!):
kubectl apply -f k8s/deployment.yaml- Open Settings in the SpLATform web app.
- Enter your CORS Proxy URL (e.g.,
https://proxy.your-domain.org). - The app will transparently route requests effectively.
Contributions are welcome! Please fork the repository and submit a Pull Request.
MIT License. See LICENSE for details.