{
  "version": "1.0",
  "generated": "2026-08-05T08:19:52.002Z",
  "canonical": "https://moitoi.tech",
  "redirectsFrom": [
    "https://moitoi.eu",
    "https://moitoi.io"
  ],
  "license": "CC BY 4.0 — attribute to moitoi.tech",
  "person": {
    "name": "Andres Kepler",
    "headline": "Product engineer and infrastructure specialist",
    "summary": "MoiToi.TECH is an independent product engineering practice. Andres Kepler turns operational problems into complete working systems — business model, software, infrastructure and connected hardware. Based in Loksa / Tallinn, Estonia.",
    "inTechSince": 1995,
    "location": {
      "city": "Loksa",
      "alsoCity": "Tallinn",
      "country": "Estonia",
      "countryCode": "EE",
      "lat": 59.2378,
      "lon": 25.7136
    },
    "currentRole": {
      "title": "Database Reliability Engineer",
      "organization": "Bolt",
      "since": 2022,
      "detail": "Distributed SQL reliability at scale, with Prometheus and Grafana observability."
    },
    "company": {
      "legalName": "MoiToi OÜ",
      "type": "Estonian product engineering practice",
      "registryCode": "14751069"
    },
    "contact": {
      "email": "connect@moitoi.tech",
      "github": "https://github.com/kepsic",
      "linkedin": "https://ee.linkedin.com/in/andres-kepler"
    }
  },
  "positioning": {
    "claim": "MoiToi reduces the distance between what happens in the real world and what the system knows.",
    "detail": "A berth sensor verifies occupancy. A fleet unit verifies location. A booking state machine replaces phone-and-spreadsheet ambiguity. A modernised commerce stack preserves years of business knowledge.",
    "method": [
      "System design, data model and failure modes are done first, by hand.",
      "AI accelerates implementation; Andres owns architecture, constraints, testing and production operation.",
      "Thirty years of production experience are the quality gate on everything the tooling accelerates.",
      "Hardware and software ship as one operable product, not as an integration.",
      "Every venture has a revenue model, a defined customer and a route to market."
    ]
  },
  "projects": [
    {
      "id": "mervare",
      "name": "MerVare",
      "domains": [
        "mervare.app",
        "mervare.io"
      ],
      "url": "https://mervare.app",
      "status": "Live pilot",
      "since": 2026,
      "headline": "A marina system that knows whether the berth is actually free.",
      "problem": "Finding a berth in the Baltic still means calling a harbourmaster on VHF and hoping someone answers, while the harbour itself runs on a paper book and a phone.",
      "system": "A two-sided product: mervare.app is sailor-facing, mervare.io is the marina back office, and every harbour gets its own subdomain, branding and operator accounts. A full booking state machine with role-based access sits behind it, Stripe Connect moves money straight to the harbour rather than through me, and a custom Go/ESP32 bridge into a Victron Cerbo GX over EMQX MQTT is built to report whether a berth is physically occupied — so availability can be verified by a sensor rather than by a form someone forgot to update.",
      "role": "I designed the data model and the booking state machine, built both products and the hardware bridge, and operate the live pilot.",
      "stack": [
        "Next.js",
        "Supabase / Postgres",
        "Stripe Connect",
        "RBAC",
        "EMQX / MQTT",
        "Go on Venus OS (ARM)",
        "ESP32",
        "Victron Cerbo GX"
      ],
      "proof": [
        {
          "label": "Live pilot",
          "value": "hara.mervare.app — Hara harbour, Gulf of Finland"
        },
        {
          "label": "First version",
          "value": "5 days, 206 commits — auth, payments, booking state, MQTT, hardware bridge"
        },
        {
          "label": "Model",
          "value": "5% commission plus marina SaaS"
        }
      ],
      "nextStep": {
        "label": "Become a founding marina",
        "href": "https://mervare.io"
      },
      "flagship": true
    },
    {
      "id": "loksa-camp",
      "name": "loksa.camp",
      "domains": [
        "loksa.camp"
      ],
      "url": "https://loksa.camp",
      "status": "Live platform · Host onboarding in progress",
      "since": 2026,
      "headline": "A Baltic rental marketplace designed for people, fleets and agents.",
      "problem": "Camper and motorhome supply in the Baltics is fragmented across owners with no shared inventory.",
      "system": "A marketplace with real host economics and a fleet view, built on the bet that a meaningful share of travel demand will arrive through an AI agent rather than a browser. So it ships an MCP server, an OpenAPI specification and an llms.txt as first-class surfaces, letting an agent discover inventory and complete a booking without scraping a page.",
      "role": "I built the marketplace and its machine interfaces. Supply-side onboarding is in progress — no traction claims yet.",
      "stack": [
        "Next.js",
        "Supabase",
        "Vercel",
        "MCP",
        "OpenAPI",
        "llms.txt"
      ],
      "proof": [
        {
          "label": "Platform",
          "value": "live"
        },
        {
          "label": "Supply-side onboarding",
          "value": "in progress"
        }
      ],
      "nextStep": {
        "label": "See the system",
        "href": "https://loksa.camp"
      },
      "flagship": false
    },
    {
      "id": "zoovet",
      "name": "Zoovet",
      "domains": [
        "zoovet.dev"
      ],
      "url": "https://zoovet.dev",
      "status": "Client system",
      "since": 1998,
      "headline": "Long-term stewardship of a business-critical commerce platform, modernised without stopping the business.",
      "problem": "A long-lived Django/Oscar commerce stack has to keep taking B2B orders while it is modernised — nothing here can be rewritten from scratch, because the business does not stop.",
      "system": "Long-term stewardship of business-critical commerce and the infrastructure around it for a B2B veterinary wholesaler: incremental migration of the Django/Oscar stack onto a supported footing without a freeze window, and the supporting servers kept patched and running.",
      "role": "I modernise and operate the platform and its infrastructure. I am the person they call.",
      "stack": [
        "Django",
        "Oscar",
        "Python",
        "Postgres",
        "Windows Server",
        "Linux"
      ],
      "proof": [
        {
          "label": "Relationship",
          "value": "Client since 1998"
        }
      ],
      "nextStep": {
        "label": "See the system",
        "href": "https://zoovet.dev"
      },
      "flagship": false
    },
    {
      "id": "pirateseye",
      "name": "PiratesEye.club",
      "domains": [
        "pirateseye.club"
      ],
      "url": "https://pirateseye.club",
      "status": "In development · Creator-owned",
      "since": 2026,
      "headline": "Turning attention into a community the creator can own and operate.",
      "problem": "A large English-speaking audience built over a thousand videos lived entirely on someone else's platform, with no membership, no product and no direct relationship.",
      "system": "Product, brand architecture, membership funnel and revenue model for an independent creator business — memberships, sponsorship inventory and digital products — designed to be handed over so the creator operates it without me.",
      "role": "I designed the product, the brand architecture and the revenue model. The deliverable is an operating business, not a website.",
      "stack": [
        "Next.js",
        "Supabase",
        "Stripe",
        "Vercel"
      ],
      "proof": [
        {
          "label": "Status",
          "value": "in development — creator-owned"
        }
      ],
      "nextStep": {
        "label": "See the system",
        "href": "https://pirateseye.club"
      },
      "flagship": false
    }
  ],
  "alsoBuilding": [
    {
      "name": "VerMare",
      "domain": "vermare.app",
      "note": "Management SaaS for luxury vacation rentals."
    },
    {
      "name": "PapliRahu",
      "note": "A self-check-in studio in Loksa — my own testbed for hospitality automation. If it does not work here, it does not ship."
    }
  ],
  "timeline": [
    {
      "id": "hns",
      "track": "work",
      "from": 1995,
      "to": 2000,
      "title": "System engineer",
      "organization": "HNS (Hackers Night System), then Estonian Telephone Company",
      "detail": "Customer-facing Windows NT workstations and servers and the physical network; then specialised into Unix — Linux, Solaris/SPARC, FreeBSD."
    },
    {
      "id": "elion",
      "track": "work",
      "from": 2000,
      "to": 2013,
      "title": "Senior Linux system administrator",
      "organization": "Elion",
      "detail": "Bind, Nginx/Apache, Postfix, IMAP/POP3, MySQL, Squid. bash, Perl, Python."
    },
    {
      "id": "telia",
      "track": "work",
      "from": 2013,
      "to": 2017,
      "title": "System developer",
      "organization": "Telia",
      "detail": "Mail backends and REST APIs. C++, PHP, Python."
    },
    {
      "id": "freelance",
      "track": "work",
      "from": 2016,
      "to": 2019,
      "title": "Self-employed developer",
      "organization": "Python / Django"
    },
    {
      "id": "veebimajutus",
      "track": "work",
      "from": 2018,
      "to": 2020,
      "title": "Infrastructure project manager",
      "organization": "Veebimajutus.ee"
    },
    {
      "id": "entigo",
      "track": "work",
      "from": 2020,
      "to": 2022,
      "title": "SRE, then SRE Team Lead",
      "organization": "Entigo",
      "detail": "Kubernetes, ArgoCD, Terraform, Jenkins, Ansible, AWS. Ran a CI/CD value chain and led a distributed team across Tallinn, Tartu and Toronto."
    },
    {
      "id": "bolt",
      "track": "work",
      "from": 2022,
      "title": "Database Reliability Engineer",
      "organization": "Bolt",
      "detail": "Distributed SQL reliability at scale, with Prometheus and Grafana observability. Background and operating credibility, not client work."
    },
    {
      "id": "itcollege",
      "track": "study",
      "from": 2015,
      "to": 2019,
      "title": "BSc, Computer Science",
      "organization": "Estonian IT College"
    },
    {
      "id": "aoec",
      "track": "study",
      "from": 2018,
      "to": 2019,
      "title": "Coaching Skills Certificate",
      "organization": "Academy of Executive Coaching (AoEC)"
    },
    {
      "id": "ebs-leadership",
      "track": "study",
      "from": 2019,
      "to": 2020,
      "title": "Leadership Development Programme",
      "organization": "EBS Executive Education",
      "detail": "80 academic hours. NLP Practitioner, Estonian NLP Institute, the same year."
    },
    {
      "id": "ebs",
      "track": "study",
      "from": 2021,
      "to": 2026,
      "title": "BA, Business Administration and Management",
      "organization": "Estonian Business School",
      "detail": "Five years part-time, alongside a senior engineering job and live ventures. It is why each venture has pricing, a defined customer and a route to market rather than only a feature list. The two tracks now operate as one practice."
    },
    {
      "id": "searescue",
      "track": "study",
      "from": 2022,
      "to": 2023,
      "title": "Volunteer maritime rescuer, level 1",
      "organization": "Estonian Voluntary Sea Rescue",
      "detail": "Context for the marina work, not a decoration."
    }
  ],
  "stack": {
    "product": [
      "TypeScript",
      "Next.js (App Router)",
      "React",
      "Tailwind",
      "Supabase / Postgres",
      "Stripe Connect",
      "Vercel"
    ],
    "languages": [
      "Python",
      "Go",
      "bash"
    ],
    "infrastructure": [
      "Docker",
      "Kubernetes",
      "Terraform",
      "Ansible",
      "ArgoCD",
      "Jenkins",
      "AWS"
    ],
    "data": [
      "Distributed SQL",
      "MySQL",
      "Postgres"
    ],
    "observability": [
      "Prometheus",
      "Grafana",
      "VictoriaMetrics"
    ],
    "hardware": [
      "MQTT / EMQX",
      "ESP32",
      "Victron Venus OS",
      "NMEA"
    ],
    "machine-interfaces": [
      "MCP",
      "OpenAPI",
      "llms.txt"
    ]
  },
  "machineReadable": {
    "llmsTxt": "https://moitoi.tech/llms.txt",
    "profileJson": "https://moitoi.tech/api/profile.json",
    "jsonLd": "https://moitoi.tech/ (embedded Person, Organization, WebSite)"
  },
  "notes": [
    "No traction numbers, client names or commercial terms beyond those listed are published. Their absence is deliberate."
  ]
}