Majus · software studio · est. 2010

We build the boring software
that quietly runs other businesses.

CRM, ERP, LMS, CMS, AI/LLM, Web3 and the long-tail automations nobody else wants to maintain. Over fifteen years of commercial engineering, written down in the blog.

Founded
2010
Lead
Denis Perov
Based
Astana · UTC+5
Stack
Node · JS/TS · React · Mongo
AI
Claude Code · OpenAI · LangChain

§ 01 · How we work

Three principles, one studio.

  1. 01

    Transparency

    Every project runs in a shared task tracker. You see what we see — tickets, branches, blockers, the lot. No status-update theatre.

  2. 02

    Conversation

    Async-first writing, sync when it matters. Decisions are written down so they outlive the meeting.

  3. 03

    Architecture

    What you ship in week two decides what's possible in year two. We design for the second year, not the second sprint.

§ 02 · What we do

Four practices, one team.

  1. 01

    Requirements & analysis

    The cheapest stage to find an expensive mistake. We treat discovery as engineering, not a deck.

  2. 02

    Software development

    Headless services, web apps, chat bots — whatever shape the work needs. We write the boring layer well.

  3. 03

    Automated testing

    Test infrastructure that actually catches regressions in year three. The point isn't coverage — it's confidence.

  4. 04

    Long-tail support

    The bugs in production at 3am, the migrations on the legacy box, the integrations nobody documented. We keep things alive.

§ 03 · Tools we trust

An honest stack.

  • JavaScript

    Where most of our delivery time is spent. Node on the server, TS at the contract layer.

  • Node.js

    Long-lived services, queues, integration shims, internal tools.

  • MongoDB

    For document-shaped data and rapid product iteration. Postgres when the shape is known.

  • React

    Where end-to-end reactivity earns its keep — internal tools and bespoke admin UIs.

  • Supabase

    Postgres with auth, storage, and edge functions wired up on day one. Where a project needs a backend yesterday.

  • Pulumi

    Infrastructure as TypeScript. Drift you can review in a pull request.

  • Linux

    Where everything we ship runs. Ubuntu on the desk, Debian / Alpine on the box.

  • Git

    The default, the only. Trunk-based, signed, with conventional commits.

  • Claude Code

    The pair-programmer that doesn't tire. Docs, tests, refactors — the parts of the week nobody volunteers for.

  • OpenAI

    Inference, embeddings, voice in and out. Where the model is the dependency, not the framework.

  • LangChain

    When an agent has to do six things in order and we need logs when one breaks. Orchestration, traces, retries.

  • OpenSpec

    Spec before code, even when the code is generated. Keeps long agent runs honest and the deliverables boring.

§ 04 · Selected work

Things we built.

  1. TopicVote 2020

    Knowledge base in a question-answer format

  2. My Tripster 2020

    Travel recommendation service

  3. Selbstauskunft 2019

    Form builder for collecting tenant data

  4. PropAgg 2019

    Real estate ad aggregator

  5. Airoko 2018

    Booking service for a travel agency

  6. UTail 2016

    Vital social marketing tool

  7. Estetic 2016

    Online booking service for a beauty salon

  8. KetBilietas 2016

    Online driving exam testing

§ 05 · Latest from the journal

Recent entries.

  1. Write Like a Person
  2. Zen of Disposables
  3. 90% was easy, the rest is engineering
  4. The Vanishing Engineer

All entries →

§ 06 · Talk to us

Got something boring that needs to work?

Tell us what you're trying to ship. We respond within two working days, in writing, with questions before quotes.

[email protected]