simalexan

simalexan

Personal blog and thoughts on software engineering, AWS, and strategic technology thinking

Recent Posts

The next step for conversational AI agents is multimodal

Last week, Konstantinos Siaterlis and I gave a talk at AWS Community Day Adria in Ljubljana, Slovenia, about the next step for intelligent conversational AI agents.

The slides are on the site, and you can click through them in the browser: Journey to Intelligent Conversational Agents.

The short version: the next step is multimodal AI agents. Text, visuals, voice and collaboration, while keeping memory, personalization and multiple contexts together.

We are working more with AI

We opened the talk by asking why AI has us working more, when it was supposed to save us time.

Read more →

Building AI Agents in JavaScript with Agent Builder and ChatKit

Last November, I gave a talk at JS Belgrade about OpenAI’s Agent Builder.

The pitch:

OpenAI’s no-code agent builder creates and deploys AI agents into production with just a few clicks.

The reality? Messier than the announcement suggested, but there’s something real here.

The Starting Position

Building AI agents has been mildly frustrating. Write prompts, chain tool calls, handle errors, build a UI, all from scratch. Or glue together third-party tools until you get something that works.

Read more →

Wardley Mapping with Kiro: Integrating Strategy and Product Building with AI agents

Last week, I embedded my Wardley Mapping principles directly into my AI development workflow.

The experiment worked - but not how I expected. It revealed two gaps I hadn’t fully appreciated before:

  1. How can I influence engineering decisions with agent rules/steering documents?
  2. Where is this going to evolve?

The Problem I Was Trying to Solve

I’ve been mapping landscapes for years, but there’s always been this frustrating disconnect. I’d create these detailed maps showing how components evolve, identify strategic opportunities, then watch and participate in a team effort to build features that completely ignore the landscape context.

Read more →

How to create an S3 Batch Operations Job with Lambda Invoke

Recently, I have been playing a lot with AWS S3 Batch Operations. The service is amazing for processing large amounts of data in parallel. The only downside is that it is not very well documented and there are a few steps to do before you can start processing your data.

Sometimes I prefer a minimum effective dose of a post, so here is an example of creating an AWS S3 Batch Operations job using the AWS SDK for JavaScript (v3) in TypeScript:

Read more →