[Product Development · UI Engineering · Backend Integration]

Telegram Mini App & Product Interface

The user-facing side of the platform: a Telegram Mini App that brings signals, settings, AI chat, subscriptions and account state into one mobile interface in four languages.

Belongs to
Subsystem of the Astra Raven trading & AI automation ecosystem
Technical focus
Telegram Mini AppsHTML / CSS / JSSVG ChartsAPI-driven UIi18n
Demonstrates
Web interfaces · Telegram Mini Apps · UX architecture · Frontend/backend integration · Responsive design · API-driven UI · Multilingual product development

01Project overview

Most of Astra Raven is invisible: schedulers, validation, state. The Mini App is where all of it becomes something a user can understand and control from inside Telegram.

It connects to the backend for authentication through Telegram, account state, signals, personal settings, AI chat and subscription status, and renders them in a responsive, animated interface tested on real devices.

02Engineering challenge

A Mini App runs inside Telegram’s WebView, which behaves differently across platforms. It must feel native, stay fast on mobile and represent complex server state without overwhelming the user.

  • A

    Authenticate users through Telegram and map them to backend accounts.

  • B

    Show access-dependent features consistently with the subscription state.

  • C

    Keep charts and transitions smooth inside a mobile WebView.

  • D

    Deliver every screen fully translated into four languages.

03Solution architecture

Hover or tap each stage.

01

Telegram Client

The user opens the Mini App from the bot; Telegram provides signed init data.

04Main components

  • 01

    Dashboard

    Account overview with structured cards for the most important state.

  • 02

    Signals view

    Structured signal cards with parameters and status, backed by the signal engine.

  • 03

    AI chat

    Conversational interface connected to the AI assistant subsystem.

  • 04

    Settings

    Personal configuration persisted on the backend, including language and risk preferences.

  • 05

    Subscriptions & access

    UI logic that reflects the user’s access level consistently across screens.

  • 06

    Localisation layer

    Russian, English, Polish and Ukrainian strings for the full interface.

05Technology stack

Interface

  • HTML
  • CSS
  • JavaScript
  • SVG

Platform

  • Telegram Mini Apps
  • Telegram Bot API
  • Mobile WebView

Integration

  • Python backend
  • REST endpoints
  • i18n

06Interactive demonstration

Mini App screen explorer

IllustrativeConcept mockup — illustrative screens that reflect the implemented feature set. Not production screenshots; real screenshots will replace them.

mini-app · concept mockupConcept mockup

Screen

Language — every string switches

Illustrative screens reflecting the implemented feature set: dashboard, signals, AI chat, settings and subscription logic in four languages. Real screenshots will replace this mockup.

‹Astra Raven⋯

07Engineering decisions

  1. 01

    Backend is the source of truth

    The client renders state and sends intents; access, settings and validation are decided on the server.

  2. 02

    SVG for charts

    Lightweight, crisp at any density and easy to animate inside a WebView.

  3. 03

    Translations as data

    All strings live in locale dictionaries, so adding or correcting a language does not touch layout code.

  4. 04

    Test on the real target

    Behaviour is verified inside Telegram on iPhone, not only in a desktop browser.

08Reliability & testing

  • Verification of Telegram init data on the server.
  • Graceful empty and error states for every API-driven view.
  • Manual acceptance on real devices inside Telegram.
  • Checks that every key exists in all four locales.

09Code example

i18n.js javascript
const dictionaries = {
  en: { "signals.title": "Signals", "settings.title": "Settings" },
  pl: { "signals.title": "Sygnały", "settings.title": "Ustawienia" },
  uk: { "signals.title": "Сигнали", "settings.title": "Налаштування" },
  ru: { "signals.title": "Сигналы", "settings.title": "Настройки" },
};

export function createTranslator(locale, fallback = "en") {
  const primary = dictionaries[locale] ?? {};
  const backup = dictionaries[fallback];

  return function t(key) {
    if (key in primary) return primary[key];
    console.warn(`[i18n] missing "${key}" for ${locale}`);
    return backup[key] ?? key;
  };
}

Illustrative Illustrative Engineering Example — locale lookup with fallback.

Production source is private. Examples here show the engineering approach, not proprietary logic. More in the Engineering Lab.

10Possible extensions

  • Offline-friendly caching of the last known account state.
  • Automated visual regression tests for key screens.
  • A web version of the same interface outside Telegram.
Next case · 04 AI Assistant & Context-Aware Automation Artificial Intelligence · LLM Integration · Automation