{"id":2137,"date":"2026-08-19T19:01:15","date_gmt":"2026-08-19T12:01:15","guid":{"rendered":"https:\/\/webportfolio.macroglobal.tech\/cases\/dev-platform-a-corporate-tool-for-development\/"},"modified":"2026-08-19T19:01:15","modified_gmt":"2026-08-19T12:01:15","slug":"dev-platform","status":"publish","type":"isotope","link":"https:\/\/proptechservice.kz\/en\/cases\/dev-platform\/","title":{"rendered":"Dev Platform \u2014 a corporate tool for development"},"content":{"rendered":"<div class=\"wp-bootstrap-blocks-row row\">\n\t\n\n<div class=\"col-12 col-lg-3\">\n\t\t\t\n\n<h2 class=\"wp-block-heading with_decor\" id=\"o-proekte\">About the project:<\/h2>\n\n\t<\/div>\n\n\n\n<div class=\"col-12 col-lg-5\">\n\t\t\t<div class=\"p-2\">\n\t\t\t\n\n<p class=\"wp-block-paragraph\">Dev Platform is a corporate tool for the development team. Built entirely by our team.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What the product is for: to gather in one place what is usually scattered across different services \u2014 working environments, tasks and project files. A programmer opens one window and works, and a manager can see what is going on.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is not an experiment or a demo: the platform has been in production since June 2026 and serves a live team. Alongside it stands a corporate CRM for the sales team \u2014 two internal tools built in the same vein: one covers development, the other sales.<\/p>\n\n\t\t<\/div>\n\t<\/div>\n\n<\/div>\n\n\n<div class=\"wp-bootstrap-blocks-row row case-media case-media--full\">\n\t\n\n<div class=\"col-12\">\n\t\t\t\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1440\" height=\"900\" src=\"https:\/\/proptechservice.kz\/wp-content\/uploads\/2026\/08\/devplat-sessions.jpg\" alt=\"Dev Platform working sessions: environment, project, owner and latest activity\" class=\"wp-image-1731\" srcset=\"https:\/\/proptechservice.kz\/wp-content\/uploads\/2026\/08\/devplat-sessions.jpg 1440w, https:\/\/proptechservice.kz\/wp-content\/uploads\/2026\/08\/devplat-sessions-300x188.jpg 300w, https:\/\/proptechservice.kz\/wp-content\/uploads\/2026\/08\/devplat-sessions-1024x640.jpg 1024w, https:\/\/proptechservice.kz\/wp-content\/uploads\/2026\/08\/devplat-sessions-768x480.jpg 768w, https:\/\/proptechservice.kz\/wp-content\/uploads\/2026\/08\/devplat-sessions-900x563.jpg 900w\" sizes=\"auto, (max-width: 1440px) 100vw, 1440px\" \/><figcaption class=\"wp-element-caption\">Personal and team environments: statuses, entry points, latest activity.<\/figcaption><\/figure>\n\n\t<\/div>\n\n<\/div>\n\n\n\n<hr class=\"hr-dashed opacity-50 my-5\">\n\n\n<div class=\"wp-bootstrap-blocks-row row\">\n\t\n\n<div class=\"col-12 col-lg-3\">\n\t\t\t\n\n<h2 class=\"wp-block-heading with_decor\" id=\"glavnaya-ideya\">The core idea:<\/h2>\n\n\t<\/div>\n\n\n\n<div class=\"col-12 col-lg-5\">\n\t\t\t<div class=\"p-2\">\n\t\t\t\n\n<p class=\"wp-block-paragraph\">It started as programmer environments in the browser. The value turned out to lie elsewhere.<\/p>\n\n\t\t<\/div>\n\t<\/div>\n\n<\/div>\n\n\n<div class=\"wp-bootstrap-blocks-row row case-text\">\n\t\n\n<div class=\"col-12 col-lg-6\">\n\t\t\t<div class=\"p-2\">\n\t\t\t\n\n<p class=\"wp-block-paragraph\"><strong>Work runs in several streams at once, not in a single one.<\/strong> Generation is not a command you wait on, but a process that lives for tens of minutes. One stream means a person sitting idle. Here each stream runs in its own isolated environment: you can launch a dozen of them, spread them across different tasks, then step into any one and see what is happening there right now \u2014 not a report after the fact, but live work you can put your hands into and let go of again.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>A human stays in the loop, and verification is a mandatory step.<\/strong> The main trouble with generation is not syntax errors but a plausible result with a made-up justification. That is why verification in the platform is not the performer&#8217;s goodwill but a separate mandatory stage of the pipeline: &#171;done&#187; does not arrive until the result has been confirmed independently.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>The platform knows what the project is made of.<\/strong> It keeps a map of the project&#8217;s dependencies and relies on it so that second versions of what has already been written do not appear in the code. Plus a programmer&#8217;s familiar tools stay within reach \u2014 at any moment you can open a file and fix it by hand.<\/p>\n\n\t\t<\/div>\n\t<\/div>\n\n<\/div>\n\n\n\n<hr class=\"hr-dashed opacity-50 my-5\">\n\n\n<div class=\"wp-bootstrap-blocks-row row\">\n\t\n\n<div class=\"col-12 col-lg-3\">\n\t\t\t\n\n<h2 class=\"wp-block-heading with_decor\" id=\"rabochie-sessii\">Working sessions:<\/h2>\n\n\t<\/div>\n\n\n\n<div class=\"col-12 col-lg-5\">\n\t\t\t<div class=\"p-2\">\n\t\t\t\n\n<p class=\"wp-block-paragraph\">The team works in isolated environments \u2014 one environment per project or workstream. The platform shows every session at once: which environment, which project, who owns it, when the latest activity was. A session opens straight from the interface.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A session lives on the server, not in a browser tab. Close the laptop, open the phone: the same work, the same history, nothing lost. Inside the environment is everything a programmer is used to: a terminal, files, an editor with highlighting, a history of changes.<\/p>\n\n\t\t<\/div>\n\t<\/div>\n\n<\/div>\n\n\n\n<hr class=\"hr-dashed opacity-50 my-5\">\n\n\n<div class=\"wp-bootstrap-blocks-row row\">\n\t\n\n<div class=\"col-12 col-lg-3\">\n\t\t\t\n\n<h2 class=\"wp-block-heading with_decor\" id=\"rabota-s-lyubogo-ustroystva\">Work from any device:<\/h2>\n\n\t<\/div>\n\n\n\n<div class=\"col-12 col-lg-5\">\n\t\t\t<div class=\"p-2\">\n\t\t\t\n\n<p class=\"wp-block-paragraph\">Not &#171;responsive design for the sake of it&#187;. Since the session lives on the server, the phone is not a stripped-down version but a second full-fledged entry into the same work.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Almost everything comes down to one non-obvious thing: an on-screen keyboard has no <code>Esc<\/code>, no <code>Ctrl<\/code>, no <code>Tab<\/code> and no arrows \u2014 and without them a terminal is useless, you cannot get out of the editor and cannot interrupt a process. So the mobile layout has a separate panel of these keys, and its modifiers are sticky, so a combination can be typed one-handed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The other sections are not dropped on the phone but rearranged: the sidebar becomes a slide-out drawer, the board&#8217;s columns scroll horizontally, a card opens full screen.<\/p>\n\n\t\t<\/div>\n\t<\/div>\n\n<\/div>\n\n\n<div class=\"wp-bootstrap-blocks-row row case-gallery\">\n\t\n\n<div class=\"col-12 col-lg-4\">\n\t\t\t\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"420\" height=\"860\" src=\"https:\/\/proptechservice.kz\/wp-content\/uploads\/2026\/08\/devplat-mobile-keys.jpg\" alt=\"Dev Platform terminal on a phone with a panel of extra keys Ctrl, Esc, Tab\" class=\"wp-image-1733\" srcset=\"https:\/\/proptechservice.kz\/wp-content\/uploads\/2026\/08\/devplat-mobile-keys.jpg 420w, https:\/\/proptechservice.kz\/wp-content\/uploads\/2026\/08\/devplat-mobile-keys-147x300.jpg 147w\" sizes=\"auto, (max-width: 420px) 100vw, 420px\" \/><figcaption class=\"wp-element-caption\">The keys missing from the on-screen keyboard get a separate panel with sticky modifiers.<\/figcaption><\/figure>\n\n\t<\/div>\n\n\n\n<div class=\"col-12 col-lg-4\">\n\t\t\t\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"420\" height=\"860\" src=\"https:\/\/proptechservice.kz\/wp-content\/uploads\/2026\/08\/devplat-mobile-terminal.jpg\" alt=\"Full-screen Dev Platform terminal on a phone\" class=\"wp-image-1734\" srcset=\"https:\/\/proptechservice.kz\/wp-content\/uploads\/2026\/08\/devplat-mobile-terminal.jpg 420w, https:\/\/proptechservice.kz\/wp-content\/uploads\/2026\/08\/devplat-mobile-terminal-147x300.jpg 147w\" sizes=\"auto, (max-width: 420px) 100vw, 420px\" \/><figcaption class=\"wp-element-caption\">A full terminal on the phone \u2014 the same session that was on the laptop.<\/figcaption><\/figure>\n\n\t<\/div>\n\n\n\n<div class=\"col-12 col-lg-4\">\n\t\t\t\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"420\" height=\"860\" src=\"https:\/\/proptechservice.kz\/wp-content\/uploads\/2026\/08\/devplat-mobile-tasks.jpg\" alt=\"Dev Platform task board on a phone\" class=\"wp-image-1737\" srcset=\"https:\/\/proptechservice.kz\/wp-content\/uploads\/2026\/08\/devplat-mobile-tasks.jpg 420w, https:\/\/proptechservice.kz\/wp-content\/uploads\/2026\/08\/devplat-mobile-tasks-147x300.jpg 147w\" sizes=\"auto, (max-width: 420px) 100vw, 420px\" \/><figcaption class=\"wp-element-caption\">The board: columns scroll horizontally, a card opens full screen.<\/figcaption><\/figure>\n\n\t<\/div>\n\n<\/div>\n\n\n\n<hr class=\"hr-dashed opacity-50 my-5\">\n\n\n<div class=\"wp-bootstrap-blocks-row row\">\n\t\n\n<div class=\"col-12 col-lg-3\">\n\t\t\t\n\n<h2 class=\"wp-block-heading with_decor\" id=\"zadachi\">Tasks:<\/h2>\n\n\t<\/div>\n\n\n\n<div class=\"col-12 col-lg-5\">\n\t\t\t<div class=\"p-2\">\n\t\t\t\n\n<p class=\"wp-block-paragraph\">Tasks are run on boards \u2014 one per workstream. Besides the boards there is a &#171;today&#187; view and task analytics.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A task card holds more than a description: inside are checklists, priority, assignee, <strong>time tracking<\/strong> and a discussion \u2014 the correspondence on a task lives in the card itself, not in a separate messenger. You can see how much time went into a task and who on the team is online right now.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And the same board is a queue for an agent. A card from a column can be handed not only to a person: an agent takes it on and, when finished, attaches proof of the result to the card and moves it along. A task counts as done only after independent verification.<\/p>\n\n\t\t<\/div>\n\t<\/div>\n\n<\/div>\n\n\n<div class=\"wp-bootstrap-blocks-row row case-media case-media--full\">\n\t\n\n<div class=\"col-12\">\n\t\t\t\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1440\" height=\"900\" src=\"https:\/\/proptechservice.kz\/wp-content\/uploads\/2026\/08\/devplat-task-card.jpg\" alt=\"Dev Platform task card: column, priority, assignee, checklist and attachments\" class=\"wp-image-1744\" srcset=\"https:\/\/proptechservice.kz\/wp-content\/uploads\/2026\/08\/devplat-task-card.jpg 1440w, https:\/\/proptechservice.kz\/wp-content\/uploads\/2026\/08\/devplat-task-card-300x188.jpg 300w, https:\/\/proptechservice.kz\/wp-content\/uploads\/2026\/08\/devplat-task-card-1024x640.jpg 1024w, https:\/\/proptechservice.kz\/wp-content\/uploads\/2026\/08\/devplat-task-card-768x480.jpg 768w, https:\/\/proptechservice.kz\/wp-content\/uploads\/2026\/08\/devplat-task-card-900x563.jpg 900w\" sizes=\"auto, (max-width: 1440px) 100vw, 1440px\" \/><figcaption class=\"wp-element-caption\">The card: description, checklists, attachments, discussion \u2014 and a job for an agent.<\/figcaption><\/figure>\n\n\t<\/div>\n\n<\/div>\n\n\n\n<hr class=\"hr-dashed opacity-50 my-5\">\n\n\n<div class=\"wp-bootstrap-blocks-row row\">\n\t\n\n<div class=\"col-12 col-lg-3\">\n\t\t\t\n\n<h2 class=\"wp-block-heading with_decor\" id=\"interfejs\">Interface:<\/h2>\n\n\t<\/div>\n\n\n\n<div class=\"col-12 col-lg-5\">\n\t\t\t<div class=\"p-2\">\n\t\t\t\n\n<p class=\"wp-block-paragraph\">Light and dark theme, two languages. The styling is terminal-like: monospace headings, a &#171;console&#187; layout, a calm background. Beneath the interface lies a design system of its own, against which all development is checked. Who on the team is online right now and who is looking at the same board is visible in real time.<\/p>\n\n\t\t<\/div>\n\t<\/div>\n\n<\/div>\n\n\n\n<hr class=\"hr-dashed opacity-50 my-5\">\n\n\n<div class=\"wp-bootstrap-blocks-row row\">\n\t\n\n<div class=\"col-12 col-lg-3\">\n\t\t\t\n\n<h2 class=\"wp-block-heading with_decor\" id=\"rezultat\">Result:<\/h2>\n\n\t<\/div>\n\n\n\n<div class=\"col-12 col-lg-5\">\n\t\t\t<div class=\"p-2\">\n\t\t\t\n\n<p class=\"wp-block-paragraph\">The platform has been in production since June 2026 and serves a live team. A programmer opens a link and works \u2014 with no &#171;install twenty things locally&#187;; sessions survive a closed tab and a move to the phone; several parallel streams of work do not get in each other&#8217;s way, because each has its own environment.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The product is large and alive: around 200,000 lines of our own code and almost two thousand automated checks that run on every change.<\/p>\n\n\t\t<\/div>\n\t<\/div>\n\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>a corporate tool for development<\/p>\n","protected":false},"featured_media":1668,"template":"","class_list":["post-2137","isotope","type-isotope","status-publish","has-post-thumbnail","hentry","isotope_category-software-for-property-developers"],"acf":[],"_links":{"self":[{"href":"https:\/\/proptechservice.kz\/?rest_route=\/wp\/v2\/isotope\/2137","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/proptechservice.kz\/?rest_route=\/wp\/v2\/isotope"}],"about":[{"href":"https:\/\/proptechservice.kz\/?rest_route=\/wp\/v2\/types\/isotope"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/proptechservice.kz\/?rest_route=\/wp\/v2\/media\/1668"}],"wp:attachment":[{"href":"https:\/\/proptechservice.kz\/?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2137"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}