{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreibhih536e4wmqdpe2mozosciqhneuwkm5by7x3cgrvko4yemqu5je",
    "uri": "at://did:plc:25rdn5elo5izoxrmtis34zuk/app.bsky.feed.post/3mpj5ubqj63f2"
  },
  "coverImage": {
    "$type": "blob",
    "ref": {
      "$link": "bafkreiatpbib575ah636whp76nzmtv3e4bqokebhwcinaohrzcv52rgvpq"
    },
    "mimeType": "image/webp",
    "size": 71758
  },
  "path": "/hideyukimori/i-am-building-self-hosted-business-tools-for-small-teams-in-japan-4i26",
  "publishedAt": "2026-06-30T13:51:32.000Z",
  "site": "https://dev.to",
  "tags": [
    "opensource",
    "php",
    "api",
    "ai",
    "https://github.com/hideyukiMORI/NENE2",
    "https://github.com/hideyukiMORI",
    "https://github.com/hideyukiMORI/nene-invoice",
    "https://qiita.com/xioncc/items/7439c9832a6795b4d48e",
    "https://github.com/hideyukiMORI/nene-vault",
    "https://qiita.com/xioncc/items/2f3726347e4504363534",
    "https://github.com/hideyukiMORI/nene-deal",
    "https://qiita.com/xioncc/items/5f7f0e3687d77f07e00e",
    "https://github.com/hideyukiMORI/nene-contact",
    "https://qiita.com/xioncc/items/580750a119ffaa1641af",
    "https://github.com/hideyukiMORI/nene-records",
    "https://dev.to/hideyukimori/mcp-should-not-mean-letting-ai-touch-your-database-57p1",
    "https://dev.to/hideyukimori/i-built-a-tiny-php-framework-for-ai-readable-business-apis-48eo",
    "https://github.com/hideyukiMORI/nene-mcp"
  ],
  "textContent": "I have been building a small family of open source business tools called the **NeNe** series.\n\nThe idea is simple:\n\n**small teams should be able to run useful business software on their own infrastructure, with clear APIs and readable boundaries.**\n\nMost of the tools are still being refined, but the direction is already visible:\n\n  * self-hosted\n  * API-first\n  * bilingual where Japan operations need it\n  * OpenAPI documented\n  * MCP-ready for AI agents\n  * small enough for one developer or a small team to understand\n\n\n\nThe foundation is **NENE2** , my PHP 8.4 API-first micro-framework.\n\nRepository:\n\nhttps://github.com/hideyukiMORI/NENE2\n\nGitHub profile:\n\nhttps://github.com/hideyukiMORI\n\n##  Why Japan-specific business tools?\n\nMany teams operating in Japan have a mixed workflow.\n\nThe technical team may be comfortable with English.\n\nThe business workflow is still deeply local:\n\n  * qualified invoices\n  * received-document retention\n  * payment reconciliation\n  * Japanese bank CSV formats\n  * bilingual admin screens\n  * small company operations\n\n\n\nGeneric tools can work.\n\nBut sometimes the local workflow leaks through the cracks.\n\nThat is why the NeNe series is not just “another CRUD app collection”.\n\nIt is an attempt to build small, self-hosted tools that understand specific business boundaries.\n\n##  The products\n\nThe series includes several focused tools.\n\n###  NeNe Invoice\n\nSelf-hosted quote and invoice management for Japan small businesses.\n\nIt focuses on qualified invoices, quotes, invoices, payments, PDF output, and admin UI workflows.\n\nRepository:\n\nhttps://github.com/hideyukiMORI/nene-invoice\n\nJapanese hands-on article:\n\nhttps://qiita.com/xioncc/items/7439c9832a6795b4d48e\n\n###  NeNe Vault\n\nReceived-document archive for PDFs and business documents.\n\nIt focuses on storing received invoices, receipts, and contracts with search, audit history, and retention-oriented workflows.\n\nRepository:\n\nhttps://github.com/hideyukiMORI/nene-vault\n\nJapanese hands-on article:\n\nhttps://qiita.com/xioncc/items/2f3726347e4504363534\n\n###  NeNe Deal\n\nLightweight B2B deal pipeline management.\n\nIt handles opportunities, stages, simple forecasts, and handoff to NeNe Invoice as draft client / quote data.\n\nRepository:\n\nhttps://github.com/hideyukiMORI/nene-deal\n\nJapanese hands-on article:\n\nhttps://qiita.com/xioncc/items/5f7f0e3687d77f07e00e\n\n###  NeNe Contact\n\nEmbeddable contact forms and an operator inbox.\n\nIt lets operators build forms, embed them with a script tag, receive submissions, manage statuses, and route notifications.\n\nRepository:\n\nhttps://github.com/hideyukiMORI/nene-contact\n\nJapanese hands-on article:\n\nhttps://qiita.com/xioncc/items/580750a119ffaa1641af\n\n###  NeNe Records\n\nAPI-first typed CMS / flexible entity platform.\n\nIt lets users define entity types, typed fields, records, public pages, and OpenAPI/MCP-facing operations.\n\nRepository:\n\nhttps://github.com/hideyukiMORI/nene-records\n\n##  What ties them together?\n\nThe products are different, but they share the same direction.\n\n###  1. API-first boundaries\n\nThe API is the contract.\n\nAdmin screens, public pages, integrations, and AI tools should go through documented HTTP APIs.\n\nThat makes behavior easier to test, review, and expose safely.\n\n###  2. OpenAPI as a shared language\n\nEach product aims to document its public API with OpenAPI.\n\nThat matters for human developers.\n\nIt also matters for AI agents.\n\nIf the API is explicit, a tool can map to the operation without guessing database structure.\n\n###  3. MCP should call the app\n\nI wrote about this in my previous article:\n\nhttps://dev.to/hideyukimori/mcp-should-not-mean-letting-ai-touch-your-database-57p1\n\nMy rule of thumb is:\n\n**MCP tools should wrap application capabilities, not bypass the application.**\n\nThat means:\n\n\n\n    AI Agent\n      -> MCP Tool\n      -> documented HTTP API\n      -> handler\n      -> use case\n      -> repository / transaction boundary\n\n\nNot:\n\n\n\n    AI Agent\n      -> MCP Tool\n      -> direct SQL query\n      -> production database\n\n\n###  4. Boring architecture on purpose\n\nThe stack is intentionally not magical.\n\nMost products follow a shape like:\n\n\n\n    Handler\n      -> Use Case\n      -> Repository\n\n\nThe frontend is a client.\n\nThe database stays behind repositories.\n\nThe MCP layer stays behind HTTP APIs.\n\nThis is boring.\n\nThat is a feature.\n\n##  Why PHP?\n\nBecause PHP still matters for small business software.\n\nIt is widely deployable.\n\nIt is easy to host.\n\nIt is familiar to many developers who work on business systems.\n\nModern PHP can be strict, typed, tested, and API-first.\n\nNENE2 is my attempt to keep PHP small and explicit instead of recreating a large full-stack framework.\n\n##  What is NENE2?\n\nNENE2 is the small framework underneath many of these tools.\n\nIt provides:\n\n  * PSR-style HTTP runtime\n  * explicit routing\n  * Problem Details error responses\n  * OpenAPI contracts\n  * database boundaries\n  * auth middleware\n  * optional frontend starter patterns\n  * local MCP server support\n\n\n\nIt is not trying to replace Laravel.\n\nIt is a small foundation for building business APIs that humans and AI agents can both understand.\n\nFirst DEV article:\n\nhttps://dev.to/hideyukimori/i-built-a-tiny-php-framework-for-ai-readable-business-apis-48eo\n\n##  This is still a work in progress\n\nI do not want to overstate the maturity of the portfolio.\n\nSome tools are close to formal release.\n\nSome are still being refined.\n\nSome deployment paths are Docker-first today, with shared-hosting or managed paths still evolving.\n\nThe goal of the articles I am publishing now is not to claim that every product is finished.\n\nThe goal is to make the architecture, direction, and working software visible.\n\n##  What I am looking for\n\nI am especially interested in feedback from people who care about:\n\n  * self-hosted business software\n  * API-first PHP\n  * OpenAPI contracts\n  * MCP and AI agent boundaries\n  * small tools for real operational workflows\n  * software for teams operating in Japan\n\n\n\nIf you are building similar tools, or thinking about how AI agents should interact with business APIs, I would be happy to hear your perspective.\n\n##  Links\n\n  * GitHub profile: https://github.com/hideyukiMORI\n  * NENE2: https://github.com/hideyukiMORI/NENE2\n  * NeNe Invoice: https://github.com/hideyukiMORI/nene-invoice\n  * NeNe Vault: https://github.com/hideyukiMORI/nene-vault\n  * NeNe Deal: https://github.com/hideyukiMORI/nene-deal\n  * NeNe Contact: https://github.com/hideyukiMORI/nene-contact\n  * NeNe Records: https://github.com/hideyukiMORI/nene-records\n  * nene-mcp: https://github.com/hideyukiMORI/nene-mcp\n\n\n\nI am still refining the NeNe series and NENE2.\n\nBut the shape is becoming clearer:\n\n**small, self-hosted, API-first business tools with AI-readable boundaries.**",
  "title": "I am building self-hosted business tools for small teams in Japan"
}