Some problems don't get solved by adding engineers.
Data that will not fit a schema. An LLM feature that was fine in the demo and is not fine under load. A pipeline that costs more every month than it did the last. A question nobody has yet framed precisely enough to have an answer.
I take those on, as a one-person practice registered in Costa Rica for the export of software services. The person you talk to is the person who does the work.
17 years engineering · RAG and LLM systems in production · Backcountry · Route · Thoropass · MSc Computer Science · MSc Applied Mathematics, in progress · Spanish and English
What I take on
Text, documents or records that carry real information and no schema that fits them. At Route I built the clustering that turned unstructured merchant data into reusable templates — locality-sensitive hashing, tokenization, a spatial index over text, a combinatorial search on top — and the Spark pipelines on Databricks to run it at volume. Deduplication, entity resolution and search over messy text are the same family of problem, and they respond to the same tools.
Anyone can get a retrieval-augmented prototype answering questions in an afternoon. Keeping it standing is a different job: concurrency, rate limits that differ per provider, retries that do not stampede, and token accounting precise enough to tell you what a feature actually costs before the invoice does. At Thoropass I designed and built these pipelines end to end — the vector store on pgvector, the retrieval layer, the integration across GPT-4 and 5, Gemini 3 and Claude Opus 4 and 5, and the load control and accounting underneath. Retrieval quality is a data problem before it is a model problem, which is the half most teams skip.
The job was comfortable at a tenth of the data. Now the batch window is missed and the bill grows faster than the traffic does. Usually the cause is access patterns that stopped matching the queries, or a design decision that was correct three years ago and has not been revisited since. This work is unglamorous and it is where the money usually is.
I designed and built the company-wide role-based access control at Thoropass, alongside multi-factor authentication, dependency and vulnerability remediation, and database routing so tenants cannot reach each other's data. Access control is the kind of thing nobody budgets for at the start and everybody needs by the middle — and it is far cheaper to design once than to retrofit twice.
Sometimes the blocker is not the code — it is that the question has not been posed in a form that admits an answer. This is the cheapest point at which to fix a project and the easiest one to skip past. I am comfortable working here, and I will tell you when I think the approach is wrong before it gets built.
Why the mathematics is on this page
A mass spectrum gives you the weights of the fragments. It does not give you the order they were in.
That was my master's thesis: de novo peptide identification. Many orderings are consistent with the same evidence, and the search space grows faster than any amount of patience. I approached it structurally — applying topological analysis to change the shape of the problem, rather than widening the search and buying more compute.
That is the same move as most of the work above. When the obvious approach does not scale, the useful question is rarely “how do we run it faster” and usually “what is this problem actually shaped like”. I am reading for a second master's, in applied mathematics, for exactly that reason — and the instinct came from six months at the Karolinska Institutet in Stockholm doing statistical analysis of ChIP-seq experiments, which is the shortest line on my CV and the one that decided the rest of it.
Track record
Shared Services. Designed and built the company-wide role-based access control, and the retrieval-augmented generation pipelines end to end — vector store on pgvector, retrieval layer, the integration across GPT-4 and 5, Gemini 3 and Claude Opus 4 and 5, and the load control, concurrency and token accounting they run on. Alongside that: version upgrades across Python, Django and Graphene, vulnerability remediation, database routing for performance and tenant isolation, and multi-factor authentication.
Python 3.10 · Django · Graphene · PostgreSQL · AWS · RDS · PostgreSQL · pgvector · Okta · RAG · LLM APIs
Data Comprehension. Clustering techniques that build templates out of unstructured data — both the algorithms and the infrastructure to run them.
Scala · Spark · Databricks · Go · AWS · RDS · SQS · CloudWatch
Marketing and Merchandise Technologies. Content management, email service provider and ERP integrations; data analysis and distribution. Almost seven years, which is long enough to watch your own decisions age.
Java · Scala · Python · Spring Boot · Tomcat · Maven · Jenkins · Oracle · PostgreSQL · MongoDB · GCP
Embedded Linux in C and C++. Firmware for MSM v6 wireless controllers and access points — the layer where a memory leak is a field return, not a restart.
C · C++ · SQLite · Make · Linux · wireless networking
Migrating source code between languages, and prototyping new migration targets. A first job spent reading other people's programs very closely, which turned out to be the right training.
.NET · VB6 · JavaScript · automatic code generation · TFS · SVN
How this works
Engagements run under my own registered activity in Costa Rica, for the export of software services. There is no account manager, no bench, and no handover to someone junior once the contract is signed. I work remotely and have done since 2021, in Spanish or English.
I am a Certified ScrumMaster and have spent enough years inside delivery teams to treat process as a tool rather than a belief. I will tell you when I think an approach is wrong before it is built, and I am comfortable owning a problem end to end, including the parts nobody scoped.
What I don't take
Design, front-end-only work, or marketing sites. If that is what you need, I would rather say so now than three weeks in.
Start here
me@julatec.nameWrite with a description of the problem — the messier the better, since the framing is usually part of the work. If it is a fit I will say so, and if it is not I will try to point you somewhere better.