Marcos Ramírez

Marcos Ramírez

Elevalia

About me

I’m a web developer and a builder of AI-powered solutions. I design and build websites, platforms you can manage yourself and digital products that combine strategy, technology and user experience. I have shipped projects with databases, admin panels, automations, booking engines, payments and tools that solve real problems for companies and their users.

Book a call

30 minutes to go over your project. Prefer not to book a slot? Message me on WhatsApp and we will talk there.

Résumé

More about my experience, education and projects.

Portfolio

Every site and system in this portfolio is built and operated with our own AI agents: they research, write the code, run the tests and publish new content every week. Today that is 16 live sites. SEO work runs on real Search Console data, not promises about rankings.

This site itself: nine services, six digital products that run inside the browser, and a panel to manage everything.

  • Admin panel in PHP and MySQL: service and product catalog, clients and their access, blog posts and channel scripts
  • Six products that run inside the site (DeskFlow, MiniLab, Social Master Kit, Unfollow Detective, AI Suite and the Bundle), with access validated on the server against the buyer's email
  • Ten PHP endpoints with prepared statements and no credentials exposed to the browser
  • 46 prerendered pages built with Puppeteer: every route ships as finished HTML, with its own schema and canonical tag
  • 52 contract tests that run before every release: if a rule breaks, the release does not go out
  • Two automated weekly routines that write, validate and publish the blog posts and the channel scripts
Visit the site

Collectibles store (Pokémon TCG, Topps, Funko) that runs live auctions, plus its own arcade of vending machines where every pull delivers a real product.

  • Server-side economy engine: it computes each machine's expected value against the real cost of inventory and takes it out of service if the margin drops below the minimum
  • Auditable outcome: the seed is published as a hash before you play, every pull comes from an HMAC-SHA256, and a public page lets anyone verify it
  • 23 MySQL tables with foreign keys, unique indexes that keep the same pull from being recorded twice, and money stored as decimal, never as a float
  • Admin panel with eleven sections, hashed-password login, a per-IP attempt limit and an audit log of every action
  • 3D arcade room in Three.js with six different mechanics: packs, roulette, dice, streak, claw and scratch card
  • Full player progression: levels, achievements, cosmetics, login streaks and a collection log
  • Activities synced with the live broadcast: trivia, polls and collective goals
  • More than 12,000 hand-written lines of PHP and JavaScript, no framework
Visit the site

Habits, journaling and meditation app. The application is in development; the site is its public presence and its waiting list.

  • Its own PHP backend instead of connecting the browser straight to the database: before, the credential traveled inside the JavaScript and anyone could read it
  • API with typed responses and a same-origin cookie session, so the browser never sees a key
  • Admin panel for the site content
  • Waiting-list capture, so the launch starts with people already interested
  • Its own terms and privacy notice, not copied templates
Visit the site

Developer of vertical projects in Guadalajara and Zapopan, with 34 years in business and 52 projects delivered.

  • Admin panel with login: dashboard, lead CRM by stage, project catalog and client directory
  • Eight database tables: projects, services, leads, blog, learning resources, intranet documents, email templates and site settings
  • Client intranet with documents, with its own login separate from the admin panel
  • Interest form that classifies each lead and drops it into the CRM, ready to work
  • Animation with GSAP and Framer Motion, smooth scrolling with Lenis
  • Every route ships as finished HTML, prerendered with Puppeteer
  • Its own test suite covering the form, blog, logins, layout and links
Visit the site

Public relations, communication and strategic marketing agency in Guadalajara.

  • Every route exists as its own HTML, generated with vite-react-ssg: it is not an app the browser has to assemble before showing anything
  • Navigation with React Router and smooth scrolling with Lenis
  • Specialty pages on a shared template, so adding a service does not duplicate code
  • Direct contact by email and WhatsApp, with no form in between and no database to maintain
Visit the site

Lightweight cellular concrete block for partition walls: seven thicknesses, delivered on a pallet.

  • Quote tool with its own endpoint that revalidates everything server-side: nothing the browser sends is taken at face value
  • Form defenses: honeypot field, minimum fill time, a cap of five submissions per IP every fifteen minutes, Turnstile verification and size limits on attachments
  • Every request gets a reference number and is stored even if the email fails, so none is lost silently
  • PHP and MySQL panel to edit variants and the datasheet, with a change history and a login attempt limit
  • Built with Astro: static HTML per route and a generated sitemap
  • Its own technical content: specifications, comparisons, installation, FAQ and blog
Visit the site

A 20-home development in Zapotiltic, Jalisco, with upfront pricing and clear financing plans.

  • All the development data in a single configuration file: price, models and contact change in one place
  • Models, gallery, carousel and location sections built as reusable components
  • Direct contact on WhatsApp, with no form and no database: a home sells in a conversation, not over email
  • A single page with no router: it loads once and navigates by anchor links
Visit the site

Furnished one- and two-bedroom apartments in Puerto Vallarta, adults only, with a rooftop and jacuzzi.

  • Its own booking engine on a database: apartments, reservations and blocked dates, so two stays never overlap
  • Online payment with Stripe, with a confirmation screen while the payment is verified
  • Admin panel with password login, a failed-attempt limit and password change
  • Booking lookup for guests, no account needed
  • Five automated emails with Resend: guest confirmation, owner notice, failed payment, arrival reminder and post-checkout follow-up
  • The only bilingual site in the portfolio: booking works the same in Spanish and in English
Visit the site

Strategic brand direction consultancy: branding, visual identity and art direction.

  • Admin panel with password login to update content without touching code
  • Its own database that records every request, instead of a form that only sends an email
  • A custom quoting flow instead of a generic contact form
Visit the site

Clinical laboratory with six branches in southern Jalisco and more than 40 years of service.

  • Structured data for Google: the lab as MedicalBusiness, each of the six branches as MedicalClinic with its phone, address and hours, eight tests as MedicalTest and an FAQ
  • Test catalog with filters by life stage and by category: the patient finds the test without calling
  • Branch finder by postal code that works with no server, with direct WhatsApp to each branch
  • Security headers on the server: HSTS, protection against framing and against spoofed file types
  • Privacy notice, terms and conditions and its own 404 page
  • Static site with no database: nothing to patch or attack on the server side
Visit the site

Collections platform that prepares the firm's monthly billing notices and leaves them ready for human review before they go out.

  • Supabase database with 14 tables, 10 enum types and 7 functions, all with row-level security
  • Three roles with different scope (administration, management and partner) enforced in SQL, not on screen
  • 17 working pages: dashboard, clients, collections plan, charge notes, payments, time billed, rate table and reports
  • The original Excel color code, kept as is in the interface, so the team reads the status of every charge at a glance
  • Fixed business rules: the platform never executes a bank transaction and no collections text is written by an AI
  • Automated Playwright tests: a walk through all 17 pages, 22 business flows, per-role scope and broken links

School website with editable news, an admissions path and a panel where the school team publishes posts and receives requests.

  • Next.js site with static export: every page ships as finished HTML
  • Its own PHP backend with PDO, no frameworks and no Composer, because the host only runs PHP
  • Nine endpoints (three public, six for the panel) with prepared statements
  • Vite admin panel with session login: create, edit, publish and delete news posts, and review incoming requests
  • Three MySQL tables (news, requests and users); each post slug is generated automatically and never repeats
  • Email alert for every request through Resend, with no libraries, and the admin password stored as a hash

Website for a Guadalajara firm specializing in arbitration, mediation, conciliation and negotiation.

  • React, TypeScript and Vite app with client-side routing: home, services, about, team, contact, privacy notice, terms and a 404 page
  • LegalService structured data with address, hours and a four-service catalog, plus hreflang for Mexico
  • An llms.txt file and a sitemap so search engines and AI assistants can read the site
  • Google Analytics 4 measurement in Consent Mode v2 with its own cookie notice
  • Server cache rules: HTML always fresh, CSS, JS and images cached for a year, and an HSTS header on
  • Mandatory typecheck before every build, and a source that reproduces what is published

One-page site for a container-based construction firm in Jalisco, with a project gallery and direct contact through WhatsApp.

  • Gallery of 21 projects in three categories (residential, institutional and commercial) with 323 photographs
  • Its own script that reads the client's photo order and generates WebP at 1600 px and thumbnails at 800 px, along with the data file
  • Full-screen viewer with keyboard navigation and lazy-loaded images
  • Light and dark mode that follows the system preference and remembers the visitor's choice
  • LocalBusiness and FAQPage structured data, es-MX hreflang, llms.txt and a sitemap
  • Privacy notice, cookie policy and terms, with Google Analytics 4 measurement behind consent

One-page site, in English, for a leadership and business transformation consultant who serves growth-stage companies in the United States.

  • Nine content sections on a single page, from the hero to the final call, with the whole site in English
  • Automatic Playwright prerender on every build: the published HTML already carries the content, no manual steps
  • Animation with Framer Motion and GSAP, smooth scrolling with Lenis and support for the reduced-motion preference
  • Light and dark mode applied before first paint, so the page never flickers on load
  • ProfessionalService and FAQPage structured data, plus privacy policy, cookie policy and terms
  • Every contact button opens a pre-written email, approved by the client

Website for a Guadalajara law firm and mediation center, built to generate inquiries through the form and WhatsApp.

  • Hand-written static site in HTML, CSS and JavaScript, with no build dependencies
  • Seven sections on the home page: home, about, practice areas, mediation, team, testimonials and news, plus contact and a final call
  • LegalService structured data and Open Graph metadata
  • Form with per-field validation, accessible messages and a honeypot field against bots
  • Accessibility: skip-to-content link, keyboard navigation, ARIA labels and support for the reduced-motion preference
  • Privacy notice, cookie policy, terms and server security headers (HSTS and X-Frame-Options)

University projects

Prototypes I built during my degree at ITESO, Bachelor’s degree in Digital Business and Markets. They are not live products: they are complete exercises in concept, design and development.

Platform that analyzes a garment with artificial intelligence, from the product link or a photo of its label.

  • Evaluates a garment's materials and gives it a quality score from 1 to 100
  • Premium feature with a personalized avatar and a virtual try-on of the garment
  • Size recommendation based on the person's weight and height
Visit the site

Safety app for young people, students and tourists in Mexico.

  • Tool that tells whether a news story is real or fake
  • Heat maps of risk areas in Guadalajara, Monterrey and Mexico City, updated with government data and statistics
  • Analysis of origin, destination and means of transport to score the safety level and recommend the safest route
Visit the site