01// This is not marketing. This is our code.
02
03class Tessel {
04
05··// ─── identity ─────────────────────────────
06
07··team = 3
08··bureaucrats = 0
09··based = 'Europe'
10··channel = 'one Slack, one sprint at a time'
11
12··// ─── people ───────────────────────────────
13
14··members = [
15······{
16········name: 'Serhii Vovchuk',
17········role: 'EngineeringBackend/frontend development, system architecture, code review',
18········focus: 'code that ages well',
19······},
20······{
21········name: 'Daniil Bondar',
22········role: 'ProductProduct strategy, customer development, UX decisions',
23········focus: 'products people actually use',
24······},
25······{
26········name: 'Pavlo Beniuk',
27········role: 'OperationsProject coordination, deadlines, client communication',
28········focus: 'order over chaos',
29······},
30··]
31
32··// ─── stack ────────────────────────────────
33
34··uses = [ 'TypeScriptMain language — type-safe JavaScript', 'Next.jsReact framework with SSR and App Router', 'PostgreSQLRelational DB for production projects',
35·· 'PythonBots, automation, ML experiments', 'DockerContainerization and deployment', 'StripePayments: cards, BLIK, subscriptions' ]
36
37··// ─── values ───────────────────────────────
38
39··values = [
40····'ship steady',
41····'measure twice, cut once',
42····'docs as code',
43····'small team, real ownership',
44····'no estimates without scope',
45··]
46
47··// ─── pitch ────────────────────────────────
48
49··// Not cheaper.
50··// Not pricier.
51··// Built like it's ours.
52
53}