The story

About

Why Midnight Owl UI exists, what its name means, where it's headed, and who is building it.

Why this exists

Every project I have shipped began the same way: a folder of base components rebuilt from scratch. The real problem was never building them — it was keeping them in sync once the same Button or Modal existed across five different repositories. A fix made in one project rarely made its way back into the others.

I had relied on ready-made UI packages before, but the moment a project needed something the library did not offer — or needed a prop extended rather than worked around — I found myself fighting the dependency instead of building with it.

Midnight Owl UI is the resolution to that problem: one repository, one source of truth, for every component I have learned to need across small and large projects, from the most basic building block to the more advanced ones. Improving it once means every project that follows starts further ahead.

Why "Midnight Owl"?

The name draws directly from how I work. An owl is a nocturnal hunter: most active once the rest of the world has gone quiet, relying on sharp night vision and near-silent flight to notice what a daytime hunter would miss. I write code the same way — my most productive hours begin at midnight, after the noise of the day has settled, and that quiet is where I do my clearest thinking.

The parallel goes further than the schedule. An owl hunts silently and deliberately: it observes before it moves, and strikes only once it is certain. Fixing a bug or shaping a component's API works the same way for me — patient observation of the problem, followed by a deliberate, considered solution, rather than a rushed guess. And where an owl's night vision picks up movement invisible to others, working late and undistracted is when I notice the small inconsistencies — an edge case, a prop that does not quite fit, a subtle visual bug — that are easy to miss in a busier, faster-paced day.

Across many cultures, the owl is also a symbol of wisdom, which fits: Midnight Owl UI is, in many ways, a running record of everything I have learned building interfaces, carried forward into every next project instead of relearned from zero each time.

Vision, mission & goals

Vision

To be the single, self-owned foundation behind every interface I build — a library complete and dependable enough that reaching for a third-party UI kit is no longer necessary.

Mission

To design, build, and continuously refine one extensible Vue 3 component library that carries every lesson learned on one project into the next, instead of being rebuilt from scratch each time.

Goals

  • Cover the full range of interface needs, from the most basic building block to the more advanced, in one place.
  • Keep every component fully typed, accessible, and themeable through a single design-token system.
  • Maintain genuine dual compatibility — a plain Vue 3 + Vite app and a Nuxt 4 (SSR) app — from one shared source.
  • Grow deliberately: add a component or composable only when a real project needs it, never speculatively.

About the developer

I am Chrisjelo B. Vega, a Filipino developer. My journey began in 2019 as freelance developer, building capstone and thesis systems for BSIT and Computer Science students — leaning on ready-made themes, jQuery, and AJAX, with Bootstrap, the dominant CSS framework of that era, on the front end and vanilla PHP on the back end. In 2023, I was hired as a full-time web developer, with most of my prior experience concentrated on the backend. As the projects and the team's requirements grew, the role increasingly called for someone who could own both ends of the stack — and that need is what pushed my front-end skills to grow in earnest.

Midnight Owl UI is where that experience is kept: every base component I have needed across freelance and production work, refined a little further with each project that uses it.

Back to the introduction