Hi, I'm
Luis Miguel García Marín
Software Engineer, AI Engineer, Full-Stack Developer, Computer Vision tinkerer
I build production software with AI at its core — LLM and generative-AI integrations for enterprise clients, computer-vision systems, and the full-stack web and mobile apps around them.
Málaga, Spain
AI assistant
Curious about something? Just ask.
My AI version knows my experience, projects and skills, answers in your language and takes you to the right page.
4+
years building software
6
projects showcased
18
courses with highest distinction
7
certifications
Experience
From computer vision to generative AI
4+ years shipping AI-powered products, from an internship in Germany to enterprise generative-AI projects in Spain.
🏆3rd prize – Hackathon Data Challenge
Polo Digital de Málaga · IAT Metaverso (EDINT · FEMP & Ayuntamiento de Málaga)
Software Engineer · JCode Technologies
Apr 2025 – Present · 1 year, 7 months
Málaga, SpainRemoteCurrent
Full-stack architecture and generative-AI systems for enterprise clients in insurance, real estate, fintech, leisure, fashion and entertainment.
Software Engineer · EDAG Group
Dec 2023 – Dec 2024 · 1 year, 1 month
Fulda, GermanyHybrid
Full-stack development, testing and DevOps for internal tools and critical industrial systems in an international engineering company.
Software Engineer Intern · EDAG Group
Sep 2022 – Dec 2023 · 1 year, 4 months
Fulda, GermanyOn-siteInternship
Computer vision and IoT for smart-city and smart-parking use cases.
Projects
Selected work
- Python
- TypeScript
- OpenAI
- LangChain
- TensorFlow
- PyTorch
- Keras
- OpenCV
- React
- Next.js
- Angular
- Flutter
- Tailwind CSS
- FastAPI
- Flask
- Spring Boot
- Java
- PostgreSQL
- Docker
- AWS
- Azure DevOps
- Vercel
- Unity
Under the hood
How the assistant works
A small, production-minded LLM app. The full write-up, with architecture decisions, is in the repository.
One source of truth
All content lives in typed TypeScript files, in three languages. The same data renders these pages and becomes the assistant's knowledge, so they can never drift apart.
Grounded long-context answers
The whole knowledge base fits in the model's context window, so instead of a vector-database RAG pipeline the model sees everything — simpler and more accurate.
Prompt caching
The large, static part of the prompt comes first, so the provider caches it: follow-up questions reuse it at a fraction of the cost and start answering faster.
Tool calling & generative UI
The model can call typed tools to show project or contact cards, rendered as React components in the chat while the answer streams in.
Guardrails
Input validation, a sliding history window, per-IP and global rate limits, output caps and a hardened system prompt keep it safe and cheap to run.
Evaluated, not vibes
An eval suite checks factual accuracy, language matching, tool usage and prompt-injection resistance before changes ship.


