xoa.dev

Building ideas

Active since 2019

XOA Desarrollo is a software company in A Coruña, on Google Maps. We build custom software for our clients, and open source tools we use ourselves.

Write to us

  1. 01 ruasservice Geocoding API
  2. 02 limenopen source MCP server · Rust
  3. 03 convco-versionopen source GitHub Action

Services

ruas

geocoding api

Find, validate and complete an address.

An address geocoding service, built to find an address, validate it and complete it. For now, with Spain's addresses only. It is compatible with the Google Geocoding API. It reads an address as a person writes or dictates it, with typos and in Spanish, Galician, Catalan or Basque, and says how sure it is: the exact door, between two doors, or only the street. From official open data: CartoCiudad's portals, and street names from INE and the regional and city directories. It is offered as a service or to install on your own infrastructure. Anyone can try it, and to use it in an application, write to us.

Written:    rua do orreo 13 santiago
Answered:   Rúa do Hórreo, 13,
            15702 Santiago de Compostela, A Coruña
            ROOFTOP · 42.876077, -8.543880
  • Google Geocoding API
  • Spain
  • Official open data
  • Rust

Open source

github.com/xoadev

limen

mcp server

Only what the machine allows.

Let an AI agent into your Linux machines without giving it a shell. limen is an MCP server, the way agents such as Claude Code call tools, that reaches each machine over SSH. Each machine decides which files the agent can read and which scripts it can run, and logs every request. We built it to run our own machines without handing an agent our SSH credentials.

You:    Immich is down. Why?
Agent:  /srv is at 100%; 40 GB are dangling images.
You:    Clear the images.
Agent:  (purge on nas) Freed 41 GB; immich-server is up.
  • Rust
  • MCP
  • SSH
  • Debian · Ubuntu · OpenWrt
  • Apache-2.0

convco-version

github action

Semantic versioning, straight from your commits.

Write feat: and fix: commits as usual. On every push the action works out the next semantic version (major, minor or patch), whether there is anything to release, and its changelog. It decides nothing for you: it hands over the version and the changelog, and your workflow chooses when to release. No version files to keep in sync, no Docker image to build, the same answer on Linux, macOS and Windows, and monorepo ready. Built on convco. limen uses it: every push to main rewrites a draft release with its version and changelog, and publishing it is a button in GitHub Actions.

# Commits since v1.2.3
feat: export the report as CSV
fix: keep the column order

# What the action returns
next-version  1.3.0
bump-type     minor
changelog     ### Features
              * export the report as CSV
              ### Fixes
              * keep the column order
  • GitHub Actions
  • Conventional Commits
  • SemVer
  • MIT

Notes

  1. Our machines, through pull requests · limen An AI agent runs our machines with limen, and asks for every new script or permission in a pull request.
  2. Immutable releases with convco-version · convco-version · limen From a commit to a release nobody can rewrite: a draft on every push, published only when a person says so.

Contact

Bugs and ideas for the projects go to their GitHub issues. For anything else, write to us.