Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Emmanuel-Mtz-777/My-Personal-Portfolio/llms.txt

Use this file to discover all available pages before exploring further.

The Work Experience section chronicles Emmanuel’s two professional positions, presented as a chronological timeline of cards. Each entry captures the job title, employing organisation, contract duration, and a detailed responsibility list drawn directly from the English/Spanish content files. The section is intentionally data-driven: adding a new role only requires a new object in en.json — no markup changes needed.

Data source

Experience content lives under the experience.items array in src/langs/en.json. At runtime, src/components/sections/Experience.astro resolves the active locale, selects the correct translation object, and maps each item to an ExperienceCard:
// src/components/sections/Experience.astro (frontmatter)
const lang = Astro.currentLocale || "es";
const t    = lang === "es" ? es : en;
const experiences = t.experience.items || [];

Component files

  • Section: src/components/sections/Experience.astro
  • Card: src/components/ui/cards/ExperienceCard.astro
ExperienceCard receives a single exp prop and renders the position as an h3, the company and duration as styled paragraphs, and the description array as an unordered list. Both components apply the shared card and scrollCard CSS classes from src/styles/cards.css and src/styles/scroll.css to produce the glass-style card appearance and scroll-triggered entrance animation.

Job entries

  • Developed and maintained cross-platform mobile applications using React Native for administrative systems.
  • Implemented intuitive, accessible, and user-centered interfaces.
  • Integrated native mobile features such as camera access within applications.
  • Consumed and integrated REST APIs, handling state management, error control, and data synchronisation.
  • Built reusable logic through custom hooks and modular components.
  • Maintained existing codebases and implemented new features.
  • Collaborated with development teams following agile methodologies and Git-based workflows.
  • Developed an IoT smart home prototype focused on accessibility for people with hearing impairments.
  • Configured and managed Linux services on Raspberry Pi devices for automation and testing environments.
  • Automated processes and device communication using JavaScript.
  • Integrated hardware and software components for real-time monitoring and control.
  • Applied fuzzy logic techniques for adaptive automation and decision-making.

JSON structure reference

The raw shape of each experience item in en.json is:
// src/langs/en.json — experience.items[n]
{
  "position":    "Mobile Frontend Developer",
  "company":     "Swopyn Business Software Solutions",
  "duration":    "January 2025 - February 2026",
  "description": [
    "Developed and maintained cross-platform mobile applications using React Native for administrative systems.",
    "..."
  ]
}
To add a third experience entry, append a new object to experience.items in both en.json and es.json. The Experience.astro section renders the array with .map(), so the new card will appear automatically without any template changes.

Build docs developers (and LLMs) love