Component-Driven Frontend
Doris Infotech

When every page owns its own button, spacing, and card, the frontend becomes a museum of almost-the-same. New work takes longer because nothing plugs in. Bugs hide in the copy that nobody remembered to update.
Component-driven frontend development starts from the smallest useful unit and composes upward: token, primitive, pattern, page. React is built for that model. The discipline is in the API of each piece - what it accepts, what it never does, and where it is allowed to live.
This is how Doris Infotech keeps marketing pages, admin tools, and product UI in one codebase without them collapsing into a single unreadable file.
Name components after the job they do
SectionHeading, BlogCard, and LinkButton tell the next engineer what to import. Box2 and WrapperFinal do not. If two components do the same job, merge them. If one component does three jobs, split it. Naming is architecture people can search.
Props should describe intent, not CSS leftovers
A card that takes twenty className overrides is not reusable. It is a dump. Prefer variants: size, tone, whether it has a media block. Leave an escape hatch for layout only when the design system cannot cover the case yet. Tight props keep the look consistent without a meeting every time.
Compose pages. Do not fork them.
A blogs listing and a blog detail should share chrome and article primitives. Forking a page to tweak one margin creates two products. Compose: layout + heading + media + body. When the brand underline changes, you change it in one heading component.
Client islands stay small
Tabs, dropdowns, and forms need state. The article body does not. Keep interactivity at the edge of the tree so the rest can render as simple markup. A component-driven app that marks everything use client is a SPA in disguise - with none of the old SPA’s excuses.
Document the kit where people build
A Storybook or a simple gallery page beats a slide deck. Show default, hover, disabled, and a narrow-phone example. When a designer or developer can see the allowed patterns, they stop inventing new ones. The kit only works if it is easier to reuse than to redraw.


