Saltar al contenido

Proyecto personal

Aaronmgz

Built a growing family web platform with a nautical personal site, public message board, baby-shower experience, admin tools, and a shared Cloudflare API.

Rol
Creator
Trayectoria
- Present
Duración
6 mo
En esta página 1 sección

Project notes

Active project

Building a family platform that can grow

Estimated reading time
About 3 minutes
In this project story
6 sections

I built Aaronmgz as a personal corner of the web for my son, Aaron. It began with a nautical website and grew into a monorepo that supports a public message board, a baby-shower invitation experience, an admin panel, and the API behind them.

The important architectural decision was to treat those experiences as one product family. They share a domain, visual language, data contracts, localization, and release process while keeping each application focused on its own audience.

Goals

  • Create something durable that can evolve from a family milestone into Aaron’s long-term home on the web.

  • Keep public and private surfaces distinct while sharing the contracts and infrastructure that should stay consistent.

  • Make family content approachable in English and Spanish without maintaining two separate products.

  • Ship with real safeguards around database migrations, authentication, accessibility, SEO, and deployment.

What I built

  • An Astro personal site

    with a nautical identity, static delivery, shared content, and the public “Para Aaron” message experience.

  • A Next.js baby-shower application

    for invitations, RSVPs, gifts, and guest dashboards.

  • A separate admin surface

    for managing the event and the content behind it.

  • A Hono API on Cloudflare Workers

    with D1 storage, Drizzle schemas, validation, sessions, and typed contracts.

  • Shared workspace packages

    for API types, database helpers, content, localization, media, message models, and UI.

Technical highlights

Front ends

Astro 6, Next.js 16, React 19, Tailwind CSS v4, and progressive islands where the static site needs interaction.

Backend

Hono, Cloudflare Workers, Cloudflare D1, Drizzle ORM, and Zod.

Delivery

Turborepo, pnpm workspaces, OpenNext, migration checks, schema-drift checks, smoke tests, accessibility tests, and end-to-end coverage.

Shared product language

typed content and localization packages keep the family of apps aligned without copying records between them.

Results

  • One coherent domain
    for the public site, event application, messages, administration, and API.
  • A reusable foundation
    that can add new chapters without rebuilding identity, content, or infrastructure each time.
  • A project with personal meaning
    that still receives the same architectural care as a commercial platform.

Why it matters

The best personal projects are not always small.

Sometimes the emotional reason to build something is exactly what makes it worth designing for the long term.

That family story also led to Between Contractions, a calm, privacy-first timer I built while Alejandra and I prepared for Aarón’s arrival. Aaronmgz holds the story of waiting for him; Between Contractions supports one practical part of the journey.

De este proyecto

Dentro del trabajo.

Product story

Building Aaronmgz as a family platform

How a nautical personal site became a shared family platform for messages, invitations, administration, and a long-lived digital home.

Leer artículo

Comparte este artículo

Compártelo.

Creator

Between Contractions

Built a calm, privacy-first contraction timer for the web, iOS, Android, watches, widgets, and optional real-time partner coordination.

Leer el caso de estudio

Creator

eslint-config-basic

Built a DX-first ESLint toolkit for JavaScript and TypeScript teams that want stronger defaults, less setup friction, and cleaner reviews.

Leer el caso de estudio