Experience

  • Built with

    • TypeScript
    • React
    • Node.js
    • Next.js
    • Supabase
    • MCP
    • RAG
    • Sole engineer taking EvidentlyAEO from an empty repo to a production B2B SaaS with paying customers. It shows brands how they appear across ChatGPT, Gemini, Claude and Perplexity when buyers ask about their category, then tells them what to fix to show up more: which content to write, which sources to win, which gaps competitors are filling.
    • Built Chatter, the platform's social-listening module, which tells a brand what real people are saying about it on Reddit, X, YouTube and Facebook, and turns hundreds of posts into one daily brief: how people feel, what they love, what they complain about and what needs action.
    • Designed the data-collection engine: daily cron jobs query the major AI engines to track changes in each brand's visibility, with retries, backoff and stuck-run recovery so one flaky engine never breaks a customer's data.
    • Published an MCP server with 29 tools so AI agents can query a customer's visibility data directly, scoped per customer over OAuth.
    • Shipped white-label multi-tenancy for agency partners (own domain and branding), with tiered entitlements gating features, API limits and billing.
    Visit EvidentlyAEO
  • Built with

    • PL/SQL
    • React
    • Node.js
    • Express
    • MongoDB
    • Engineered backend procedures in PL/SQL to automate data ingestion and transformation, producing clean structured data for business intelligence and Power BI dashboards.
    • Built and maintained full-stack applications on the MERN stack with an eye on scalability and performance.
    Visit Eastern Software Solutions

Projects

All projects

Relay lets a group watch an AI coding agent work on a real codebase at the same time. One person runs a command inside their own project folder, which starts the agent on their machine and prints a link. Anyone who opens that link watches the same run live, and control can be passed to someone else in the middle of a task without restarting anything. The agent stays on the host's machine, so the server never holds anyone's code, never runs commands, and never sees anyone's login. Giving some server access to your codebase is the usual dealbreaker for a tool like this, and Relay is built so that never has to happen.

  • TypeScript
  • Node.js
  • WebSockets
  • Next.js
  • PostgreSQL

Live

Relay

Watch an AI agent work, together.

Relay lets a group watch an AI coding agent work on a real codebase at the same time. One person runs a command inside their own project folder, which starts the agent on their machine and prints a link. Anyone who opens that link watches the same run live, and control can be passed to someone else in the middle of a task without restarting anything. The agent stays on the host's machine, so the server never holds anyone's code, never runs commands, and never sees anyone's login. Giving some server access to your codebase is the usual dealbreaker for a tool like this, and Relay is built so that never has to happen.

Built with

  • TypeScript
  • Node.js
  • WebSockets
  • Next.js
  • PostgreSQL
  • Prisma
  • Claude Agent SDK
  • Everyone with the link watches the same run live, and someone who joins halfway through gets the full history rather than only what comes next.
  • Only one person can send instructions at a time, and the server is what enforces that, not the interface. Verified by sending an instruction straight to the server while skipping the UI entirely, which the server rejected.
  • Control passes between people mid task without restarting the agent. A dropped connection rejoins as the same person and keeps control if they had it, as long as they are back within 30 seconds.
  • The server stamps an order onto every event before sending it out, so two people watching never see things happen in a different order.
  • The agent runs on the host's own machine, so the server holds no code, runs no commands, and stores no logins.
  • The live session is held in memory, while Postgres keeps a copy of the transcript so an old link opens as a read only recording instead of a dead page.

ThinkLytix.AI

Decision Intelligence engine for all.

A two-part supply chain SaaS: a public marketing site and a full-stack application with its own authentication system. The Gemini API powers real-time predictive analysis, and the interface is built around the data visualisations rather than bolted on after them.

  • Next.js
  • React
  • Express
  • Node.js
  • MySQL

Live

ThinkLytix.AI

Predictive analysis for supply chains.

A two-part supply chain SaaS: a public marketing site and a full-stack application with its own authentication system. The Gemini API powers real-time predictive analysis, and the interface is built around the data visualisations rather than bolted on after them.

Built with

  • Next.js
  • React
  • Express
  • Node.js
  • MySQL
  • Prisma
  • Gemini API
  • Two surfaces from one product: a public marketing site and the application itself, deployed separately.
  • Ships its own authentication system rather than delegating to a hosted identity provider.
  • The Gemini API drives the real-time predictive analysis over supply chain data.
  • The interface is designed around the data visualisations rather than having them bolted on afterwards.
  • Express and MySQL sit behind the Next.js front end, with Prisma as the data layer.

About

I'm a full-stack engineer who loves taking products from day zero to production. Most of my work sits where product speed meets backend design: building systems that don't choke under real traffic, integrating AI so it's reliable rather than a gimmick, and keeping architectures simple. I like moving fast, but I care just as much about building software you don't have to throw away six months later. When I'm not at my desk, I'm usually at the gym or playing sports.

GitHub activity

2,973 this year