Universitat Politècnica de Catalunya
Degree in Aerospace Systems Engineering
2015 — 2019
A foundation in engineering, maths and systems, which I combined with my first years working with Dynamics.
This record is open to new opportunities and collaborations. Schedule an appointment
Contact · Dynamics 365 Technical Consultant & Developer
Education
2015 — 2019 · Universitat Politècnica de Catalunya · Complementary training
Degree in Aerospace Systems Engineering, plus complementary training in programming, business management and customer relationship management.
Completed steps
Junior
2019 — 2021 · Revertis S.L.
First steps in the Dynamics ecosystem: AX 2012 and Finance and Operations, Power Platform and the first Customer Engagement implementations.
Completed steps
Senior
2022 — 2025 · NTT Data Spain · Freelance · DQS Consulting
Customer Engagement specialisation at consultancies and as a freelancer: Project Operations, Sales, Customer Service and Field Service, integrations and international projects.
Completed steps
Technical Architect
2025 — present · Freelance
Freelancer with an end-to-end view: international projects combining CE and F&O, system integrations, portals and my own open-source components.
Completed steps
Retirement
Soon 🙏
Final stage of the process. Unlocks once every required step is complete.
Pending steps
Environments, branching, traceability, pull requests, solution source control and build/release pipelines with Azure DevOps for a real D365 CE implementation.
LinkedInThe legacy ReactDOM.render() pattern rebuilds the whole tree on every updateView() and breaks Fluent UI components that rely on positioning.
GitHub · READMEPCF control that turns a plain text column into a searchable country picker, with no new tables or external services.
GitHubIntl.DisplayNames returns the name of any country in any language straight from the browser, with no external dependencies.
GitHub · READMEA Custom API asks Microsoft Graph for a resumable upload session and the browser uploads the file in chunks, bypassing Dataverse limits.
GitHub · READMEPCF control that turns a URL column into a SharePoint file uploader, backed by Custom APIs, a plugin and Microsoft Graph.
GitHubStable per-field keys and options stored as id=label so an admin can change the configuration without breaking historical data.
GitHub · READMEPCF control that renders dynamic fields defined in configuration tables and stores the values as a versioned JSON blob.
GitHubThe Dataverse client secret and API keys live in the operating system's secure store, never in source code or config files.
GitHub · READMEHow a conversational assistant answers with real customer, project and task data, and can create or update records in Dataverse.
GitHub · READMEPersonal productivity desktop app (WinUI 3) for customers, projects and tasks, with an AI agent and Dataverse as the backend.
GitHubHow to replicate try/catch in Power Automate with two Scope actions and "Configure run after", and why it makes the difference in production.
LinkedInWhen to use CreateMultiple, UpdateMultiple, UpsertMultiple, ExecuteMultiple, $batch or BulkDelete, and how to design batch size, parallelism, retries and idempotency.
LinkedInPrerequisites, Server-Side Synchronization, mailbox activation, security role, deployment, configuration, day-to-day use and troubleshooting for the App for Outlook.
LinkedInDynamic, on-demand PDF reports from a portal, filling an Excel template with Office Scripts from Power Automate so the result is deterministic.
LinkedInI went back to freelancing for more freedom and flexibility in the projects I choose.
Technical ArchitectI joined DQS to broaden my experience on international projects.
SeniorMy first spell as a freelancer, working on both D365 CE and D365 F&O projects.
SeniorI moved to deepen my Customer Engagement knowledge and grow in project and team management while keeping my hands on code.
SeniorI started as a junior consultant while finishing my degree, and a few months later I went full time.
JuniorA foundation in engineering, maths and systems, which I combined with my first years working with Dynamics.
EducationAI-assisted development
Daily use of coding agents to design, build, review and document solutions faster without trading off quality.
Conversational assistant that answers questions about customers, projects and tasks stored in Dataverse, and can create or update records.
Voice capture with local transcription, automatically turned into tasks.
Dynamics 365 technical consultant and developer since 2019. I have worked across both sides of the platform: Customer Engagement (Sales, Customer Service, Field Service, Project Operations) and Finance and Operations, including migrations from Dynamics AX 2012.
Today I work as a freelancer on national and international projects: end-to-end implementations, system integrations, Power Pages portals and my own components, which I publish as open source.
C# / .NET plugins
jts_plugins_csharp
Custom APIs
jts_custom_api
Dataverse SDK
jts_dataverse_sdk
Client API (JavaScript / TypeScript)
jts_client_api
Power Apps Component Framework
jts_pcf
Power Pages and Angular
jts_web_portals
Data model and relationships
jts_data_model
Security: roles, BUs and teams
jts_security_model
Web API (OData) and FetchXML
jts_webapi_fetchxml
Power Automate
jts_power_automate
Business Process Flows
jts_bpf
Power BI
jts_power_bi
System integrations (F&O, BC, HubSpot, Sage X3)
jts_integrations
Azure Functions and Service Bus
jts_azure_messaging
Microsoft Graph and Entra ID
jts_graph_identity
Managed / unmanaged solutions
jts_solutions_alm
Environment, licence and security management
jts_environments
Power Platform CLI and Azure DevOps
jts_pac_devops
AI-assisted development
jts_ai_coding_agents
LLM agents on Dataverse
jts_ai_dataverse_agents
Speech to text (Whisper.net, Vosk)
jts_ai_speech
Degree in Aerospace Systems Engineering, plus complementary training in programming, business management and customer relationship management.
Universitat Politècnica de Catalunya
Degree in Aerospace Systems Engineering
2015 — 2019
A foundation in engineering, maths and systems, which I combined with my first years working with Dynamics.
Complementary training
Programming, management and CRM
Ongoing
Courses to round out the technical side with the business side.
Courses
First steps in the Dynamics ecosystem: AX 2012 and Finance and Operations, Power Platform and the first Customer Engagement implementations.
Revertis S.L.
Dynamics AX and D365 Finance and Operations Technical Consultant
2019 — 2021
I started as a junior consultant while finishing my degree, and a few months later I went full time.
Dynamics AX / D365 Finance and Operations
Power Platform
Dynamics 365 Customer Engagement
Power BI
Customer Engagement specialisation at consultancies and as a freelancer: Project Operations, Sales, Customer Service and Field Service, integrations and international projects.
NTT Data Spain
Dynamics 365 Customer Engagement Technical Consultant
2022 — 2023
I moved to deepen my Customer Engagement knowledge and grow in project and team management while keeping my hands on code.
Dynamics 365 Customer Engagement
Power Automate and Power BI
Freelance
Dynamics 365 Technical Consultant
2023
My first spell as a freelancer, working on both D365 CE and D365 F&O projects.
Dynamics 365 Finance and Operations and AX 2012
Dynamics 365 Customer Engagement
DQS Consulting
Dynamics 365 Technical Consultant
2023 — 2025
I joined DQS to broaden my experience on international projects.
Dynamics 365 Customer Engagement
Freelancer with an end-to-end view: international projects combining CE and F&O, system integrations, portals and my own open-source components.
Freelance
Dynamics 365 Technical Consultant
2025 — present
I went back to freelancing for more freedom and flexibility in the projects I choose.
Dynamics 365 Customer Engagement
Dynamics 365 Finance and Operations
Open source and AI
Final stage of the process. Unlocks once every required step is complete.