# futhr:lab > futhr:lab is the venture and open-source portfolio of Tobias Bohwalli, Gothenburg, Sweden. The portfolio spans ventures, open-source infrastructure, research, and conference talks across Elixir and OTP, Ruby, Svelte, IoT, and Rust. Trust, interoperability, and unit economics are treated as architectural constraints. Unreleased products are described as intent, never as available software. Source: https://futhr.io/work/thesis.md # Trust, interoperability, unit economics. > Platforms and open infrastructure for domains where software decisions carry real consequences. - Group: Thesis A capital-efficient portfolio of platforms and open infrastructure for domains where software decisions carry operational, financial, or legal consequences. **The thesis:** trust, interoperability, and unit economics are architectural constraints, not features added after scale. Across the portfolio, probabilistic intelligence sits above a deterministic foundation of durable state, explicit contracts, verification, and recovery. The full loop is designed as one: domain model, runtime, product, distribution, and operating model. Shared open-source cores reduce repeated engineering work and preserve customer control; commercial platforms monetize operation, assurance, and domain outcomes. *Bootstrapped by default, built for durable ownership.* --- Source: https://futhr.io/work/sigil-guard.md # SigilGuard > The in-process security runtime for autonomous agents touching production tools and data. - Group: Elixir & OTP - Repositories: refpath/sigil_guard - Repository: https://github.com/refpath/sigil_guard - HexDocs: https://hexdocs.pm/sigil_guard/ An embedded Elixir enforcement layer between autonomous agents and production systems. Tool calls, returned data, and outbound transfers pass through deterministic policy before execution. Secret scanning, source-to-sink controls, pinned tool manifests, exact-action confirmation, signed attestations, and audit records turn agent authority into an inspectable security boundary. The decision path stays inside the host application, removing a network dependency from the point of enforcement. **SigilGuard** supplies the control layer required when probabilistic models gain access to consequential tools. *Agents act; the host decides, and keeps the evidence.* --- Source: https://futhr.io/work/ex-booking.md # ExBooking > Deterministic booking infrastructure that embeds without taking over the application. - Group: Elixir & OTP - Repositories: futhr/ex_booking - Repository: https://github.com/futhr/ex_booking - HexDocs: https://hexdocs.pm/ex_booking A pure decision engine for products that need booking logic without adopting a booking platform. Availability, time zones, daylight-saving boundaries, capacity, resource assignment, validation, and lifecycle decisions remain deterministic and replayable. **ExBooking** owns no processes, providers, persistence, or hidden clock, leaving the host in control of customer data, payments, notifications, and experience. The library turns the hardest scheduling rules into a small, testable core that can support many vertical products without forcing them into one operating model. *The rules of scheduling, without the platform.* --- Source: https://futhr.io/work/doc-shell.md # DocShell > One versioned documentation artifact for every site, product surface, search index, and AI system. - Group: Elixir & OTP - Repositories: futhr/doc_shell - Repository: https://github.com/futhr/doc_shell - HexDocs: https://hexdocs.pm/doc_shell/ A renderer-neutral documentation pipeline that turns Elixir module docs, Markdown guides, Livebooks, changelogs, and OpenAPI material into a versioned JSON contract. The same artifact can drive a documentation site, embedded help, search, knowledge graphs, and AI retrieval without rebuilding the source for each channel. Generation identity prevents mixed releases, while rendering and access policy stay with the consuming product. **DocShell** converts documentation from a site-specific build output into portable product infrastructure. *Documented once, served everywhere.* --- Source: https://futhr.io/work/letterpress.md # Letterpress > A compile-time trust boundary for notification templates on the BEAM. - Group: Elixir & OTP - Repositories: futhr/letterpress - Repository: https://github.com/futhr/letterpress - HexDocs: https://hexdocs.pm/letterpress A notification compiler that moves template risk out of delivery time. Restricted MJML and Liquid become immutable, typed artifacts before reaching production, and runtime nodes render them in pure BEAM code without Node.js or an editor in the delivery path. **Publication remains an explicit application decision.** Syntax errors, unsafe behavior, and incompatible changes surface during authoring and review, while the artifact contract keeps every delivered message inspectable, versioned, and reproducible. *Compiled before delivery, never trusted at it.* --- Source: https://futhr.io/work/ash-oaskit.md # AshOaskit > OpenAPI 3.0 and 3.1 generated directly from the Ash domain model. - Group: Elixir & OTP - Repositories: futhr/ash_oaskit - Repository: https://github.com/futhr/ash_oaskit - HexDocs: https://hexdocs.pm/ash_oaskit An API-contract generator that removes the second schema usually maintained beside an Ash application. Public resources, AshJsonApi routes, types, and constraints produce an OpenAPI 3.0 or 3.1 specification for validation, export, documentation, and client generation. Private fields stay private by default. **AshOaskit** makes the application domain the source of truth for both runtime behavior and external API description, reducing contract drift while keeping compatibility explicit. *The domain is the spec.* --- Source: https://futhr.io/work/exk-passwd.md # ExkPasswd > Memorable passphrases from independently chosen words, shaped by configuration the host owns. - Group: Elixir & OTP - Repositories: futhr/exk_passwd - Repository: https://github.com/futhr/exk_passwd - HexDocs: https://hexdocs.pm/exk_passwd A password generator built on a plain observation: a few independently chosen real words are easier to read, type, and remember than a short string of symbols, and length arrives naturally instead of through repetition. **ExkPasswd** turns that observation into a library with a public wordlist, strict configuration that rejects unknown, duplicate, or unsatisfiable options before anything is generated, and no runtime dependency beyond Erlang's own crypto module. Every part of the shape belongs to the application: seven presets cover memorable defaults and compatibility constraints, custom UTF-8 dictionaries load at startup, transforms are a protocol with case handling, substitution, Pinyin, and Romaji built in, and a supervised registry composes named presets at runtime. Batch and parallel generation keep the same unbiased selection while cutting calls to the random source, and executable Livebook notebooks walk from the quick start to Chinese and Japanese dictionaries. *Words you can remember, rules you can read.* --- Source: https://futhr.io/work/phoenix-assets.md # Phoenix Assets > A first-class SvelteKit frontend inside Phoenix, supervised and typed as one application. - Group: Elixir & OTP - Repositories: futhr/phoenix-assets - Repository: https://github.com/futhr/phoenix-assets - HexDocs: https://hexdocs.pm/phoenix_assets A frontend integration layer for Phoenix teams that need SvelteKit, Vite, and Storybook without creating a second operational product. Development tools run under supervision, backend routes and domain definitions generate TypeScript contracts, and production assets enter the release through validated manifests and integrity data. **Phoenix Assets** is unapologetically opinionated: it commits to one stack and wires it end to end rather than half-supporting every framework. It began as the shared internal library beneath every product in this portfolio and stays generic on purpose; it knows Phoenix, Vite, Svelte, Tailwind, and Ash, and nothing about any product built on them. The Svelte stack is the default preset, but the same preset and plugin engine lets a host compose a different stack, or add an integration the stack does not ship, without forking the library. Phoenix remains the owner of lifecycle and deployment. *Two languages, one application, one supervisor.* --- Source: https://futhr.io/work/wotex.md # WoTEx > OTP-native Elixir libraries that bring the W3C Web of Things to the BEAM. - Group: Elixir & OTP - GitHub organization: https://github.com/wotex-project An open-source family of focused Elixir libraries for the W3C Web of Things and the edge-to-cloud continuum. IoT remains fragmented across vendors, protocols, and incompatible data models, so every product repeats the same description, discovery, and binding work and interoperability stays a promise on a diagram. **WoTEx** supplies shared terminology and contracts for describing a Thing's properties, actions, and events, validating Thing Descriptions, connecting protocol bindings, discovering Things, composing caller-owned runtimes, and keeping behavior consistent from cloud services to disconnected edge devices, with conformance testing against the published specifications and room for machine learning close to the device. Each library follows OTP conventions: independently useful, explicit about ownership, and passive until the consuming application starts it. Nothing imposes a database, supervision tree, web framework, or proprietary platform on the host. The aim is shared infrastructure for the Elixir, Nerves, and industrial IoT communities, open enough to adopt without inheriting a platform and extensible toward future protocols and edge intelligence. *One standard for Things, and a runtime built to keep them running.* --- Source: https://futhr.io/work/solidus-weighted-shipping.md # Weighted Shipping > Instant, exact weight-based shipping from rules the merchant owns. - Group: Ruby & Solidus - Repositories: futhr/solidus-weighted-shipping - Repository: https://github.com/futhr/solidus-weighted-shipping A Solidus shipping calculator for merchants whose delivery economics fit explicit weight rules. Exact-decimal rates cover bands, parcel overflow, handling, free-shipping thresholds, and item constraints without a carrier account or network request. Invalid configuration and missing weights fail visibly instead of generating a plausible but wrong checkout price. The merchant owns a fast, testable pricing model that remains understandable as rates change. *Priced locally, exactly, every time.* --- Source: https://futhr.io/work/solidus-nexi.md # Nexi > Verified Nexi payment state for Solidus beyond redirects and webhook guesswork. - Group: Ruby & Solidus - Repositories: futhr/solidus_nexi - Repository: https://github.com/futhr/solidus_nexi A Nexi Checkout integration built around authoritative payment state. Card and wallet data stay in the hosted checkout, while Solidus stores provider identifiers and financial outcomes verified at the source. Redirects and webhooks trigger retrieval instead of being accepted as proof. Authorization, capture, cancellation, refund, duplicate delivery, and uncertain responses each have an explicit state and recovery path. The operation set stays intentionally bounded to behavior the integration can model honestly. *Money moves on verified state, nothing less.* --- Source: https://futhr.io/work/solidus-nshift.md # nShift > Recoverable nShift shipping operations for Solidus, from checkout selection through tracking. - Group: Ruby & Solidus - Repositories: futhr/solidus_nshift - Repository: https://github.com/futhr/solidus_nshift A shipping operations layer connecting Solidus checkout, delivery options, service points, booking, labels, cancellation, and tracking to nShift. Every shipment mutation is recorded before dispatch, preserving intent when a provider succeeds behind a failed connection. Ambiguous outcomes enter reconciliation instead of blind retry, and operators retain a clear history of each attempt. Solidus remains the system of record for orders and fulfillment. The extension makes failure recovery part of the shipping model rather than an emergency process after money and parcels are already moving. *Intent recorded before the parcel moves.* --- Source: https://futhr.io/work/nuif.md # NUIF > A neutral interface format that makes round-trip fidelity measurable. - Group: Rust & Research - Repositories: refpath/nuif - Repository: https://github.com/refpath/nuif - Documentation: https://refpath.github.io/nuif/ An open interchange model for authored interfaces moving between design tools, source code, runtimes, and agents. Stable identity and semantic operations preserve editability, while explicit loss records reveal what each adapter could not carry across a boundary. A deterministic Rust engine and conformance work turn fidelity into something testable rather than a visual judgment. The opportunity grows as autonomous systems begin editing real product interfaces across incompatible tools. *Loss made visible, fidelity made testable.* --- Source: https://futhr.io/work/refpath.md # Refpath > Open execution infrastructure for autonomous software that has to finish real work. - Group: Venture - Visit Refpath: https://refpath.io An agent runtime that sits between foundation models and production systems. Model access is becoming interchangeable; what stays scattered across every serious deployment is the hard part: durable execution, policy, budgets, tool authority, recovery, and evidence. **Refpath** consolidates those responsibilities into one execution substrate with a public core, a runnable worker, versioned integrations, declarative packs, and executable examples, so a run is a durable, inspectable record rather than a transcript. It is the thesis in its purest form: probabilistic intelligence above a deterministic foundation. SigilGuard extends the trust boundary around tool use, and NUIF tests the same runtime idea against interface work. The open core builds inspectable foundations and distribution; a managed platform for teams that need shared control, governance, and operated infrastructure is the commercial layer on top. *Models are interchangeable. Execution records are not.* --- Source: https://futhr.io/work/rivure.md # Rivure > Embedded billing infrastructure that keeps product state and financial state in one transaction. - Group: Venture - Visit Rivure: https://rivure.com A headless billing engine for Elixir products that cannot afford drift between what the application believes and what the ledger says. External billing APIs push core commercial truth across a network boundary and leave teams with duplicate models and permanent reconciliation work. **Rivure** keeps subscriptions, usage, invoices, wallets, payments, and webhooks inside the host application's own data and transaction model, with provider effects handled as recoverable operations. Unit economics as an architectural constraint: the margin is recorded in the same transaction as the feature that earned it, and every ambiguous provider outcome has a state instead of a support ticket. The engine is designed as open infrastructure; Rivure Cloud is the planned commercial platform for teams that want the same model with managed operations, administration, and regional deployment. *Billing that cannot drift from the product it bills.* --- Source: https://futhr.io/work/diggymon.md # Diggymon > A local-first business platform for CGI creators, projects, and professional growth. - Group: Venture - Visit Diggymon: https://diggymon.com A creator platform for a CGI market fragmented across portfolio sites, project chat, file delivery, asset review, learning tools, and business software. **Diggymon** brings finished work, active productions, creative assets, collaboration, education, and commercial relationships into one creator-owned context, with professional identity attached to the work that builds it. Interoperability turned into a product: one context that every tool in a production can read and write, so repeat collaboration compounds instead of restarting with each project. Local-first ownership keeps the creator's record theirs, and the platform becomes a distribution surface for the open infrastructure beneath it. *The work builds the identity; the identity brings the next work.* --- Source: https://futhr.io/work/reloved.md # Reloved > Decentralized resale infrastructure that turns every household into an independent second-hand storefront. - Group: Venture - Visit Reloved: https://reloved.eco A distributed commerce model for household resale without a central marketplace taking ownership of inventory, customers, or storefronts. **Reloved** Edge gives each household its own shop and operating surface, run at the edge instead of in a rented cloud, so a household can host a store without renting a separate server; Reloved Commons connects those shops through shared discovery while the sale and the buyer relationship stay local. Both parts are planned as open source, so households can inspect the software and operate it independently. The result is the reach of a network with the control of independent ownership: a storefront with no server bill has no reason to charge rent, more useful goods stay in circulation without platform dependence, and trust and interoperability are designed into the protocol rather than rented from an intermediary. *Owned by the household, found by everyone.* --- Source: https://futhr.io/work/orvane.md # Orvane > Independent research on the failure boundaries of standards-based connected systems. - Group: Venture - Visit Orvane: https://orvane.io A research lab examining what happens when connected-system standards meet unreliable networks, contested timing, incomplete state, and real device behavior. **Orvane** centers on dependable interaction, explicit failure boundaries, and methods that can be reproduced outside a diagram. Its public surface is deliberately narrow: reviewed experiments, selected findings, standards notes, and independent research releases. It is the evidence side of the thesis for the physical world, where verification and recovery are measured rather than assumed, and its findings feed the open Web of Things work in WoTEx. *Findings from the edge, published as research.* --- Source: https://futhr.io/work/ager.md # Äger > Coordination infrastructure that gives retail shareholders one verifiable voice at Swedish general meetings. - Group: Venture A proxy-authorization and coalition platform for Swedish shareholders. Retail ownership is large in aggregate and powerless in practice: proxies are collected by hand, self-declared support is easy to dismiss, and the ten-percent threshold for calling an extraordinary general meeting under the Companies Act is rarely reached because nobody can prove who stands behind it. **Äger** makes every signed proxy, reminder, and dashboard total belong to one specific general meeting, and reports declared, validated, and meeting-eligible support as three separate figures so a campaign cannot be waved away for mixing claims with representation that holds up in the room. A verified discussion forum per listed company gives coalitions a moderated place to organize before the vote, with evidence bundles that keep every authorization traceable. The product path runs from forum and voice toward trading and asset services, each step earning the next. *Ten percent is only a threshold when someone can prove it.* --- Source: https://futhr.io/work/goatmire-2026.md # Zero alert storms > Formal verification for IoT automation, scheduled for Goatmire 2026 in Varberg, Sweden. - Group: Conf talks - Repositories: futhr/goatmire-2026 - Talk: https://goatmire.com/talk/zero-alert-storms-formal-verification-for-iot-automation - Repository: https://github.com/futhr/goatmire-2026 Two automation rules can be reasonable in isolation and dangerous in composition. The talk makes them *fight* inside a simulated AGV warehouse, then stops the same conflict before either rule can run. One rule representation feeds both the Maude verifier and the BEAM runtime, reducing divergence between checked policy and executed behavior. The gate distinguishes verified safety, discovered conflict, and an unverified result. Its value is a concrete deployment pattern for automation systems whose individual rules become dangerous in combination. *Uncertainty never becomes permission.*