FineTuna is a web-based LLM fine-tuning platform that simplifies training Hugging Face foundation models using custom datasets. It provides beginner-friendly templates and GPU-free workflows, making AI model customization more accessible for developers and learners.
1
stars
31
commits
JavaScript
primary language
May 15, 2026
updated
Fine-tune any open-source LLM without GPU ownership, setup headaches, or ML expertise.
Fine-tuning LLMs today requires:
FineTuna is a single, guided dashboard that handles the entire fine-tuning workflow:
Model Selection β Data Setup β Training Config β Kaggle Execution β Download Results
All in your browser. No GPU needed. No setup required. Free forever.
| π§ Main Dashboard | π Training Dashboard |
|---|---|
![]() | ![]() |
# Clone the repository
git clone https://github.com/yourusername/finetuna.git
cd finetuna
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env.local
# Start development server
npm run dev
# Supabase
VITE_SUPABASE_URL=https://your-project.supabase.co
VITE_SUPABASE_ANON_KEY=your_anon_key
# Kaggle
VITE_KAGGLE_USERNAME=your_username
VITE_KAGGLE_KEY=your_api_key
# HuggingFace
VITE_HF_API_KEY=your_hf_token
# Google Drive (optional)
VITE_GOOGLE_CLIENT_ID=your_client_id
# Resend (optional)
VITE_RESEND_API_KEY=your_resend_key
# API
VITE_API_URL=http://localhost:8888
# Install Netlify CLI
npm install -g netlify-cli
# Build
npm run build
# Deploy
netlify deploy --prod
Environment variables should be set in Netlify UI under Site settings > Build & deploy > Environment.
vercel --prod
βββββββββββββββββββββββββββββββββββββββββββββββββββ
β FineTuna Frontend β
β (React + Vite + TailwindCSS) β
β β
β β’ Model Discovery β’ Training Dashboard β
β β’ Data Management β’ Results Download β
β β’ Configuration β’ Run History β
ββββββββββββββββββββββ¬βββββββββββββββββββββββββββββ
β
ββββββββββββββΌβββββββββββββ
β β β
βββββΌββββ βββββΌβββββ βββββΌββββββ
βNetlifyβ βSupabaseβ β Kaggle β
β API β β Auth β β GPU β
βββββββββ β Storageβ βExecutionβ
ββββββββββ βββββββββββ
β’ Route handlers β’ User data β’ Kernel execution
β’ Auth middleware β’ Job metadata β’ Model training
β’ Job orchestration β’ Credentials β’ Output storage
| Layer | Technology |
|---|---|
| Frontend | React 18, Vite, TypeScript, TailwindCSS |
| Backend | Netlify Functions, Node.js |
| Database | Supabase (PostgreSQL) |
| Auth | Supabase Auth |
| Compute | Kaggle GPU/TPU |
| Model Hub | Hugging Face API |
| Storage | Supabase Storage, Google Drive |
| Resend SMTP |
finetuna/
βββ src/
β βββ components/ # React components
β β βββ ModelSelector/ # Model discovery UI
β β βββ DataManager/ # Dataset upload & templates
β β βββ ConfigPanel/ # Training configuration
β β βββ ProgressDash/ # Real-time training status
β β βββ ResultsView/ # Download & metrics
β βββ pages/ # Page components
β βββ hooks/ # Custom React hooks
β βββ utils/ # Helper functions
β βββ App.tsx # Main app
βββ netlify/functions/
β βββ api/auth/ # Authentication endpoints
β βββ api/models/ # Model discovery
β βββ api/jobs/ # Job management
β βββ api/kaggle/ # Kaggle orchestration
β βββ api/artifacts/ # Download handling
β βββ api/drive/ # Google Drive integration
βββ docs/
β βββ ARCHITECTURE.md # System design details
β βββ API.md # API documentation
β βββ CONTRIBUTING.md # Contribution guidelines
βββ .env.example # Environment template
βββ netlify.toml # Netlify configuration
βββ vite.config.ts # Vite configuration
β
Environment files are never committed
β
API keys stored securely server-side
β
User data encrypted at rest
β
Kaggle credentials never exposed to frontend
β
Large artifacts only downloaded on explicit request
β
No tracking (privacy-first)
See SECURITY.md for detailed security practices.
Fine-tune models for personal projects without buying GPUs.
Learn LLM fine-tuning without expensive hardware or setup.
Create domain-specific models (legal assistant, medical QA, etc.).
Build AI features without ML infrastructure investment.
Quick experimentation with different techniques and datasets.
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
# 1. Fork the repo
git clone https://github.com/YOUR_USERNAME/finetuna.git
# 2. Create feature branch
git checkout -b feature/amazing-feature
# 3. Make your changes & test
npm run dev
# 4. Commit & push
git commit -m "feat: add amazing feature"
git push origin feature/amazing-feature
# 5. Open pull request
This project is licensed under the MIT License - see LICENSE file for details.
Give us a star! β It means the world to our tiny team.
If FineTuna saved you time or money, consider:
β’ β Star this repo
β’ π¦ Share on Twitter
β’ π’ Recommend to a friend
β’ π Deploy your own instance
Live App β’ Documentation β’ Discord β’ Twitter
JavaScript
51.8%
TypeScript
42.4%
CSS
5.7%
FineTuna is a web-based LLM fine-tuning platform that simplifies training Hugging Face foundation models using custom datasets. It provides beginner-friendly templates and GPU-free workflows, making AI model customization more accessible for developers and learners.
1
stars
31
commits
JavaScript
primary language
May 15, 2026
updated
Fine-tune any open-source LLM without GPU ownership, setup headaches, or ML expertise.
Fine-tuning LLMs today requires:
FineTuna is a single, guided dashboard that handles the entire fine-tuning workflow:
Model Selection β Data Setup β Training Config β Kaggle Execution β Download Results
All in your browser. No GPU needed. No setup required. Free forever.
| π§ Main Dashboard | π Training Dashboard |
|---|---|
![]() | ![]() |
# Clone the repository
git clone https://github.com/yourusername/finetuna.git
cd finetuna
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env.local
# Start development server
npm run dev
# Supabase
VITE_SUPABASE_URL=https://your-project.supabase.co
VITE_SUPABASE_ANON_KEY=your_anon_key
# Kaggle
VITE_KAGGLE_USERNAME=your_username
VITE_KAGGLE_KEY=your_api_key
# HuggingFace
VITE_HF_API_KEY=your_hf_token
# Google Drive (optional)
VITE_GOOGLE_CLIENT_ID=your_client_id
# Resend (optional)
VITE_RESEND_API_KEY=your_resend_key
# API
VITE_API_URL=http://localhost:8888
# Install Netlify CLI
npm install -g netlify-cli
# Build
npm run build
# Deploy
netlify deploy --prod
Environment variables should be set in Netlify UI under Site settings > Build & deploy > Environment.
vercel --prod
βββββββββββββββββββββββββββββββββββββββββββββββββββ
β FineTuna Frontend β
β (React + Vite + TailwindCSS) β
β β
β β’ Model Discovery β’ Training Dashboard β
β β’ Data Management β’ Results Download β
β β’ Configuration β’ Run History β
ββββββββββββββββββββββ¬βββββββββββββββββββββββββββββ
β
ββββββββββββββΌβββββββββββββ
β β β
βββββΌββββ βββββΌβββββ βββββΌββββββ
βNetlifyβ βSupabaseβ β Kaggle β
β API β β Auth β β GPU β
βββββββββ β Storageβ βExecutionβ
ββββββββββ βββββββββββ
β’ Route handlers β’ User data β’ Kernel execution
β’ Auth middleware β’ Job metadata β’ Model training
β’ Job orchestration β’ Credentials β’ Output storage
| Layer | Technology |
|---|---|
| Frontend | React 18, Vite, TypeScript, TailwindCSS |
| Backend | Netlify Functions, Node.js |
| Database | Supabase (PostgreSQL) |
| Auth | Supabase Auth |
| Compute | Kaggle GPU/TPU |
| Model Hub | Hugging Face API |
| Storage | Supabase Storage, Google Drive |
| Resend SMTP |
finetuna/
βββ src/
β βββ components/ # React components
β β βββ ModelSelector/ # Model discovery UI
β β βββ DataManager/ # Dataset upload & templates
β β βββ ConfigPanel/ # Training configuration
β β βββ ProgressDash/ # Real-time training status
β β βββ ResultsView/ # Download & metrics
β βββ pages/ # Page components
β βββ hooks/ # Custom React hooks
β βββ utils/ # Helper functions
β βββ App.tsx # Main app
βββ netlify/functions/
β βββ api/auth/ # Authentication endpoints
β βββ api/models/ # Model discovery
β βββ api/jobs/ # Job management
β βββ api/kaggle/ # Kaggle orchestration
β βββ api/artifacts/ # Download handling
β βββ api/drive/ # Google Drive integration
βββ docs/
β βββ ARCHITECTURE.md # System design details
β βββ API.md # API documentation
β βββ CONTRIBUTING.md # Contribution guidelines
βββ .env.example # Environment template
βββ netlify.toml # Netlify configuration
βββ vite.config.ts # Vite configuration
β
Environment files are never committed
β
API keys stored securely server-side
β
User data encrypted at rest
β
Kaggle credentials never exposed to frontend
β
Large artifacts only downloaded on explicit request
β
No tracking (privacy-first)
See SECURITY.md for detailed security practices.
Fine-tune models for personal projects without buying GPUs.
Learn LLM fine-tuning without expensive hardware or setup.
Create domain-specific models (legal assistant, medical QA, etc.).
Build AI features without ML infrastructure investment.
Quick experimentation with different techniques and datasets.
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
# 1. Fork the repo
git clone https://github.com/YOUR_USERNAME/finetuna.git
# 2. Create feature branch
git checkout -b feature/amazing-feature
# 3. Make your changes & test
npm run dev
# 4. Commit & push
git commit -m "feat: add amazing feature"
git push origin feature/amazing-feature
# 5. Open pull request
This project is licensed under the MIT License - see LICENSE file for details.
Give us a star! β It means the world to our tiny team.
If FineTuna saved you time or money, consider:
β’ β Star this repo
β’ π¦ Share on Twitter
β’ π’ Recommend to a friend
β’ π Deploy your own instance
Live App β’ Documentation β’ Discord β’ Twitter
JavaScript
51.8%
TypeScript
42.4%
CSS
5.7%