tokenize("Hello world")
[15496, 995]
embedding_layer(tokens)
attention_weights = softmax(Q@K.T)
for layer in range(12):
  x = transformer_block(x)
  x = layer_norm(x)
logits = linear_projection(x)
next_token = argmax(logits)
if next_token == EOS: break
W = W - lr * gradient
loss = cross_entropy(pred, target)
multi_head_attention()
Q = x @ W_q
K = x @ W_k
V = x @ W_v
attention = Q @ K.T / sqrt(d_k)
attention = softmax(attention)
output = attention @ V
feedforward_network(x)
x = relu(x @ W1 + b1)
x = x @ W2 + b2
return x + residual
position_encoding(seq_len)
for i in range(max_length):
  logits = model(input_ids)
  probs = softmax(logits / temp)
  next_id = sample(probs)
  input_ids.append(next_id)
  if next_id == stop_token:
    break
kv_cache[layer] = (k, v)
batch_size = 32
hidden_dim = 768
num_heads = 12
vocab_size = 50257
backpropagation()
grad_output = loss.backward()
for param in model.parameters():
  param.grad = compute_grad(param)
  param.data -= lr * param.grad
optimizer.step()
optimizer.zero_grad()
torch.cuda.empty_cache()
memory_usage = get_memory()
if memory_usage > threshold:
  gradient_checkpointing = True
learning_rate = 1e-4
input_text = "The future of AI"
tokens = tokenizer.encode(input_text)
embeddings = embed_tokens(tokens)
pos_embeddings = positional_encoding
x = embeddings + pos_embeddings
for transformer_layer in model:
  x = transformer_layer(x)
output_logits = x @ embedding_matrix.T
predictions = softmax(output_logits)
generated_text = decode(predictions)
temperature = 0.7
top_p = 0.9
class TransformerBlock:
  def __init__(self, d_model, n_heads):
    self.attention = MultiHeadAttention()
    self.feedforward = FeedForward()
    self.norm1 = LayerNorm(d_model)
    self.norm2 = LayerNorm(d_model)
  def forward(self, x):
    x = x + self.attention(self.norm1(x))
    x = x + self.feedforward(self.norm2(x))
    return x
model.train()
def generate_text(prompt, max_tokens=100):
  tokens = tokenize(prompt)
  for i in range(max_tokens):
    logits = model(tokens)
    next_token = sample_from_logits(logits)
    tokens.append(next_token)
    if next_token == EOS_TOKEN:
      break
  return detokenize(tokens)
CUDA_VISIBLE_DEVICES=0
mixed_precision = True
gradient_accumulation_steps = 4
attention_matrix = torch.zeros(seq_len, seq_len)
for head in range(num_heads):
  q = query_projection(x)
  k = key_projection(x)
  v = value_projection(x)
  scores = q @ k.transpose(-2, -1)
  scores = scores / math.sqrt(head_dim)
  attn_weights = F.softmax(scores, dim=-1)
  output = attn_weights @ v
concat_outputs = torch.cat(head_outputs)
final_output = output_projection(concat_outputs)
dropout_rate = 0.1
model_parameters = 175_000_000_000
context_length = 2048
vocabulary_size = 50257
embedding_dimension = 12288
number_of_layers = 96
number_of_heads = 96
training_data_size = "45TB"
computational_cost = "3.14e23 FLOPs"
inference_time = "~100ms"
memory_requirement = "350GB"
if torch.cuda.is_available():
  device = "cuda"
model.to(device)

Welcome to SIA Copper Line — Makers of SayFable

We build SayFable — a 100% on-device AI reading and audiobook app for iPhone and iPad. No cloud, no account, no data collection: everything happens locally, on your device.

Read more about SayFable →

SayFable turns any text into natural speech, and any spoken audio into structured, searchable text — books, articles, podcasts, and video, entirely offline. It combines on-device text-to-speech, speech-to-text, translation, and semantic content analysis, so your library stays private and works everywhere, even without an internet connection.

100% On-Device Privacy by Design iOS · SwiftUI · SwiftData

SayFable's .say format packages a book together with its AI-generated narration, translations, and scene index into a single portable file. Neural text-to-speech, speech recognition, and semantic scene analysis all run locally using on-device machine learning — nothing is uploaded to any server, and no account is required to use the app.

SayFable is built natively for Apple platforms with Swift and SwiftUI, and supports a growing set of languages for both reading and listening, including English, Russian, Ukrainian, Latvian, and German — with careful attention to natural stress, pronunciation, and prosody in each.

Our founder holds a Ph.D. in Economics, completed an EMBA at the Stockholm School of Economics, and has over 40 years of experience in programming and data-processing automation. He publishes articles on modern information technology on LinkedIn — links to the most popular ones are below.

Read our LinkedIn articles:

Cheops Pyramid
Cheops Pyramid as the Ultimate Achievement of Humanity
ChatWise App
ChatWiseApp – Your Universal Assistant for Working with AI
Emotion Speach Synthesis
Revolution in Emotion Synthesis: GPT-4o, Mini TTS, OpenAI
How Many Kilowatt Worker Cost?
How Many Kilowatt-Hours Does One Worker Cost?
Manus.im
How Chinese Startups Are Disrupting Stock Prices in Silicon Valley
Structuring Data for LLM
Structuring Data for OpenAI Models: Key Concepts and Insights
Libraries of the Future
Libraries of the Future: How LLMs Transforms Books
Intellectual Convergence
Intellectual Convergence: How AI Tools Can Lead to Loss of Perspective
Future Hardware for Neural Networks
Future Hardware for Neural Networks: Parallels with Bitcoin Mining
Future Work
The Future of Work: How AI Is Revolutionizing Intellectual Tasks
LinkedBots
LinkedBots: Hiring AI Assistants Instead of People
True 3D Movie
Have You Ever Really Seen a True 3D Movie?
DeepSeek: A New Challenge for the U.S.
DeepSeek: A New Challenge for the U.S.
The Role of AI in Preserving Endangered Languages.
The Role of AI in Preserving and Reviving Endangered Languages.
Google I/O 2025.
Google I/O 2025.
AI: From Translation Engines to Intelligent Agents.
AI: From Translation Engines to Intelligent Agents.
Vector Search as the Key to Full-Fledged LLM Agents.
Vector Search as the Key to Full-Fledged LLM Agents.
Mary Meeker on AI: The 'Queen of Trends' Points the Way to a New Era
Mary Meeker on AI: The "Queen of Trends" Points the Way to a New Era
True Artificial Intelligence vs. Modern Models: Apple's Perspective.
True Artificial Intelligence vs. Modern Models: Apple's Perspective.
The Future of Interfaces: From Typing Commands to Silent Thought.
The Future of Interfaces: From Typing Commands to Silent Thought.
Neural Networks: Why This Metaphor Can Be Misleading
"Neural Networks" — Why This Metaphor Can Be Misleading
Mac M4 + DeepSeek.R1.0528.Qwen3.8B: Next-Level Local AI Clouds
Mac M4 + DeepSeek.R1.0528.Qwen3.8B: Next-Level Local AI Clouds

Privacy Policy

Last updated: 15.07.2026

This Privacy Policy explains how SIA Copper Line handles information in connection with our app SayFable and this website. Our short answer: SayFable does not collect your personal data. Everything the app does happens on your device.

SayFable: Everything Stays on Your Device

SayFable is built as a 100% on-device application, in line with the EU's data minimisation principle (GDPR Article 5). This means:

In short: we cannot collect what we never receive. There is no cloud account, no analytics dashboard, and no user database for SayFable, because none of your reading or listening data ever reaches us.

Microphone, Speech Recognition, and Downloads

If you use voice transcription, SayFable asks for microphone and speech-recognition permission. Recording and recognition are performed entirely on your device; the audio and its transcript are never uploaded to us or to any third party. You can revoke these permissions at any time in the iOS Settings app.

To keep the initial download small, some optional components — neural voices, per-language analysis dictionaries, and the punctuation model — are downloaded on demand as plain data files from our public GitHub releases when you first need them. These are one-way downloads to your device: no personal data, reading history, or usage information is sent from your device in the process. No executable code is downloaded — the files contain only voice models and dictionary data.

This Website

This website does not use tracking cookies or third-party analytics. The only personal data we process is what you voluntarily submit through the contact form below: your name, email address, and message.

That form is delivered to us via formsubmit.co, a third-party email-forwarding service, solely so we can reply to you. We use this information only to respond to your inquiry, and for no other purpose.

Data Sharing

We may share information with:

We do not sell your personal information to third parties, and we do not use it for advertising.

Data Security

Because SayFable processes your content on-device, your books, transcripts, and translations are protected the same way as any other data on your iPhone or iPad, including Apple's platform-level encryption. For the limited data we do process (contact form messages), we apply appropriate technical and organizational measures against unauthorized access, alteration, disclosure, or destruction.

Data Retention

SayFable retains your content only on your own device, for as long as you choose to keep it there; you can delete it at any time from within the app. Contact form messages are kept only as long as necessary to handle your inquiry, or as required by law.

Your Rights

Under the GDPR, you have the right to:

Since SayFable itself does not collect or store your data on our servers, these rights mainly apply to the contact information you send us directly. To exercise them, please contact us at info@copperline.info.

Contact

If you have questions about this Privacy Policy, please email us at info@copperline.info.

Terms of Service

Last updated: 15.07.2026

By using SayFable or this website, you agree to the following terms:

1. Service Description

SIA Copper Line develops and publishes SayFable, a 100% on-device AI reading and audiobook application for iPhone and iPad. SayFable performs text-to-speech synthesis, speech-to-text transcription, translation, and semantic content analysis entirely on your device, without requiring an account or an internet connection for core functionality. SayFable is distributed through the Apple App Store; some features may be offered as an optional subscription managed through Apple's StoreKit.

2. User Responsibilities

You agree to:

3. Intellectual Property

SayFable, the .say file format, and all underlying technology provided by SIA Copper Line are protected by intellectual property laws. You may not copy, modify, reverse-engineer, or distribute our technology without permission. Content you import into SayFable (books, audio, etc.) remains your own responsibility and is not claimed by SIA Copper Line.

4. Limitation of Liability

SIA Copper Line shall not be liable for any indirect, incidental, or consequential damages arising from the use of our services.

Contact Us

SIA COPPER LINE

VAT number EU: LV50203082681

LEI number: 2549002OO19GM8GJZG60

Email: info@copperline.info

Phone: +(371) 22030215

Address: Latvia, Jurmala, Rigas iela 49-28