Aquanox — frontend ecosystem of a lending protocol
Nox Labs · 2026 — Present · Senior Frontend Engineer
- Next.js
- React
- TypeScript
- Zustand
- TanStack Query
- TanStack Table
- React Hook Form
- Zod
- Tailwind CSS
- shadcn/ui
- Turborepo
- Docker
- CI/CD
- next-intl
- Feature-Sliced Design

Context
Aquanox is a lending protocol for institutional clients: organizations deposit, lend, borrow and swap through custodial accounts with multi-seat roles, 2FA and passkeys — no wallet-connect UX. The frontend is a whole product line — the trading app, a back office, a marketing landing and a documentation site — and it had to ship fast without every application re-solving the same infrastructure.
What I did
- Designed and built the Turborepo monorepo from scratch: 4 applications and 8 shared packages — the API client, query configuration, lint, formatting and TypeScript setups — so every product starts from the same foundation instead of a blank slate.
- Led the frontend team: set the technical direction, broke the roadmap into well-scoped tasks and reviewed every merge against the architecture. Four applications moved forward in parallel without the team stepping on each other.
- Made Feature-Sliced Design non-negotiable: the layer hierarchy is enforced by architecture linting in CI, so the structure survives deadlines and new hires — a violation fails the pipeline instead of sparking a code-review debate.
- Built a Suspense-first data layer on TanStack Query with server-side prefetch and streaming hydration: screens arrive with data instead of spinners, and the React Compiler keeps re-renders in check without hand-tuned memoization.
- Authored a typed API layer around a single endpoints registry and a response envelope that turns every backend error into a typed, handled case — the UI can't forget an error state.
- Built the internal design system that every application in the ecosystem reuses: screens are assembled from ready components instead of hand-rolled markup, which sped up and simplified development across the whole product line.
- Shipped the full security surface a financial product demands: 2FA, passkeys, recovery codes, organization roles and member management.
- Owned delivery end to end: multi-stage Docker builds, GitLab CI with quality gates, GitOps deploys to Kubernetes, and an AI-assisted pipeline with versioned internal agents and pinned skills shared by the whole team.
Outcome
Roughly 60% of the code is reused across applications, and a feature that
touches the API layer, the design system and two applications ships as one
pull request. Unified linting, versioning and documentation cut onboarding
time 2–3x — a new project starts from the shared packages, not from a blank
create-next-app.