Enterprise Operations
Flux
An internal operations platform for field teams, reports, tickets, sites, and cutover-safe backend modernization.
Year
2026
Status
Internal
Platform
Enterprise web application
Role
Full-stack Developer
Timeline
2026
Collaboration
Internal operations team
Tech
Go, Gin, MySQL, GORM, React, shadcn/ui, Radix UI, JWT
Project Overview
Flux is an internal operations platform for Varnion teams managing sites, schedules, field activities, reports, tickets, Starlink workflows, Fiberzone work orders, projects, notifications, and more.
- —Go/Gin + MySQL backend runs alongside a legacy FastAPI/MongoDB system during rewrite.
- —React frontend uses `REACT_APP_API_URL` to target the new API.
- —Migration tooling imports 32+ collections from MongoDB into relational tables.
- —Cutover support includes parity checks, uploads sync, and smoke scripts.
The Challenge
Internal operations platforms carry years of data, role-specific behavior, and edge-case workflows that cannot be lost during a backend rewrite.
- —MongoDB documents and embedded assets needed reliable MySQL mapping.
- —Legacy IDs and auth sessions had to remain compatible where possible.
- —Frontend views depended on many endpoints and response shapes.
- —Role-based data scoping needed consistent enforcement across domains.
The Solution
A phased Go/Gin + MySQL rewrite with migration tooling, smoke tests, uploads sync, and frontend API compatibility work.
- —GORM models and migrations define the new relational foundation.
- —Migration CLI supports dry-run, collection import, full import, fresh reload, and verification.
- —Go API serves static uploads while preserving legacy upload paths.
- —Smoke suite checks dozens of read-only endpoints used by the React frontend.
Visual Journey
Enterprise Workflow Direction
Flux needed to support dense operational data while keeping field, admin, and reporting workflows predictable during a backend rewrite.
- —Table-heavy workflows prioritize filtering, status visibility, and role-scoped access.
- —Frontend API calls must adapt to Go response shapes without disrupting users.
- —Migration tooling preserves historical operations data and uploaded assets.
- —Smoke tests validate critical read paths before cutover.
Responsive & UX System
Breakpoints
- Desktop-first operations dashboards for tables and reports
- Responsive forms and detail views for field-adjacent workflows
Interactions
- Status chips, filters, and scoped lists reduce operational ambiguity
- Smoke-tested endpoints protect critical frontend views
Accessibility
- Radix/shadcn patterns support consistent focus behavior
- Data tables rely on clear labels, actions, and status states
Tech Stack
Backend Rewrite
Frontend
Migration
Security & Access
Infrastructure
Hosting
Internal deployment
Backend
Go/Gin API
Database
MySQL
Storage
Local/static upload serving with legacy uploads sync
CI/CD
Build, smoke, and migration scripts
Monitoring
Smoke test PASS/FAIL output and API health checks
Key Features
Backend modernization
Rewrites legacy FastAPI/MongoDB services into Go/Gin with MySQL persistence.
Improves operational reliability while preserving existing workflows.
Data migration CLI
Imports 32+ collections with dry-run, fresh reload, and verification modes.
Makes cutover safer and repeatable.
Operational domain coverage
Supports sites, activities, reports, tickets, work orders, projects, Starlink, and notifications.
Keeps field and admin workflows centralized.
Uploads preservation
Synchronizes legacy uploads and converted embedded assets so historical records keep working.
Prevents broken references after migration.
Smoke suite
Validates roughly 45 read-only frontend endpoints before cutover.
Gives confidence that critical views remain usable.
Process
- 01Discovery
Map legacy domains and migration constraints
Audited legacy collections, models, auth expectations, uploads, and frontend API dependencies.
- Rewrite design spec
- Collection mapping
- Cutover checklist
- 02Backend foundation
Build Go/Gin API and MySQL schema
Created service layers, platform utilities, migrations, auth compatibility, and endpoint coverage.
- Go API
- MySQL migrations
- Shared platform packages
- 03Migration and cutover prep
Validate data, uploads, and frontend reads
Implemented migration commands, smoke scripts, uploads sync guidance, and frontend base URL alignment.
- Migration CLI
- Smoke test suite
- Frontend compatibility updates
Deliverables
Go/Gin API
New backend serving internal operations domains.
MySQL schema and migrations
Relational data model replacing legacy MongoDB documents.
Migration tool
CLI for dry-run, import, reload, and parity verification across supported collections.
Frontend integration
React app configured to consume the new API during cutover preparation.
Redacted screenshot prompts
Prompts for generating sanitized Flux UI screenshots without exposing real internal data.
Outcomes
32+
Collections migrated
Legacy Mongo collections mapped into MySQL import flow.
45
Smoke endpoints
Read-only routes used by the React frontend.
2 systems
Rewrite boundary
Legacy FastAPI/MongoDB and new Go/Gin/MySQL during migration.
SEO & Performance
Performance
- Fast internal dashboard navigation across dense operational data
- Stable API responses for table-heavy frontend views
SEO
- Public project page presents anonymized technical scope without internal data or public URLs
Technical checks
- go test ./...
- go vet ./...
- Smoke script for read-only frontend endpoints
Extended Narrative
Vlux is a production internal platform at Varnion for telecom field operations: sites, schedules, activities, reports, tickets, work orders, and projects. The backend was modernized from FastAPI and MongoDB to Go, Gin, and MySQL with migration scripts and smoke tests so teams could cut over without losing operational history.
The public case study emphasizes architecture, workflow reliability, and data migration safety—not live customer data. Gallery imagery should use sanitized UI only: an enterprise dashboard with KPI cards and ticket tables, a field activity submission form, and a ticket detail view with status timeline and assign/close actions, all in a neutral shadcn-style light theme.
Modernizing internal operations software?
Flux shows how I approach high-risk rewrites, migration tooling, and internal dashboards without exposing private systems.

