Alright, let’s talk about this whole “general stones” thing. It wasn’t really a big project with a fancy name, more like something that just grew over time out of necessity. We found ourselves building the same kinds of basic pieces over and over again, you know?

Getting Started
So, I decided, okay, let’s try to standardize this. I started by looking at the common stuff we always needed. Things like:
- Basic data holders
- Simple input fields
- Standard notification boxes
- Generic buttons
Just the real basic building blocks. The idea was simple: build these “stones” once, make them solid, and then everyone could just grab them and use them. Save time, keep things consistent. Sounded straightforward enough.
The Process
I gathered up the requirements, or what I thought were the requirements. Talked to a couple of the teams. Got a list of features for each basic “stone”. Then I actually started coding them up. Kept them simple, focused. Made a small library, put it in a shared place.
Then the fun began. As soon as people started using them, the requests came flooding in. “Can this stone also do this slightly different thing?” “What about this edge case?” “My team needs it to look completely different.” The ‘general’ part started to get really stretched thin.
We tried to accommodate. Added more options. Made things configurable. But you know how that goes. Suddenly, these simple stones weren’t so simple anymore. Using one sometimes felt like figuring out a puzzle box, trying to find the right combination of settings to get the basic thing you wanted in the first place.

Where We Landed
So, where did we end up? We have these “general stones”, yeah. They get used. But they’re not the clean, perfect solution I imagined at the start. They’re kinda… lumpy. Each one has its own quirks because it got pulled in different directions.
Different teams use them in slightly different ways. Some have built wrappers around them. Some have just copied the code and modified it because it was easier than wrestling with the configurations. So much for standardization, right?
It’s a classic situation. You try to build something general-purpose, but the real world is specific and messy. You add features, it gets complicated. You try to keep it simple, it doesn’t cover enough ground. Maintaining them now? It’s a job, alright. Updating one thing might have weird side effects somewhere else you didn’t expect.
So yeah, that’s the story of the “general stones”. They exist, they sort of work, but it’s a reminder that building truly reusable, simple components that satisfy everyone is harder than it looks. It’s just the way things often turn out when you’re trying to build foundations while the rest of the house is already going up.