Six services. Each one built on a product I already run in production.
Metabase, Odoo, local AI, Traccar and custom development. I tell you what your system is built on, where the data physically lives, and which equivalent installation is already running. The way in is a one-week diagnostic.
Built onMetabase on PostgreSQL and TimescaleDB
Business intelligence
I replace the Excel report with a dashboard that refreshes itself and can be audited.
Metabase on infrastructure you own, fed by extraction and consolidation into PostgreSQL, with TimescaleDB where the volume is time-series. Every number on a dashboard resolves to a query you can read, and finance can prove it against the ledger before signing it. Once the foundation is in order I extend it with forecasting for sales, risk and demand on your own data: predictive analytics is where this service grows, not a separate line item.
ForManagement and finance teams making decisions from spreadsheets somebody rebuilds by hand every month.
What it includes
- Source-by-source extraction: ERP, CRM, telemetry, bank and payroll files
- A data model with its definitions agreed in writing — one number, one definition
- Scheduled loads with failure alerts, so a stale dashboard tells you before a manager does
- Metabase on your own infrastructure, with dashboards by area and access by role
- Reconciliation views so finance can prove the dashboard against the ledger
- TimescaleDB for the time-series the fleet and the telemetry produce
- Scheduled email delivery at whatever cadence you set
- Forecast models for sales, risk or demand, plus documentation so your team can write its own questions
Built onOdoo
CRM
I put contacts, pipeline, membership register and campaigns on a single Odoo record.
Odoo CRM as the single record of the relationship: companies, people, roles and membership status on one object, with the commercial pipeline, the mailing, the messaging and the public website all reading from it. I built the Ecuadorian-American Chamber of Commerce's website and CRM, and I am a member of the chamber. The advantage is not the software: it is that your institution's critical information stops living on one person's laptop.
ForChambers, associations, trade bodies and service companies whose relationship with members and clients lives in personal inboxes and loose lists.
What it includes
- Odoo CRM configuration: companies, contacts, roles and membership tiers
- A member or client register with states, categories and renewals
- A commercial pipeline with your operation's own stages, not the template's
- Mailing and messaging campaigns on the same contact record
- Public website and member portal driven by the same data
- Migration from spreadsheets and earlier systems, with duplicates resolved before anything is loaded
- Training and an operations runbook for the people who administer it
Built onOdoo
ERP
I implement Odoo as the ERP of a multi-company, multi-country group, with consolidation solved.
Odoo as the ERP on its own PostgreSQL instance, configured for a real operation across several companies and several countries, with a consolidated reporting layer on top. It is exactly what I run today for two businesses across Ecuador and Peru, alongside the seven PostgreSQL instances serving commissions, sales, ERP, fleet and analytics. The Excel processes that remain are isolated and retired in phases, not all at once.
ForGroups running more than one company or more than one country, consolidating the numbers by hand in a spreadsheet at every close.
What it includes
- Multi-company and multi-country configuration on a single Odoo instance
- The ERP's own PostgreSQL database, placed on the disk that measures best, not the one that sounds best
- Migration of master data and of the processes that today live in spreadsheets
- A consolidated reporting layer in Metabase over the ERP's data
- Integration with the CRM, with the business intelligence layer and with fleet tracking
- Phased retirement of the Excel processes, each one replaced and verified before it is switched off
- Training and an operations runbook, so the system does not depend on me to keep running
Built onLocal inference, n8n, Presidio, Langfuse and Qdrant
Automation and local AI
I put local models inside your processes, and I keep them working.
Language models running on a server you own, inside your network, behind an OpenAI-compatible gateway: one base URL and policy routing. Presidio masks personal data before a model sees the text, Qdrant carries retrieval over your own documents, Langfuse traces every request, and self-hosted n8n turns the output into automation. It includes the part almost nobody quotes: putting the model inside a process and keeping it working when the process changes.
ForLaw firms, auditors, insurers, clinics and companies holding information that must not leave their network, with repetitive processes at volume.
What it includes
- Inference server sized to the hardware you have, or the hardware you should buy, with the measurement that justifies the purchase
- OpenAI-compatible gateway: one base URL and policy routing across your local inference servers
- Model selection against your real task, with an evaluation set agreed before any model is chosen
- Semantic search over contracts, case files, reports and mail
- Field extraction from scanned documents and PDFs, delivered into the system that needs it
- Assisted drafting on your own templates
- PII detection and masking with Presidio before every model call
- Qdrant vector store, with a chunking and re-index strategy you can run again yourself
- Automation of the steps around the model with self-hosted n8n, not a third-party service
- MLOps: Langfuse tracing, re-evaluation against the same set every time a model changes, and an operations runbook for your team
Built onTraccar on TimescaleDB
Fleet and asset tracking
I put tracking for your fleet and your assets on a server you own.
Traccar installed on your infrastructure, with the devices you already have or with new compatible units, and position history in your own TimescaleDB. No vendor portal holds your information: the history is yours, and it sits in the same database family as your BI layer, so the fleet can be crossed against sales and cost. Fleet is the proven case; the same server serves any asset that reports a position.
ForOperations with vehicles, machinery or field equipment whose position is commercially sensitive information.
What it includes
- Your own Traccar server, with device onboarding and protocol configuration
- Position history in TimescaleDB, retained on your terms rather than a vendor's
- Geofences, stop detection and alerting on speed or out-of-hours movement
- Route, stop and engine-hour reporting
- Access by role for supervisors and managers
- Tracking data exposed to the dashboard layer, to cross against sales, routes and cost
- Backups of the history on your own storage
Custom software development
I build custom software of any kind: fintech is where my depth is, not where the work ends.
Web and mobile product built end to end: React and React Native at the front; Node.js, Java, Python and Groovy behind; PostgreSQL, MongoDB, Oracle or SQL Server as the case demands; AWS when the cloud is the right answer. Experience and interface design included, because a system nobody wants to use has not been delivered. I led the delivery of eight financial platforms with integrations against Bloomberg, Interactive Brokers, stock exchanges, PayPal, Stripe, PayPhone and Place2Pay: that is the evidence of depth, and the same engineering judgement applies to an e-commerce ecosystem, a chamber's platform or an agricultural operations system.
ForCompanies that need a system the market does not sell, or that carry a platform of their own which no longer takes what the operation asks of it.
What it includes
- Product, experience and interface design before the first line of code
- Web applications in React.js and native mobile applications in React Native
- Back ends in Node.js, Java, Python or Groovy, with a documented API from day one
- PostgreSQL, MongoDB, Oracle or SQL Server, chosen for the workload rather than out of habit
- Integration with what your operation already runs: ERP, CRM, payment gateways, open banking and market data
- Legacy modernization: monolith to services and microservices, without stopping the operation
- Enterprise architecture and IT governance with TOGAF: high availability and interoperability
- Cloud and hybrid architectures on AWS, ECS/Fargate included, or installation on infrastructure you own
- DevOps: CI/CD in GitHub Actions or Jenkins, Terraform and CloudFormation, Docker, and observability on Prometheus, Grafana and ELK
Systems diagnostic
I read your system before I touch it.
One week reviewing your infrastructure, your processes and how information moves through them. Wherever a design decision hinges on a number — commit latency, query time, ETL runtime, egress — I measure it instead of assuming it. It ends in a written findings document, ranked by risk, closing with a bounded recommendation that carries scope, sequence and cost. It is the way into the other six services.
ForCompanies that want the constraint on their operation named and measured before they spend money changing it.
What it includes
- Inventory of hosts, services, data stores and third-party dependencies
- A review of where each database physically sits and how it is backed up
- A map of the processes that today depend on one person or one spreadsheet
- Access review: who and what can reach production data
- Measurements taken where they decide the design, not where they are easy to take
- A written report with findings ranked by risk and a bounded recommendation with scope, sequence and cost
- One working session to walk through it with your team
How the work runs
Diagnostic. One week, fixed fee, written findings. I review your infrastructure, your workflows and how you handle information, with the people who operate the system every day. The report ranks findings by risk and closes with a bounded recommendation: one project, with scope, sequence and cost. The report is yours.
Implementation. The project runs in phases and every phase ends in something running in production. We start with the highest-volume case — the report that costs the most, the process that eats the most hours, the full register, the close of a single company — and widen from there. Custom development is quoted per project against what the diagnostic actually found.
Documented handover. Every project ships with written documentation so somebody who is not me can maintain the system, and with your team trained to operate it. If you want ongoing support it exists; if you do not, the system does not depend on me to keep running.
Where your information lives
For business intelligence, CRM, ERP and tracking, the system is installed on infrastructure you own or on infrastructure I operate for you; I tell you exactly which component lives where before we start. For automation with local AI the model runs on hardware you own and personal data is masked before every call. For custom development, code and configuration live in your repositories from the first commit.
What I need from your side
For the diagnostic: read-only access to the infrastructure — what hosts exist, what runs on them, how they are backed up and who can get in — and conversation with the people who operate the processes. For the build: a test environment and a counterpart with authority to decide.
I start by understanding your system.