Skip to content

EchoCog/skintwin

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

54 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ§ͺ SkinTwin

SkinTwin Logo

An AI-powered skincare formulation assistant that runs in your browser

License: MIT Node.js Remix

🌟 What is SkinTwin?

SkinTwin is an advanced AI skincare formulation assistant that combines the power of multiple AI providers with an in-browser development environment for cosmetic chemistry. Built on innovative AI technology, SkinTwin enables you to chat with AI, generate formulation code, create product designs, and develop skincare formulationsβ€”all within your browser.

✨ Key Features

  • πŸ€– Multi-AI Provider Support: Works with OpenAI, Anthropic, Google, Ollama, and many more
  • 🌐 In-Browser Runtime: Powered by WebContainer for full Node.js environment in the browser
  • πŸ§ͺ Intelligent Formulation Generation: Create, edit, and refactor skincare formulations with AI assistance
  • πŸ–₯️ Integrated Terminal: Full shell access with zsh emulation
  • πŸ“ Ingredient & Product Management: Create, edit, and organize formulation files in vessels structure
  • πŸ‘€ Live Preview: See your formulations and products in real-time
  • πŸ”„ Git Integration: Version control and repository management
  • πŸš€ Multiple Export Options: Export formulations to various industry formats
  • πŸ’» Cross-Platform: Available as web app and desktop application
  • 🐳 Docker Ready: Containerized deployment support
  • πŸ§ͺ SKIN-TWIN Formulation Vessel: Specialized AI assistant for skincare product formulation with chemical reaction simulation

πŸ§ͺ SKIN-TWIN Virtual Turbo Reactor Formulation Vessel

A specialized prompt that transforms the AI assistant into a virtual chemical reaction vessel for skincare formulation:

  • Virtual Chemistry: Simulates real chemical reactions as ingredients are added
  • Safety First: Only recommends cosmetically safe ingredients, avoids restricted chemicals
  • Professional Output: Industry-standard ingredient tables with INCI names and ZAR pricing
  • Step-by-Step Mixing: Detailed formulation instructions with chemical equations
  • Product Development: Suggests creative product names and functional benefits

To use: Select "SKIN-TWIN Formulation Vessel" from the prompt dropdown in settings, then try examples like "Create a vitamin C brightening serum" or "Formulate an anti-aging night cream with retinol".

πŸš€ Quick Start

Prerequisites

  • Node.js 18.18.0 or higher
  • pnpm (recommended package manager)

Installation

  1. Clone the repository

    git clone https://github.com/EchoCog/skin.twin.git
    cd skin.twin
  2. Install dependencies

    pnpm install
  3. Set up environment variables

    cp .env.example .env.local

    Edit .env.local and add your API keys (see Environment Setup below).

  4. Start the development server

    pnpm dev
  5. Open your browser Navigate to http://localhost:5173 to start using SkinTwin!

πŸ”§ Environment Setup

Bolt supports multiple AI providers. You only need to configure the providers you want to use:

Required for Development

# For debugging (optional)
VITE_LOG_LEVEL=debug

AI Provider Configuration

Choose one or more providers and add their API keys:

OpenAI

OPENAI_API_KEY=your_openai_api_key_here

Get your OpenAI API key

Anthropic (Claude)

ANTHROPIC_API_KEY=your_anthropic_api_key_here

Get your Anthropic API key

Google Gemini

GOOGLE_GENERATIVE_AI_API_KEY=your_google_api_key_here

Get your Google API key

Ollama (Local AI)

OLLAMA_API_BASE_URL=http://127.0.0.1:11434

Other Supported Providers

  • Groq: GROQ_API_KEY
  • HuggingFace: HuggingFace_API_KEY
  • OpenRouter: OPEN_ROUTER_API_KEY
  • Mistral: MISTRAL_API_KEY
  • Cohere: COHERE_API_KEY
  • DeepSeek: DEEPSEEK_API_KEY
  • Together AI: TOGETHER_API_KEY
  • xAI: XAI_API_KEY
  • Perplexity: PERPLEXITY_API_KEY

GitHub Integration (Optional)

VITE_GITHUB_ACCESS_TOKEN=your_github_token_here
VITE_GITHUB_TOKEN_TYPE=classic

Create a GitHub Personal Access Token

AWS Bedrock (Optional)

AWS_BEDROCK_CONFIG={"region": "us-east-1", "accessKeyId": "your_key", "secretAccessKey": "your_secret"}

πŸ› οΈ Development

Available Scripts

  • pnpm dev - Start development server
  • pnpm build - Build for production
  • pnpm start - Start production server
  • pnpm test - Run tests
  • pnpm test:watch - Run tests in watch mode
  • pnpm lint - Lint code
  • pnpm lint:fix - Fix linting issues
  • pnpm typecheck - Type checking

Project Structure

skin.twin/
β”œβ”€β”€ app/                    # Remix application code
β”‚   β”œβ”€β”€ components/         # React components
β”‚   β”œβ”€β”€ lib/               # Core libraries and utilities
β”‚   β”œβ”€β”€ routes/            # Remix routes
β”‚   └── styles/            # Styling files
β”œβ”€β”€ vessels/               # Skincare formulation vessels and ingredients
β”œβ”€β”€ electron/              # Electron app configuration
β”œβ”€β”€ public/                # Static assets
β”œβ”€β”€ docs/                  # Documentation
└── scripts/               # Build and utility scripts

Technology Stack

🐳 Docker Deployment

Development

pnpm dockerbuild
pnpm dockerrun

Production

pnpm dockerbuild:prod
docker run -p 5173:5173 --env-file .env.local skin-twin:production

πŸ“± Electron Desktop App

Build desktop applications for different platforms:

# Build for current platform
pnpm electron:build:unpack

# Build for specific platforms
pnpm electron:build:mac     # macOS
pnpm electron:build:win     # Windows
pnpm electron:build:linux   # Linux

# Build for all platforms
pnpm electron:build:dist

🌐 Cloud Deployment

Cloudflare Pages

pnpm deploy

Custom Deployment

  1. Build the project: pnpm build
  2. Deploy the build/client directory to your hosting provider
  3. Ensure environment variables are configured in your hosting platform

πŸ§ͺ Testing

Run the test suite:

# Run all tests
pnpm test

# Run tests in watch mode
pnpm test:watch

# Type checking
pnpm typecheck

🀝 Contributing

We welcome contributions! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes and ensure tests pass
  4. Commit your changes: git commit -m 'Add amazing feature'
  5. Push to the branch: git push origin feature/amazing-feature
  6. Open a Pull Request

Development Guidelines

  • Follow the existing code style and conventions
  • Add tests for new features
  • Update documentation as needed
  • Ensure all linting checks pass: pnpm lint
  • Run type checking: pnpm typecheck

πŸ“š Documentation

For more detailed documentation, visit the docs directory. Additional documentation is being actively developed.

πŸ› Issues and Support

If you encounter any issues or have questions:

  1. Check the existing issues
  2. Create a new issue with detailed information
  3. Include steps to reproduce any bugs

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • Built with ❀️ by the SkinTwin team
  • Powered by WebContainer technology
  • Community contributions from skincare formulation experts

Made with πŸ§ͺ by the SkinTwin team

Website β€’ Issues β€’ Discussions

About

No description, website, or topics provided.

Resources

License

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • TypeScript 97.8%
  • SCSS 1.6%
  • Other 0.6%