What is the bullet point path to complete this minimal app?


I have a project that I want to do. It is a small experiment to get me started with LLMs etc and I would like a couple of bullet points on how to complete it!

The app takes text input and transforms it into small pieces of code that I use to invoke actions.

The app revolves around these three words:

site, switch and port
These three words reflect the following relationship:
Sites contain switches and switches contain ports. Ports of different switches connect to one another.

When the user inputs text, the app needs to infer the users intent and transform it into simple code that reflects the intent.

So for example, if the user says a variation of any of this stuff:

“On site 2 take switch 4 and connect it’s 3rd port to switch 9’s 5th port”


"Switch 4 connect port 3 to to port 5 on switch 9. Do this on site number 2 "

It should convert to something in code that reflects the relationship and can easily be parsed.
Both phrases would convert to the same this. Something like this:

  site: 2,
  switches: [{
    number: 4,
    port: 3
  }, {
    number: 9,
    port: 5
  connections: switches[0].to(switches[1])

The code above can be anything (I just made that up on the fly and if you have something even simpler please let me know). The point is that the translation is robust enough for real world purposes.

So my question is, what are the immediate building blocks and basic steps to accomplish this? I prefer JS API’s as I don’t know python.

I am looking for an answer that gives me the minimum viable scaffolding without being inundated. Basically, a cooking recipe version is ideal coupled with the tools to complete each task.

I’m already familiar with web dev and web api’s so I should be fine on that end.

Whenever I start a tech project in a domain I’m not familiar with I always feel retroactively that I could have learned quicker with simpler and more direct explanations. So I’m bracing myself for the answers to be overly complex.

Thanks for reading. I’m new to this an excited to see where it goes.