Overview
Technical skills
Timeline
Roles

Overview

Desktop application developer (early-career) focused on end-to-end inventory, invoicing and dairy farm management GUIs with local data analysis as the core strength. The strongest proven skill is building user-facing Tkinter apps with JSON/SQLite persistence and pandas-based reporting as shown in InventoryApp and farm_get_complete_dataframe in gestor_finca_inventario.py/vaca 2.py. There is little or no evidence of automated tests, deployment/packaging, CI/CD or mature ML/experiment engineering practices in public code.
Phone

Technical skills

Languages
8
C#
Kotlin
JavaScript
Java
Python
SQL
PowerShell
PHP
AI/ML
3
Pandas
NumPy
Scikit-learn
DevOps
6
Git
Rest API
Azure
GitHub
Linux
Windows
Other
9
ASP.NET Core
Matplotlib
MySQL
SQLite
Bootstrap
Tkinter
Active Directory
Windows Server
MVC

Timeline

Universidad San Marcos
Associate's Degree • Ingeniería de Sistemas informáticos
2023–2026 San José, Costa Rica
Universidad de San José
Bachelor's Degree • Derecho
2020–2021 San José, Costa Rica
Universidad San Judas Tadeo
Bachelor's Degree • Journalism
2014 San José, Costa Rica
Middle AI/ML Engineer Confidence: Medium Generalist
Desktop application developer (early-career) focused on end-to-end inventory, invoicing and dairy farm management GUIs with local data analysis as the core strength. The strongest proven skill is building user-facing Tkinter apps with JSON/SQLite persistence and pandas-based reporting as shown in InventoryApp and farm_get_complete_dataframe in gestor_finca_inventario.py/vaca 2.py. There is little or no evidence of automated tests, deployment/packaging, CI/CD or mature ML/experiment engineering practices in public code.
Model Architecture & Training
1/10
How well models are designed and trained
Very limited ML usage: a single sklearn LinearRegression call for a one-off projection without training loop, validation, or custom architecture.
Data Pipeline & Feature Engineering
3/10
How data is prepared for models
Basic data engineering for an application: JSON persistence, SQLite usage and pandas transforms to compute derived columns for reporting; suitable for app-level analytics but not a production data pipeline.
Experimentation & Evaluation
1/10
How results are measured and tested
Minimal experimentation and evaluation: a simple projection is produced but there is no holdout, metrics, experiment tracking or reproducibility scaffolding.
MLOps & Deployment
How models are shipped to production
Not evidenced in public code
Computational Efficiency
How efficiently computing resources are used
Not evidenced in public code
Research Depth & Innovation
Depth of research and new ideas
Not evidenced in public code
Expertise
Smart Agriculture & AgTech• Middle
Industries
Commerce• Middle
Farming & Agriculture• Middle
Technologies
MySQL
Python• mentioned only
Tkinter• mentioned only
Recommendations
  • Develop small-to-medium desktop or internal business applications that require inventory, invoicing and reporting functionality using Tkinter, SQLite and pandas.
  • Add automated tests, input validation, and CI/CD to improve maintainability and enable safer refactors and releases.
  • Package the application (standalone executables) and create simple install/run instructions to broaden deployment options for non-technical users.
  • If pursuing analytics, build simple evaluation/validation for projections and adopt experiment tracking or reproducible notebooks before expanding ML features.
Repositories
The developer's experience in this domain has been verified based on AI analysis of the following repositories:
Middle Data Scientist Confidence: Medium Analyst
Desktop application developer at an early-to-mid level specializing in small-business inventory and dairy-farm management GUIs. The strongest proven skill is building end-to-end Tkinter desktop apps that integrate JSON/SQLite persistence and pandas-based reporting, as implemented in InventoryApp and the farm management functions in gestor_finca_inventario.py/vaca 2.py. There is limited evidence of formal testing, production-grade scalability, advanced statistical rigor or MLOps and reproducibility practices.
Statistical Rigor
2/10
Correct use of statistics
Basic predictive usage without statistical rigor; a single LinearRegression is used with no validation, uncertainty quantification or assumption checks.
Evidence
facturacion_lacteos_del_campo.py/proyecto9.py: proyeccion() uses sklearn.linear_model.LinearRegression without cross-validation or error/uncertainty reporting
Data Wrangling & Cleaning
5/10
Preparing and cleaning data
Practical data wrangling and persistence for small to medium data: JSON and SQLite persistence, defensive JSON/parse handling, and Pandas transformations to produce reporting tables.
Evidence
gestor_finca_inventario.py/vaca 2.py: farm_get_complete_dataframe() builds a DataFrame from SQLite rows and applies calculated columns
gestor_finca_inventario.py/vaca 2.py: load_data() / save_data() with JSON error handling and initialization
facturacion_lacteos_del_campo.py/proyecto9.py: cargar_datos() / guardar_datos() implement on-disk JSON inventory and invoice persistence
Exploratory Analysis & Visualization
4/10
Exploring and visualizing data
Useful visualizations integrated into the GUI (Matplotlib pie and bar charts) but largely exploratory with limited written interpretation embedded in the UI.
Evidence
gestor_finca_inventario.py/vaca 2.py: farm_generate_group_chart() renders Matplotlib pie charts within Tkinter
facturacion_lacteos_del_campo.py/proyecto9.py: grafico() produces a bar chart of sales by product
Predictive Modeling
2/10
Building models that predict
Minimal predictive modelling capability; a single-step linear regression forecast is implemented but lacks baseline comparisons, validation, feature engineering or error analysis.
Evidence
facturacion_lacteos_del_campo.py/proyecto9.py: proyeccion() fits LinearRegression on a simple time index and forecasts a single future point
Business Insight & Impact
3/10
Turning analysis into business value
Clear business-focus in functionality - invoices, stock checks, alerts and exports - but little evidence of cost/ROI analysis, error-cost reasoning or prioritized business metrics.
Evidence
gestor_finca_inventario.py/vaca 2.py: generate_invoice_gui() enforces stock checks and updates inventory when generating invoices
facturacion_lacteos_del_campo.py/proyecto9.py: generar_factura() performs inventory deduction and builds invoice records
Reproducibility & Notebook Hygiene
2/10
Clean, repeatable analysis
Code is organized into classes and has an application entrypoint, but there is no environment pinning, tests, data versioning or reproducibility tooling evident.
Evidence
gestor_finca_inventario.py/vaca 2.py: InventoryApp class and if __name__ == '__main__' entrypoint
facturacion_lacteos_del_campo.py/proyecto9.py: script-level creation of Tk root and mainloop as application entry
Industries
Farming & Agriculture• Middle
Technologies
Scikit-learn
Matplotlib
Pandas
NumPy
SQLite
Python• mentioned only
Tkinter• mentioned only
Recommendations
  • Develop and extend small-business desktop inventory and billing systems that need local JSON/SQLite persistence, Excel/PDF export and basic plotting.
  • Build farm management or niche agricultural tooling that combines domain rules with lightweight analytics and GUI-based reporting.
  • Prototype simple sales-dashboard and short-horizon forecasting tools for SMEs that later can be productionized with tests and validation pipelines.
Repositories
The developer's experience in this domain has been verified based on AI analysis of the following repositories:
Junior Backend Developer Confidence: Low Generalist
Backend generalist (junior-to-middle level) focused on small PHP web applications and a Python Tkinter desktop inventory app; strongest at building form-driven web pages and straightforward CRUD workflows. The clearest proven skill is integrating email sending and simple ticket/contact flows using PHPMailer and PHP endpoints (e.g. public/enviarcontactoformulario.php and SistemaSoporteTiquetes/crear_tiquete.php). There is little to no public evidence of API versioning, migration history, transactional/isolation design, performance tuning, or automated tests and CI pipelines.
API Design
2/10
How well APIs are designed
Minimal API design; mostly form-driven PHP endpoints and page handlers with no explicit versioning, idempotency keys, or documented error contract.
Evidence
SitioWebInformativoCarnicer-a/public/enviarcontactoformulario.php
SistemaSoporteTiquetes/crear_tiquete.php
Data Layer & Database
3/10
Working with databases
Basic data layer work: small SQLite/SQLite-backed desktop app plus MySQL-backed PHP CRUD pages; shows table creation and CRUD functions but no migration history or advanced transaction/isolation handling.
Evidence
gestor_finca_inventario.py/vaca 2.py: Database.crear_tabla_animales, Database.registrar_animal, Database.obtener_todos_animales
SistemaSoporteTiquetes/tiquetes.php (requires config.php and performs CRUD operations)
Scalability & Performance
1/10
Handling load and speed
Almost no scalability or performance engineering visible; local desktop app and simple PHP pages without caching, queuing, connection pooling or load testing artifacts.
Evidence
gestor_finca_inventario.py/vaca 2.py (uses SQLite and pandas for local processing)
SistemaSoporteTiquetes/*.php (simple script-style endpoints, no caching or queue integrations)
System Architecture
2/10
Overall system structure
Simple modular separation by project and basic folder layout; no evidence of deliberate service decomposition, config/secret management, or graceful degradation strategies.
Evidence
SitioWebInformativoCarnicer-a/public/index.php (cargarComponentes entry point)
SistemaSoporteTiquetes/*.php (multiple scripts requiring a shared config.php for configuration)
Security & Auth
1/10
Protecting data and access
Minimal demonstrated security work at the application boundary; email sending is delegated to PHPMailer but no visible input sanitization, auth flows, token lifecycle, or secrets handling patterns in the app code.
Evidence
SitioWebInformativoCarnicer-a/public/enviarcontactoformulario.php (uses PHPMailer to send form email)
SistemaSoporteTiquetes/correo.php (imports PHPMailer classes)
Reliability & Observability
1/10
Stability and monitoring
Little evidence of reliability or observability practices; no structured logging, retries with backoff, circuit breakers, metrics or test/CI artifacts in the application code.
Evidence
gestor_finca_inventario.py/vaca 2.py: save_data/load_data functions (local persistence but no retry/observability)
SistemaSoporteTiquetes/index.php (script entry without instrumentation)
Expertise
PHP• Junior
Databases & Vector Storage• Junior
Technologies
PHP• Junior
Kotlin• since 2025 • Junior
Rest API• since 2025
Python• mentioned only
Tkinter• mentioned only
Recommendations
  • Move vendor libraries out of app code and use Composer proper dependency management; treat PHPMailer as a vendor dependency not as source to edit.
  • Add a small REST API layer (versioned) for ticket operations with clear error contracts and idempotency for create/update endpoints.
  • Introduce database migration tooling and explicit migration history for schema evolution (even for the SQLite app) and document transaction boundaries where needed.
  • Add unit and integration tests plus simple CI to validate core flows (email sending, ticket creation, DB persistence) and introduce basic structured logging for observability.
Repositories
The developer's experience in this domain has been verified based on AI analysis of the following repositories: