System Thinking & AI: Moving Fast Without Being Sloppy

There was a time when I was juggling multiple products at once — a student management app, a premium photo printing platform, and an order fulfillment system. Each had its own domain and logic. I quickly realized: without system thinking, I’d drown in the mess I created myself.

Fortunately, I knew how to break things down, structure them properly, and use AI the right way — not to replace my thinking, but to accelerate it.


I don’t start with code — I start with structure

When building the photo printing system (PMSystem), I had to handle massive TIFF files (2GB wasn’t rare). If I processed them traditionally — upload → resize → crop → overwrite — it would crash memory, kill the server, and be impossible to scale.

I took a different path:

  • Original files are never overwritten.
  • I generate JPEG previews for the UI — large files go into a queue.
  • Crop data (x, y, w, h) is saved as metadata.
  • The full-resolution crop only happens when the customer places the order.
  • I separate sync vs async: small previews are cropped immediately, large files go to the queue.

This not only made the system stable, but opened doors for future features like crop undo, versioned previews, or batch rendering.


I use AI as a skilled teammate, not as a replacement

I use AI tools (like Cursor IDE or ChatGPT) to write prompts, generate code, create migrations, and structure files — but always starting from a clear strategic plan.

My prompts are never “write code for me.”
They go more like:
“Task: Build X. Context: We’re currently at Y. Instructions: Needs to follow logic Z.”

When you ask the right questions, AI gives much better answers.


Scaling the right way: split and connect, don’t cram together

I used to put everything in one app. Then I split it:

  • FilesAPI handles image processing (crop, preview, upload, queue).
  • PA manages order workflows and receives webhook updates when crops are done.
  • Order Journey is the front-end interface for customers to interact and send crop commands.

Splitting the system this way made everything smoother. Each part has a clear role, easier to debug, easier to scale.


Small details build a great experience

For example, in the PA app: when an image has been cropped, I add a small signal in the UI — like an icon beside the file, letting users download the cropped version.

Same goes for the student management app (Alice): when a bank transaction is reconciled, I want it to be clear — who paid, for what, and how it connects to the accounting system.

These small details make the product feel right. Not flashy, not loud — just precise and useful.


Conclusion: Building carefully doesn’t mean moving slow

Here’s the paradox:
I actually build faster when I slow down to think in systems.

When I know what each part does, how they connect, where AI fits in — the implementation becomes quick, clean, and future-proof.

AI doesn’t replace you. But if you know how to use it well, it elevates your speed to the next level.


Building a product?
Pause for a moment and map out your system. See where things are tangled, where you can break them apart, where AI might help.
You might find yourself moving faster — without rushing.


Posted

in

by

Tags: