Eduardo Morillo

Eduardo Morillo

Software Engineer

Leading the technical direction behind Blueamber and Maverrick across web, product, and infrastructure systems.


Architecture

How I think about systems, platforms, and delivery

This page explains the architectural lens behind my work across Blueamber and Maverrick. It is less about naming technologies and more about how I structure stacks, shared platform layers, and delivery workflows so both projects can evolve without losing technical coherence.

Architecture themes

6

Primary concern

Maintainable product systems

Platform bias

Shared layers with clear boundaries

Delivery goal

Faster shipping with better defaults

Monorepo architecture

I use a monorepo when multiple product surfaces clearly benefit from shared libraries, shared tooling, and a common delivery model. The architecture is only useful if boundaries stay clear and each app can still evolve with purpose.

  • Keep app-specific concerns inside the app and move true cross-cutting logic into shared libraries.
  • Use the workspace structure to reinforce consistency in build, dependency, and delivery workflows.
  • Design for reuse, but only where reuse reduces real friction for future work.

Shared UI and design systems

A design system should accelerate product delivery, not slow it down. I treat shared UI as an engineering asset that standardizes decisions around structure, interaction, theming, and composition.

  • Shared components should solve repeated product needs, not abstract everything prematurely.
  • Shells, navigation patterns, and layout primitives are part of the platform story, not just visual polish.
  • Consistency matters most where users and engineers both feel repetition: forms, navigation, content blocks, and controls.

SEO and metadata systems

Metadata and search presentation should be handled systematically when multiple sites or app surfaces are involved. I prefer reusable metadata helpers and site-config patterns over one-off page-by-page handling.

  • Create shared metadata utilities so each page starts from a strong default.
  • Keep titles, descriptions, and site-level positioning aligned with the actual purpose of each surface.
  • Treat SEO as part of platform quality, especially in content-heavy product environments.

Auth and analytics layers

Auth and analytics are foundational product concerns, so I prefer integrating them at the application shell and provider level. That keeps instrumentation and identity behavior consistent as new features or surfaces are added.

  • Shared providers reduce repeated wiring across apps.
  • Instrumentation should be added where product behavior can actually be compared and understood.
  • Authentication integration works best when it is treated as a system boundary, not as isolated page logic.

Deployment patterns

I prefer deployment patterns that are understandable, repeatable, and aligned with how the product is actually maintained. Shipping should not depend on scattered operational knowledge.

  • Use clear environment conventions so local and hosted behavior stay aligned.
  • Keep build and deployment workflows close to the platform model used by the apps.
  • Reduce manual deployment variance whenever the same product family is growing across multiple surfaces.

Infrastructure configuration

Infrastructure configuration should support delivery decisions, not just resource provisioning. I think about it as an operating layer that keeps cloud setup, deployment behavior, and product rollout in sync.

  • Prefer repeatable infrastructure definitions over environment-by-environment improvisation.
  • Use configuration intentionally so deployments are easier to reason about and evolve.
  • Design infrastructure workflows to serve product teams, not just infrastructure diagrams.