All Projects
LiveEvren03 / 06

Admin &
Support Portal

Two portals at Evren — the Admin Portal (customer-facing interface for enterprise OS management, rebuilt from scratch as V2) and the internal Support Portal used by engineers to manage enterprise customer environments. Migrated backend from Python to Node.js, designed 4-tier RBAC, overhauled the React UI, and built a log-analysis tool that cut debugging time by 50%.

−30%
API Latency
+40%
Portal Adoption
−50%
Debug Time
0
Downtime During Migration
Problem

A Python backend that couldn't scale, no meaningful access controls, and debugging that required tailing raw logs manually.

Evren's Admin Portal is the primary customer-facing interface for enterprise OS management — clients use it to configure, monitor, and control their operating environments. The original V1 ran on a Python backend that couldn't scale: response times degraded under load, onboarding engineers to the codebase was slow, and access control was a flat admin flag — every admin had identical permissions regardless of role or scope.

On top of that, debugging production issues meant manually grepping through server logs. There was no structured log analysis tooling, no visibility into error patterns, and no way to correlate API latency with specific operations — each incident was a blank-slate investigation.

Architecture

Node.js migration + RBAC redesign + React UI rebuild — shipped without downtime.

portal.evren.app / admin
React UIAdmin PortalSupport Portalrole-aware views+40% adoptionRBACSuper AdminTeam AdminSupport AgentViewerJWT + policy engineper-route enforcementNode.js APIExpress + TS−30% latencymigrated from Pythonzero downtimeOS Managementpersonal + enterprisedevice & system mgmtall teams in scopePersonal Systemsuser devices · local OSEnterprise Systemsteam infra · per-org scopeall teams managedSupport Portalinternal ticket workflowlog analysis · −50% debugPython structured parserInternal SupportPython log analyserstructured parsingMySQL+ Redis cache layer
Node.jsReactTypeScriptPythonMySQLRedisRBACDockerJWT Auth
Engineering

Migrated the backend and redesigned access controls without touching production uptime.

Incremental Python → Node.js migration with zero downtime

Rather than a big-bang rewrite, the migration ran the Python and Node.js APIs in parallel behind a routing layer. Routes were migrated one service at a time, verified in staging, then cut over. By the time Python was fully decommissioned, Node.js had been running in production for months. API latency dropped 30% — partly from Node's async I/O model, partly from query optimisations that the migration surfaced.

Multi-tiered RBAC instead of a flat admin flag

The old system had one admin boolean. The redesign introduced four tiers — Super Admin, Team Admin, Support Agent, and Viewer — each with a distinct permission set enforced at the API layer via a policy engine, not just on the frontend. Super Admins manage the full enterprise scope; Team Admins control their org's systems; Support Agents action tickets without access to infrastructure settings; Viewers have read-only access. Portal adoption jumped 40% after launch, largely because staff could now do their jobs without escalating every second action.

Structured Python log-analysis pipeline to replace grep

Built a Python tool that ingested raw application logs, parsed them into structured events (request, error, latency, user context), and produced daily summaries plus live alerts for anomalies. What previously required 30 minutes of grep and log correlation became a 2-minute dashboard query. Debugging time dropped 50% and on-call engineers stopped dreading production incidents.

Impact
−30%
API latency after Node.js migration and query optimisation
+40%
portal adoption after RBAC redesign and React UI overhaul
−50%
debugging time from structured log-analysis tooling
0
production downtime during the Python to Node.js migration
Prev: MCP Workflow EngineNext: Cross-Platform Ecosystem
v0.1.40