How this Web-Application Works 🌱 Molino⺢Practice · Granada · Spain

Draft

This is a dynamic web content editor solution based on Google Sheet Indexed of One Google Sheet per section and multiple Google Documents per article. It was designed mechanically in stages. As per my first publishing last week, it was slow by design, now it is as fast as it gets, blazing through my default Nextjs choice of architecture, otherwise all else still applies in this update below. Most importantly it was a fun, and very purposeful thought -> Just Do It -> design, conceive, get patterns I needed, tweak them, prompt and re-prompt very granularly per piece to get my desired result and exact pattern. And it is done. Working below

▲ Next.js 16.1.6 (Turbopack)

  • Environments: .env

Creating an optimized production build ...
✓ Compiled successfully in 19.0s
✓ Finished TypeScript in 20.3s
✓ Collecting page data using 7 workers in 943.0ms
✓ Generating static pages using 7 workers (58/58) in 4.3s
✓ Finalizing page optimization in 14.3ms
Route (app)
┌ ƒ /
├ ƒ / v1
├ ƒ /_not-found
├ ƒ /[section]
├ ƒ /[section]/[doc]
├ ƒ /about
├ ƒ /api/[tripId]
├ ƒ /api/admin/users
├ ƒ /api/ai/contexts
├ ƒ /api/ai/personas
├ ƒ /api/assistant/threads
├ ƒ /api/assistant/threads/[threadId]
├ ƒ /api/assistant/threads/[threadId]/messages
├ ƒ /api/auth/[...nextauth]
├ ƒ /api/devprompts
├ ƒ /api/doc
├ ƒ /api/entity-generator
├ ƒ /api/ideas/generate
├ ƒ /api/items
├ ƒ /api/partners
├ ƒ /api/projects
├ ƒ /api/projects/[projectId]
├ ƒ /api/projects/[projectId]/assets
├ ƒ /api/projects/[projectId]/assets/[assetId]
├ ƒ /api/projects/[projectId]/destroy
├ ƒ /api/projects/[projectId]/documents
├ ƒ /api/projects/[projectId]/documents/[docId]
├ ƒ /api/projects/[projectId]/experiences
├ ƒ /api/projects/[projectId]/experiences/[experienceId]
├ ƒ /api/projects/[projectId]/offers
├ ƒ /api/projects/[projectId]/offers/[offerId]
├ ƒ /api/projects/[projectId]/orders
├ ƒ /api/projects/[projectId]/orders/[orderId]
├ ƒ /api/projects/[projectId]/products
├ ƒ /api/projects/[projectId]/products/[productId]
├ ƒ /api/projects/[projectId]/sections
├ ƒ /api/projects/[projectId]/sections/[sectionId]
├ ƒ /api/projects/[projectId]/sections/ensure
├ ƒ /api/projects/[projectId]/trips
├ ƒ /api/projects/[projectId]/trips/[tripId]
├ ƒ /api/projects/trips
├ ƒ /api/projects/trips/[tripId]
├ ƒ /api/projects/trips/[tripId]/posts
├ ƒ /api/sync
├ ƒ /api/trips
├ ƒ /api/trips/[tripId]
├ ƒ /api/user/[...route]
├ ƒ /assets/poster/[assetId]
├ ƒ /assistant
├ ƒ /auth/signin
├ ƒ /authentication/signin
├ ƒ /cards
├ ƒ /cards/[slug]
├ ƒ /cards/entity-generator
├ ƒ /cards/legend
├ ƒ /codebase
├ ƒ /concept-cards
├ ƒ /concept-cards/[id]
├ ƒ /concept-cards/api/qr/[id]
├ ƒ /concept-cards/new
├ ƒ /concept-groups
├ ƒ /concept-groups/[groupId]
├ ƒ /concept-groups/new
├ ƒ /craft
├ ƒ /craft/[id]
├ ƒ /dashboard
├ ƒ /documents
├ ƒ /documents/[docId]
├ ƒ /documents/[docId]/api
├ ƒ /documents/[docId]/browse
├ ƒ /documents/api
├ ƒ /documents/components/[slug]
├ ƒ /features
├ ƒ /home
├ ƒ /home/[id]
├ ƒ /home/skills
├ ƒ /home/skills/[concept]
├ ƒ /legend
├ ƒ /magazine
├ ƒ /pdf copy/api/skill/[slug]
├ ƒ /pdf/api/skill/[slug]
├ ƒ /practice-section
├ ƒ /pricing
├ ƒ /projects
├ ƒ /projects/[projectId]
├ ƒ /projects/[projectId]/assets
├ ƒ /projects/[projectId]/assets/[assetId]
├ ƒ /projects/[projectId]/assets/new
├ ƒ /projects/[projectId]/assistant
├ ƒ /projects/[projectId]/documents
├ ƒ /projects/[projectId]/documents/[docId]
├ ƒ /projects/[projectId]/documents/api
├ ƒ /projects/[projectId]/documents/new
├ ƒ /projects/[projectId]/documents2
├ ƒ /projects/[projectId]/documents2/[docId]
├ ƒ /projects/[projectId]/documents2/[docId]/api
├ ƒ /projects/[projectId]/documents2/new
├ ƒ /projects/[projectId]/experiences/new
├ ƒ /projects/[projectId]/offers
├ ƒ /projects/[projectId]/offers/edit
├ ƒ /projects/[projectId]/offers/new
├ ƒ /projects/[projectId]/orders
├ ƒ /projects/[projectId]/orders/new
├ ƒ /projects/[projectId]/orders/test-order
├ ƒ /projects/[projectId]/posts/new
├ ƒ /projects/[projectId]/products
├ ƒ /projects/[projectId]/products/new
├ ƒ /projects/[projectId]/trips
├ ƒ /projects/[projectId]/trips/new
├ ƒ /projects/featured-trips/new
├ ƒ /session-paths
├ ƒ /session-paths/[pathId]
├ ƒ /session-stacks
├ ƒ /session-stacks/[sessionId]
├ ƒ /session-stacks/api/card-stacks
├ ƒ /session-stacks/new
├ ƒ /sponsor
├ ƒ /sponsor/[weekId]
├ ƒ /sponsor/history
├ ƒ /study-guide
├ ƒ /study-guide/[slug]
├ ƒ /study-guide/legend
├ ƒ /study-guide/mlv
├ ƒ /test-layout
├ ƒ /theme
├ ƒ /theme/posts
├ ƒ /travel
├ ƒ /travel/[id]
├ ƒ /travel/journey
├ ƒ /trips
├ ƒ /trips/[tripId]
└ ƒ /trips/new

npx prisma db seed

Loaded Prisma config from prisma.config.ts.

Running seed command tsx prisma/seed.ts ...

| SEED FILE LOADED 🚀 Starting full database seed… 👤 Ensuring admin/demo user… ↪ Admin user exists ✅ Admin/Demo user: zaruqsummers@gmail.com 🧱 Ensuring base ProductTypes… ↪ Exists: Default ProductType ↪ Exists: regular ↪ Exists: trip ↪ Exists: experience ↪ Exists: generic 🃏 Seeding demo ConceptCard… ✅ Demo ConceptCard seeded: Turn Raw Notes into a Clean PDF 🎓 Seeding demo Skill Session… ✅ Demo Skill Session seeded: Clean PDF Micro-Session 🤖 Seeding AI personas + contexts… ✅ AI personas + contexts seeded. 🌱 Seeding palette and chapters… ↪ Palette exists ↪ Chapter exists: 00-layout ↪ Chapter exists: 01-server-action ↪ Chapter exists: 02-context-provider ↪ Chapter exists: 03-route-handlers ↪ Chapter exists: 04-loading-suspense ↪ Chapter exists: 05-auth-guard ↪ Chapter exists: 06-mutation-optimistic ↪ Chapter exists: 07-client-component ↪ Chapter exists: 08-error-boundary ↪ Chapter exists: 09-metadata-opengraph ↪ Chapter exists: 10-colour-cheat-sheet ✅ Palette + chapters seeded. 🏗 Ensuring demo projects… ↪ Found: Demo Cooperative Project 📦 Seeding resources for project 1 (demo-coop-project)… ↪ Product exists 🧩 Seeding builder sections for project 1… ↪ Found: Andalusian Trips Lab 📦 Seeding resources for project 2 (andalusian-trips-lab)… ↪ Product exists 🧩 Seeding builder sections for project 2… ➕ Created section: hero ➕ Created section: problem 🧱 Creating project: Experiences & Shop Demo ✅ Created: Experiences & Shop Demo 📦 Seeding resources for project 3 (experiences-shop-demo)… 🧩 Seeding builder sections for project 3… ➕ Created section: hero ➕ Created section: problem 🎉 Seed complete. Projects seeded: 1:demo-coop-project, 2:andalusian-trips-lab, 3:experiences-shop-demo 🌱 The seed command has been executed. zaruq@Zaruqs-MacBook-Pro molino-index % npm run molino-index > molino-index@0.1.0 molino-index > tsx scripts/sync-molino-index.ts | | --- |
🚀 Starting Molino Index dynamic sync...

🔎 Resolving Molino Index registry...
📋 Sections resolved: {
dev: '1r2u4LHqeQR0cgftyseexRli68hJO5dpHsiRPjilOGl4',
story: '1zBg3MFDW4wh8JIXOKX1seLemDRqLJkxMYyiLKfr568',
craft: '1eumuIDHjkEb
n6gYyhdQfNe-QzRuVirCK02SFmw1fo8',
practice: '1vBKBz1xOJup8OOtIsGlM6V2ZQBiFXH1j6y4pjQr5xs',
experience: '1HLp6UBhnHO2QFiOXk-KpqoMTE83vNRIajKwW69YgYkY',
travel: '1ipQcIZMyhM6jGNIADQSSF0YmfLX4kM7DDzcp69HazQA',
education: '1aIg8BETewStA
XPlg1glfLCJAtEnYhSi10Ebygnt8M4'
}
✅ dev: 7 ok, 0 failed
✅ story: 4 ok, 0 failed
✅ craft: 2 ok, 0 failed
✅ practice: 3 ok, 0 failed
✅ experience: 7 ok, 0 failed
✅ travel: 3 ok, 0 failed
✅ education: 7 ok, 0 failed
🏁 Molino Index sync complete.
zaruq@Zaruqs-MacBook-Pro molino-index %

The why is self-evident,

these sections and pages now generate from me composing and copying them to a Google Spreadsheet, so I am “re-cycling” the good engineering done on Google Dccs and Google Sheets, to leverage and save myself the time of programming such interfaces, and yet having this web application’s sections, ‘just done’ , like that, it saves me plenty of headaches further down along the line. I will probably be launching this as a downloadable tool, should I get down to adding a resources market place for this application - as scheduled over the next weeks.

How this was conceived and first built

Draft

This is a new and specifically slow by design interface. I just thought of it, built and tested this week - I won’t say in a couple of days -. A real time Google document viewer, deployed as an API, and then rendered through HTML and javascript to my own criteria and specifications. I like it. Love it 💛.

It is slow by design, also self published by design. To me that is trendy and also very practical. That’s why. I removed some friction I felt and fears of ‘the public’ element of sharing work, or words online, live. So this section now publishes documents that I put on a specific Google Sheet, from a sheet named Molino⺢Index This whole simple section, provides a method itself, and some extra motivation to enhance focus on my practice, and it removes my own “fear” in publishing, “impostor syndromes” and what know else.

Here the ‘unit’ is encapsulated into a Google Document, as an enabling surface, container or as a resource and digital asset in itself.

This is a door of open possibilities, a delivery, a resource, a tool or the product itself. These are public, or well, the first tab of each Google doc is published exclusively though this section, nowhere else as a working project document. I will publish them per week, per theme, per area, topic or specific goal.

Each document is the product of a weekly, monthly or seasonal professional practice, and is listed on the index of this public ‘practice’ section, as a world in itself.

From an atomic concept to instanced reiterative patterns. My focus is to echo the living spirit of the Alhambra, waving to the breath of Infinity through my daily practice. My final joy, I hope, may be in harvesting human stories and realities, through the rich tapestry of time.

Friendly notes, articles, topic or theme intros are usually in the first tab of each document.

However the documents aren’t necessarily free, though the first tab of each is. Articulate plans, further resources, guided-steps, blueprints, scripts, prompts, tools, techniques, resources, insights, concepts, values, standards, designs, patterns, themes, and custom project applications happen in tabs beyond the public reach, available on demand as a product or a service. Let me know if you want to dive deeper into any topic here.

Overall though this practice, this website and beyond, I’ll be covering ‘two channels’ in full depth and detail: my tourism brand, vs ‘back-office’ behind the scenes updates.

Each of these channels with their brands Molino⺢Practice, and Al-Andalus Experience’s monthly stories may then showcast different themes, department specifics, features, featured items, highlights, concept sessions, plans, routines, paths, synergies, parallelism thoughts and more.

Concept sessions, tools, practice routines, procedures, workflows, techniques, plans, routines, paths. Of course along with some hobby and creative live-work balance hacks - sometimes eccentricities which I cannot bear but share through the same stream, to the world 👾😂🫰🏼.

I'll be using this document or delivery ‘chapter’ to share some of my writing, adding a bit of motivation and an ounce of pressure for me to keep up a weekly writing routine.

This will be my alternative to becoming a Youtuber, I hope.

My writing here covers different areas and needs, from professional to marketing, brand stories, anything I'm actively working on and topics that more than frequently, tickle my thoughts.

The Practice,

Draft

Story and Experience

I used to travel for experiences and knowledge.

Until I realised the experience of knowledge

is the journey itself.

I work with knowledge, skill and craft as something lived, practiced, and transmitted — living, not stale.

My work brings together cultural journeys, applied concepts, and simple systems that help people understand place, work, and rhythm more clearly.

After more than twenty years across travel, landscapes, logistics, and systems, I now share what works — clearly, quietly, and at human scale.

My craft has unfolded over time, until designed as a stable practice.

Website Theme ‘Pattern’

Draft

This is a new start, it is an outlet of possibilities: layered availability, structured productivity, and above all, methodic closure.

Artist and educator Adam Williamson, a regular collaborator and friend, from a long way back, describes three layers of structure when he is teaching Islamic pattern:

“Within Islamic art, there are three fundamental aspects:

geometry, biomorphic or arabesque form, and calligraphy.”

geometry is the underlying grid,

vegetal form is living variation,

and calligraphy is meaning,

The three elements blend together, into potentially infinite expressions though space. Symbols for the expansion and contraction of the Universe, or Existence itself, which are preserved through time for us to delight upon through this unique form of art.

Beyond the harmonizing architecture of the Alhambra, I’ve organised and displayed my regular work areas into a rotating, creative and marketing weekly practice, inspired by these three levels of “abstraction”

The three elements provide a unified order to my professional practice, that helps to keep me sane, active and inspired, while opening a door for others to work and grow professionally with me.

I’m Z,

Draft

a native English speaker raised in Spain,

with 15+ years in cultural tourism and my brand Al-Andalus Experience. This journey gave me a keen ear for narrative language and bilingual writing with cultural depth.

My approach starts with writing: brand stories, thematic guides, and articles that form the base of campaigns. Then it extends into guidance on choosing and optimizing your communication channels: from newsletters and social to sales funnels. I use both self-built Google Sheets/Docs + Apps Script tools and no-code automation so your content flows in weekly automated routines.

My path blends cultural tourism and technology, from storytelling to automation in Google Apps Script, NestJS, and beyond.

Soy Z,

Draft

inglés nativo criado en España, con más de 15 años en turismo cultural y mi marca Al-Andalus Experience.

Esa trayectoria me dio un oído especial para el lenguaje narrativo y la escritura bilingüe con contexto cultural.

Mi enfoque empieza con escribir: historias de marca, guías temáticas y artículos que dan base a campañas. Y continúa con acompañamiento para elegir o afinar tus canales de comunicación: desde newsletters y redes hasta embudos de venta. Uso tanto herramientas propias en Google Sheets/Docs + Apps Script como soluciones no-code para que tu contenido fluya en rutinas semanales y automatizadas.

Mi camino une mercado, cultura y tecnología, desde storytelling hasta automatización en Google Apps Script, NestJS y más.

Opciones de Colaboración

Draft

Sesiones de diagnóstico, proyectos guiados o acompañamiento técnico para que tus contenidos y procesos se mantengan vivos y eficientes.

🧭 Sesión de Diagnóstico

1:1 para mapear tus flujos actuales y definir puntos críticos de comunicación y procesos.

⚙️ Proyecto Guiado

Desarrollo conjunto de un sistema: desde plantillas y dashboards hasta automatizaciones personalizadas.

🤝 Acompañamiento

Retainer mensual: mejoras, iteraciones y soporte a medida. Comunicación directa y continua.

✍️ Servicios Directos

Redacción, campañas, automatizaciones a medida. Lo que necesitas hoy, entregado sin rodeos.

🎯 Coaching & Formación

Sesiones semanales o mensuales para ti o tu equipo. Aprende a usar y mejorar tus propios flujos digitales.

This is a simple HTML website I built and wrote in just under three weeks now.

Draft

I will use it for publishing some live writing directly from Google Docs, and as a parallel Spreadsheet based booking form to offer my own services and availability, to the modern world.

It is part of a local marketing experiment with specific goals, to offer my own professional services and channels of interaction and communication, to locals in person in Granada, Spain, then to the world, online or by arranging a meeting or trip here.

Half of those three weeks was actually writing the content in the main sections. The hardest was to more or less organise and classify the possibilities of my own professional experience, and weekly routines, my practice to the world. And I didn’t go about it “the easy way” either. Each piece I built with full intent, while inspiring by the order found in, the decorations of the Alhambra themselves.

And here it is, as a public, though slightly ‘hidden’ domain, for poster, postcard, or manual sharing, one person and section at a time. There are now two Google Documents feeding this section, and I desisted on investing more time on getting images into this specific Document to HTML rendering solution, because my goal was to just be able to write and publish, then re-read from a public context, and if it passes, then move the content further to social media or ‘campaigns’.

The result → https://alandalus-experience.com/qr

🌐
alandalus-experience.com
https://alandalus-experience.com/qr

PROJECT INQUIRY

Start a Conversation

Córdoba to Granada cultural journey landscape
One-to-One Practical Initiations · City-aware Tourism & Business Communication · Human-first Systems · Built to Sustain