Crypto trading automation
Barq Trade AI
A web platform for Gulf crypto traders, built at Admix Lab in March 2026 on Next.js 16, Prisma 7, Auth.js v5 and ccxt. Traders connect their exchange accounts, run bots that start in paper mode, and follow portfolio analytics, alerts and reports. The server refuses live mode without stop-loss, max-loss and position-size limits, and live order placement was deliberately left for a later phase. It has not launched; the screens shown are from the UI prototype made before the build.
- Client
- Barq Trade AI
- Year
- 2026
- Role
- Product and engineering lead, Admix Lab
- Status
- Built, pre-launch
- Platforms
- Dashboard, Exchanges and bots, Portfolio and risk


Traders. A landing page, sign-in, a three-step onboarding checklist and the dashboard, Arabic-first and right to left. Screens: UI prototype, March 2026.
Demo data- Exchange API keys checked live through ccxt and encrypted at rest (AES-256-GCM)
- Bots start in paper mode; the server refuses live mode without stop-loss, max-loss and position-size limits
- 44 routes, including portfolio analytics, alerts, reports and an admin area
- Arabic-first, right-to-left interface
Challenge
The brief was an Arabic-first platform for Gulf crypto traders: connect exchange accounts, run trading bots, and follow portfolio and risk in one place.
Bots connect to real exchange accounts, so API keys had to be treated as secrets and risky actions had to be hard to take by accident, with rules enforced by the server rather than by the interface alone.
Approach
I started with a UI prototype in Arabic and English, made in Lovable (Vite and React); the screens on this page come from it. I then led the build at Admix Lab in eight phases and a hardening pass: a pnpm monorepo with a Next.js 16 web app and a Prisma 7 database package, Tailwind CSS v4, next-intl and IBM Plex Sans Arabic, and a server layer of repositories, an encryption service, an auth guard and a rate limiter.
Connecting an exchange runs a live ccxt check with the trader's API key, and stored keys are encrypted with AES-256-GCM. Each bot has a paper or live mode, and every new bot starts on paper. The server refuses to create or start a live bot unless stop-loss, maximum-loss and position-size limits are all set, and never allows live mode on a demo connection. In the interface, a live bot carries a mode badge wherever it appears, with a warning banner on the create form and on the bot's page.
Auth.js v5 handles sign-in with JWT sessions and bcrypt-hashed passwords, with an edge-safe configuration for the Next.js 16 proxy. The eighth phase added rate limits on sign-in and exchange actions, a Content Security Policy header, a structured logger, a settings page and a three-step onboarding checklist.
Impact
In March 2026 the production build passed with no errors across 44 routes: landing page, sign-in, onboarding, dashboard, exchanges, bots with their logs and trades, portfolio analytics, trade history, risk profiles, alerts, reports, settings, and an admin area for users, system health and subscriptions.
It has not launched. Live order placement was intentionally left for a later phase: real execution needs a background worker outside Next.js, and until that exists the bot engine keeps live mode locked, so bots trade on paper only.
Traders
Dashboard
A landing page, sign-in, a three-step onboarding checklist and the dashboard, Arabic-first and right to left. Screens: UI prototype, March 2026.
- Sign-in through Auth.js v5 with JWT sessions, bcrypt-hashed passwords and rate limiting
- A three-step getting-started checklist that remembers progress in a cookie
- Settings for profile details and password changes
- Arabic-first, right-to-left layout built on next-intl and IBM Plex Sans Arabic


Traders
Exchanges and bots
Traders connect an exchange, create bots on it (paper mode by default), start and stop them, and follow each bot's logs and trades. Screens: UI prototype, March 2026.
- Connecting an exchange validates the API key live through ccxt; stored keys are encrypted with AES-256-GCM
- New bots default to paper mode; the create form shows paper and live as two cards, with a warning banner on live
- The server will not create or start a live bot without stop-loss, maximum-loss and position-size limits, and refuses live mode on demo connections
- Mode and status badges on every bot card; each bot's page shows its logs and trades, with a P&L panel for paper bots


Traders
Portfolio and risk
Portfolio analytics, trade history, a risk profile for each bot, alert rules and reports on demand. Screens: UI prototype, March 2026.
- Portfolio analytics from stored snapshots: an equity curve, P&L bars and an allocation chart
- Trade history read from the database
- A risk profile for each bot, created or updated from the Risk page
- Alert rules that traders create and switch on or off, and reports generated on request


Stack
- Next.js 16
- TypeScript
- Prisma 7
- PostgreSQL
- Auth.js v5
- ccxt
- next-intl
- Tailwind CSS v4
- pnpm workspaces
Integrations
- Crypto exchange APIs (ccxt)