Full-stack Engineer

Chosel

A modular platform I built around Chosy, an AI agent designed to act like an actual member of the team, not a chatbot bolted onto the side. Frontend, backend, and the agent-facing internals were all mine to design.

  • Next.js
  • Node.js
  • PostgreSQL
  • LLM tooling

The problem

Most 'AI features' are a chat widget layered on top of an existing product. Chosel's premise was different: Chosy needed to behave like a team member with real permissions, real actions, and real accountability inside the product, which meant the whole platform had to be modular enough for an AI actor to plug into the same seams a human user does.

Constraints

  • Chosy needed the same permission and action boundaries as a human team member: no special back-door API surface just for the agent.
  • The platform had to stay modular enough that new 'member types' (human or agent) could be added without touching core workflow logic.
  • I was building this with agentic coding tools in the loop myself, which meant staying disciplined about reviewing generated code against the same trust boundaries I was designing into the product.

Architecture decisions

  • 01Modeled Chosy as a first-class member entity in the data model, subject to the same access rules and audit trail as any human account.
  • 02Built the module boundaries around capabilities (what an actor can do) rather than human-specific UI flows, so the agent consumes the same internal interfaces as the frontend.
  • 03Kept the agent's action surface explicit and constrained rather than giving it broad tool access, so its behavior stays predictable and reviewable, the same instinct I apply to my own AI-assisted workflow.

What I'd do differently

The biggest lesson was resisting the urge to special-case the agent everywhere it touched the system: every shortcut taken there became a maintenance cost later.