edge lab LIVE! starts Tuesday in Munich. Grab a workshop seat and take home the board you build on. Code FRIEND-HACKSTER saves 20%. () Learn more!
Alien X Tattoo
Published

TETE: AI-Powered Tattoo Studio Assistant

Building an AI studio assistant with Raspberry Pi, voice interaction and automation for tattoo consultations, bookings and customer support.

IntermediateWork in progress2
TETE: AI-Powered Tattoo Studio Assistant

Things used in this project

Hardware components

Raspberry Pi 5
Raspberry Pi 5
×1

Software apps and online services

Raspbian
Raspberry Pi Raspbian
Raspbian
Raspberry Pi Raspbian

Story

Read more

Schematics

TETE: An AI-powered voice assistant concept developed for Alien X Tattoo.

TETE: Building an AI-Powered Assistant for a Tattoo Studio

Introduction

What happens when tattoo art meets artificial intelligence?

At Alien X Tattoo, a tattoo, piercing and creative technology studio based in Samsun, Türkiye, we are exploring that question through a project called TETE.

TETE is an AI-powered voice assistant project designed to bring conversational AI, voice interaction and workflow automation into a real creative business.

Our vision is to transform a traditional tattoo studio into an intelligent environment where art, human creativity and technology work together.

Why We Started This Project

Tattoo studios handle much more than tattooing. Every day involves customer inquiries, consultations, design discussions, appointment scheduling, pricing questions and aftercare information.

Many of these activities are repetitive, but the artistic process itself requires attention, creativity and personal interaction.

We began developing TETE to explore how artificial intelligence could support everyday studio operations without replacing the artist.

The goal is not to automate creativity. It is to give artists more time to create.

Hardware and Technology

The project is being developed around a Raspberry Pi 5, a compact computer capable of running the local components of a voice-controlled assistant.

Our technology stack includes:

* Raspberry Pi 5: Local computing and device integration.
* Python: Application logic and service integration.
* Whisper: Speech-to-text processing.
* OpenAI: Language understanding and conversational responses.
* ElevenLabs: Text-to-speech voice generation.
* n8n: Workflow automation and integration with studio services.

These technologies provide the foundation for experimenting with an AI assistant that can listen, interpret requests, generate responses and connect with external workflows.

How TETE Is Designed to Work

The voice interaction architecture follows five main stages.

Step 1: Voice activation

The user activates the assistant using the phrase “TT uyan”.

Step 2: Speech recognition

The spoken request is captured and converted into text using Whisper.

Step 3: AI processing

The text is passed to an OpenAI model to interpret the request and generate a relevant response.

Step 4: Voice response

ElevenLabs converts the generated response into speech.

Step 5: Workflow integration

When an appropriate action is required, n8n can connect the assistant to authorized studio workflows.

The project is under development, and the architecture will evolve as we test reliability, latency and real-world usability.

Planned Studio Applications

We are exploring several practical applications:

* Answering general tattoo and piercing questions.
* Supporting initial tattoo consultations.
* Providing information about tattoo styles and design possibilities.
* Helping customers understand the appointment process.
* Assisting with preliminary pricing guidance.
* Supporting appointment reminders and customer communication.
* Providing general tattoo aftercare information.
* Helping studio staff access routine operational information.

Customer-facing actions, including appointment confirmation, are intended to remain subject to appropriate human approval.

Challenges and Future Development

Some of the most important technical challenges include reducing voice-response latency, handling background noise inside the studio, protecting customer information and connecting multiple services reliably.

Future development may include improved conversational memory, more advanced workflow automation and a dedicated interface for studio staff.

Our longer-term ambition is to make TETE a practical example of how small creative businesses can experiment with AI-powered tools.

About Alien X Tattoo

Alien X Tattoo is based in Samsun, Türkiye, and brings together tattoo art, piercing, visual creativity and emerging technologies.

TETE represents our exploration of a new kind of creative studio: one where traditional craftsmanship and intelligent digital systems coexist.

Website: https://alienxtattoo.com

Instagram: https://www.instagram.com/alien.x.tattoo/

Project status: In development. Described capabilities include planned features and experimental integrations.

Code

TETE AI Voice Assistant - Python

Python
Python source code for TETE, an AI-powered voice assistant developed for Alien X Tattoo using Raspberry Pi, Whisper, OpenAI and ElevenLabs.
"""TETE: experimental voice assistant prototype for Alien X Tattoo.

Install: pip install openai requests sounddevice soundfile
Raspberry Pi playback dependency: sudo apt install mpg123
Set OPENAI_API_KEY, ELEVENLABS_API_KEY, ELEVENLABS_VOICE_ID.

This prototype uses push-to-talk, not wake-word detection.
"""
import os
import subprocess
import tempfile
from pathlib import Path

import requests
import sounddevice as sd
import soundfile as sf
from openai import OpenAI

SYSTEM_PROMPT = """You are TETE, the AI assistant of Alien X Tattoo,
a tattoo, piercing, art and technology studio based in Samsun, Trkiye.
Respond in natural, friendly Turkish. Keep answers clear and concise.
Explain tattoo styles, piercing basics, consultation processes and general aftercare.
Never guarantee tattoo prices or appointment times or claim a booking is confirmed.
Refer medical concerns to qualified professionals."""


def record_audio(filename: str, duration: int = 5, sample_rate: int = 16000) -> None:
    print("Listening...")
    audio = sd.rec(int(duration * sample_rate), samplerate=sample_rate,
                   channels=1, dtype="float32")
    sd.wait()
    sf.write(filename, audio, sample_rate)


def transcribe_audio(client: OpenAI, filename: str) -> str:
    with open(filename, "rb") as audio_file:
        result = client.audio.transcriptions.create(
            model="whisper-1", file=audio_file, language="tr"
        )
    return result.text


def generate_response(client: OpenAI, conversation: list, user_text: str) -> str:
    conversation.append({"role": "user", "content": user_text})
    result = client.chat.completions.create(
        model="gpt-4o-mini", messages=conversation
    )
    answer = result.choices[0].message.content or "zgnm, yant oluturamadm."
    conversation.append({"role": "assistant", "content": answer})
    if len(conversation) > 21:
        del conversation[1:-20]
    return answer


def speak(text: str, api_key: str, voice_id: str) -> None:
    response = requests.post(
        f"https://api.elevenlabs.io/v1/text-to-speech/{voice_id}",
        headers={"xi-api-key": api_key, "Content-Type": "application/json",
                 "Accept": "audio/mpeg"},
        json={"text": text, "model_id": "eleven_multilingual_v2"},
        timeout=45,
    )
    response.raise_for_status()
    with tempfile.TemporaryDirectory() as folder:
        audio_path = Path(folder) / "tete_response.mp3"
        audio_path.write_bytes(response.content)
        subprocess.run(["mpg123", "-q", str(audio_path)], check=True)


def main() -> None:
    client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])
    elevenlabs_key = os.environ["ELEVENLABS_API_KEY"]
    voice_id = os.environ["ELEVENLABS_VOICE_ID"]
    conversation = [{"role": "system", "content": SYSTEM_PROMPT}]
    print("TETE AI Assistant | Alien X Tattoo | Experimental prototype")
    while True:
        command = input("\nPress Enter to speak, or type q to quit: ")
        if command.strip().lower() == "q":
            break
        try:
            with tempfile.TemporaryDirectory() as folder:
                audio_path = str(Path(folder) / "input.wav")
                record_audio(audio_path)
                user_text = transcribe_audio(client, audio_path)
            print("You:", user_text)
            if not user_text.strip():
                continue
            answer = generate_response(client, conversation, user_text)
            print("TETE:", answer)
            speak(answer, elevenlabs_key, voice_id)
        except Exception as error:
            print("Error:", error)


if __name__ == "__main__":
    main()

Credits

Alien X Tattoo
1 project • 0 followers
Creative tattoo studio building TETE, an AI assistant using Raspberry Pi, automation and smart workflows to connect art with technology.

Comments