Inside ShellHub: Early 2026
This is the first edition of Inside ShellHub, a monthly update on what we're building, why, and where we're headed. If you use ShellHub, contribute to it, or just watch from the sidelines, this is for you.
Since this is the first one, we're catching up on everything that happened since the beginning of the year. Going forward, expect one of these every month.
ShellHub is going through two major refactoring efforts that will shape the project for years. Here's where we stand.
Highlights
- New React-based UI is merged to master and will ship in the next Community Edition release. The legacy Vue frontend is frozen.
- PostgreSQL store is feature-complete at the store layer. More than a hundred methods implemented. The database migration will ship in a later CE release after the new UI stabilizes.
- We're rolling out changes in phases, starting with the Community Edition. Cloud and Enterprise editions will follow once the CE is stable.
UI: Vue → React
Status: Dozens of pages and components. Full CE feature parity. Merged to master, shipping in the next release.
The original ShellHub frontend is a Vue 3 app with more than a hundred components built over several years. It works, but the codebase accumulated complexity that made changes increasingly expensive. We decided to rebuild the UI from scratch in React with TypeScript, using a design system shared across apps.
The new frontend is now merged to master and covers all Community Edition functionality: devices, sessions, public keys, team management, setup, and terminal access. The next ShellHub release will be a CE-only release focused entirely on shipping this new UI, still backed by the existing MongoDB database. This lets us collect real-world feedback, fix bugs, and iterate before introducing more changes.
Some highlights compared to the previous Vue frontend:
- No more Vuetify lock-in. The old UI was tied to Material Design through Vuetify. The new one uses Tailwind CSS with a custom design system, giving us full control over styling without fighting a component library.
- Shared design system as a workspace package. Colors, typography, animations, and reusable components live in a separate package, ready to be shared across apps.
- Multi-session terminal. The old terminal opened one SSH session in a modal dialog. The new one supports multiple concurrent sessions with a taskbar, minimize, restore, and fullscreen.
- Better terminal error handling. Connection failures, expired sessions, and network drops show inline banners with clear messages instead of silently failing.
Up next: Ship the CE release, collect feedback, fix what needs fixing, and expand test coverage.
Database: MongoDB → PostgreSQL
Status: Community Edition store is feature-complete. Cloud and Enterprise stores are still in progress.
ShellHub has used MongoDB since its inception. As the data model grew (namespaces, memberships, invitations, sessions, API keys) we kept hitting the same friction: data that is inherently relational stored in a document database. Transactions, joins, referential integrity, schema enforcement. We were reimplementing all of this in application code instead of letting the database handle it.
The Community Edition PostgreSQL store is now feature-complete. Every method across more than a dozen store interfaces has a working implementation. The Cloud and Enterprise editions still have significant work ahead.
One architectural change worth calling out: the way the Enterprise Edition extends the Community store. With MongoDB, the enterprise store accessed the same database but couldn't coordinate transactions with community code—each side managed its own sessions independently. With PostgreSQL, the enterprise store wraps the community store and shares the same connection. Transactions are passed through context, so when a community operation starts a transaction, enterprise code called within it automatically participates in the same transaction. This means operations that span both editions are now truly atomic.
The database migration will not ship in the first CE release. The plan is deliberate: first we release the new UI on the existing database, let it stabilize, and only then introduce the PostgreSQL switchover in a subsequent CE release. This way we never change two critical layers at the same time.
Up next: Continue the Cloud and Enterprise store migration, expand test coverage, benchmark performance against MongoDB on real workloads, and prepare the switchover path for existing deployments.
Rollout plan
We're taking a phased approach to minimize risk:
| Version | What ships | Database |
|---|---|---|
| 0.22.0 | New React UI | MongoDB (no change) |
| 0.23.0 | Transition release with data migration tooling | MongoDB → PostgreSQL |
| 0.24.0 | PostgreSQL as the default | PostgreSQL |
Each phase needs to earn its way to the next one. We're not rushing.
AI as a force multiplier
ShellHub's core team is small. Two major rewrites running in parallel would normally require a much larger team or a much longer timeline. What changed the equation for us is AI-assisted development.
We use AI coding tools daily across both migration fronts. Writing store methods, porting components, generating test suites, reviewing architectural decisions, drafting migrations. It does not replace engineering judgment, but it compresses the time between "I know what to build" and "it's built and tested."
Some concrete examples from this month:
- PostgreSQL store methods. More than a hundred methods across dozens of interfaces. AI helped scaffold implementations, write test cases, and catch edge cases in query logic. What would take a full day often took a couple of hours.
- React components. Porting UI from Vue to React involves understanding existing behavior, translating idioms, and adapting to a different state management model. AI handles the mechanical translation while we focus on design decisions and UX improvements.
- Code review and refactoring. Having an AI pair that can read the entire codebase and flag inconsistencies, suggest simplifications, or spot potential bugs before they ship has been invaluable.
This is not about replacing developers. It's about a small team punching above its weight. We're shipping work that would traditionally require three or four times the headcount, and we're doing it without cutting corners on quality or test coverage.
We plan to share more about our AI-assisted workflow in future editions as we learn what works and what doesn't.
What's next
March will focus on preparing the next CE release with the new React UI. We'll be expanding test coverage, fixing issues found during internal testing, and making sure the upgrade path is smooth for existing installations. On the database side, work continues on the storetest suite and performance benchmarking.
Get involved
ShellHub is open source and we welcome contributions at any level: code, bug reports, documentation, or just feedback.