Back to all cases

Dev Platform

An internal workspace for a development team: work sessions in isolated environments, task boards with time tracking, and full-scale work from any device.

Introduction:

It started with an everyday annoyance. I didn’t want to carry a bulky laptop around and was looking for a way to write code from my phone.

I tried Linux emulation on Android, installed code-server. Working in a browser was possible, but it wasn’t the full cycle: without plugins and half of what a real editor can do, it never got further than editing a couple of files.

Meanwhile development itself was changing — more and more of the work was moving into generation under my control. And then I got a server of my own. That settled the question for good: how do I work from any device without installing anything on it.


How it went:

The first version was a terminal in the browser. I put it together on off-the-shelf libraries first, then moved to my own implementation: other people’s solutions hit a ceiling exactly where things got interesting. In May 2026 I rewrote everything on Laravel and Vue — that version ran for a week alongside the old one, on the same server, so I could compare and roll back.

Then a team environment was needed. The tool I was building for myself turned out to be useful to more people than me. From that point on the terminal stopped being the product and became one part of the platform.

The terminal isn’t the point in itself. All the work goes through CLI agents: we treat it as a discipline to set up a proper agent system for every project — with roles, a review procedure and a canon of its own. A system like that lives in the command line, which means there are a lot of terminals, they run long, and they have to be kept somewhere. Hence the sessions, the splits and everything else around them.

Sessions instead of a terminal. A work session lives in its own container at the operating-system level: its own file system, its own processes, its own memory and disk limits. Not a project folder but a machine in its own right. A neighbour can’t reach into it, even if they want to.

Dev Platform work sessions: environment, project, owner and last activity
Personal and team environments: statuses, entry points, last activity.
A live Dev Platform session: the agent is working, output streams in real time
A live session: the agent is working, output streams in real time.

Working with files. Project tree, editor, search. Together with the sessions, that is what closed the original task — files and terminal together now replace an editor with plugins, and cover more ground than it did. The project didn’t grow into that at once.

Dev Platform code editor: file tree, tabs and syntax highlighting
File tree, tabs of open files, and the editor with highlighting.
Split mode in Dev Platform: two files open side by side
Split: two files side by side in one window.
Dev Platform Markdown editor: source on the left, rendered view on the right
Markdown: source on the left, rendered view on the right — edits show up immediately.
Project relationship map in Dev Platform: a graph of database, backend and frontend nodes
Project relationship map: 500 of the graph’s 2123 nodes in frame.
Project schema in Dev Platform: table list and the panel of the selected node
Schema listing: database tables, with the migrations and the model of the selected one on the right.
Project index search in Dev Platform: migrations, models and controllers in one list
Index search: migrations, methods and controllers in one set of results.

A kanban for development. Task boards with time tracking, team sections, access control. The things without which two or more people can’t use a tool every day.

Dev Platform task board on a phone
The board: columns scroll sideways, a card opens full screen.
Dev Platform tasks section: boards grouped into sections
Task boards grouped by team section.
Dev Platform kanban board: columns by stage, cards with priority and assignee
A board in use: columns by stage, cards carry a priority and an assignee.
Dev Platform kanban board: presence marker on a card, assignee avatars, per-column counters
Presence: you can see who is in a card right now and how much time has gone into it.
Dev Platform task analytics: a chart of closed tasks by day
Analytics: closed per day and a cumulative curve across all boards.

Automation. Since August a bot has been picking up tasks from the kanban: it takes a card from the right column, spins up a session, drops the brief into it and drives it to a result. The verdict on readiness is a separate step — “done” doesn’t happen by itself. A snapshot of the state is attached to the card, and a notification goes out to the messenger.

Dev Platform task card: column, priority, assignee, checklist and attachments
The card: description, checklists, attachments, discussion — and the brief for the agent.
The Devy bot panel in Dev Platform: binding to a board and an environment, event log
The bot panel: binding to a board and an environment, and a log of its steps on the task.

A word on verification, separately, because in work like this it is the main thing. The trouble with generation isn’t broken code — broken code shows itself straight away. The trouble is a plausible result with an invented justification. So verification here isn’t the goodwill of whoever did the work, it’s a mandatory stage.

Once I had to restore all of it. In June the server disk died. The platform came back from backups in twenty-four hours.


Result:

The platform has been in use since June 2026. There are six teams on it now — development, product and adjacent departments. Each has an environment of its own, plus personal ones that are started and shut down as needed.

Inside: sessions in isolated environments, files, an editor, task boards, automation, backups, quotas. From the outside — a single link in a browser. A phone will do.

The original task it all started with was solved along the way: you can work from any device.


My role:

The project is entirely mine — the idea, the architecture, the code. I wrote every version, from the first terminal to the platform as it is now.


Stack:

Laravel · PHP 8.3 · PostgreSQL 18 · Redis · Vue 3 · TypeScript · Incus · WebSocket