Project case study
Fluidstack Console
Published Aug 1, 2025
Implementation notes
Fluidstack console rebuild (freelance)
Context
From March 28, 2024 to around August 2025, I worked with Fluidstack as a freelance contractor in a task-based model. Work came in waves: some periods had near-daily shipping, then quieter periods with fewer tasks.
The initial console had major usability and stability issues, so the focus was a practical rebuild of core flows rather than small incremental patches.
Scope and ownership
- Rebuilt the main console frontend end-to-end.
- Built the Atlas console frontend end-to-end (later continued by other engineers).
- Implemented the WorkOS auth flow integration in Next.js and aligned it with backend behavior.
- Shipped user-facing flows for top-ups, recurring top-up UX, instance actions (create/start/stop), SSH keys, and API keys.
- Coordinated directly with backend engineers working in FastAPI and adjusted frontend behavior when API contracts changed.
- Received and implemented requests from multiple stakeholders (engineering, product/ops, and non-technical collaborators).
Engineering choices that mattered
- Used Orval-generated typed API clients with TypeScript to handle fast API iteration safely.
- Regenerated API types frequently during active delivery windows; TypeScript errors surfaced response-shape drift early.
- Added capability-based UI guards in Atlas so available actions matched the user permissions returned by backend.
Delivery model
This engagement was not a strict sprint cadence. It was request-driven: I was pulled in for focused periods, then shipped quickly until the target scope for that phase was complete.
Outcome
- Replaced a fragile legacy frontend with a modern console experience for core operations.
- Made critical workflows (auth, instance lifecycle, and key management) more consistent and usable.
- Reduced integration friction during backend changes by relying on generated API types instead of manual client maintenance.
Notes on impact
I do not claim specific business metrics here because they were not consistently shared in this freelance model. The impact was primarily visible through shipped scope, smoother user workflows, and continuous delivery without major incidents.