Hanna Hosk
← All projects

Moiwak portalOne portal that runs a whole store

An operations portal for a startup with a web shop and a physical outdoor and clothing store. It sits on top of Shopify and the ERP system, and handles images, products, suppliers, stock and numbers in one place.

For
Moiwak, a startup
Year
2026 – now
Status
Live, growing
SourcesPortal coreWays inUsed byShopifySpecter ERPSupplier filesand portalsPhone scannerShared codeand rulesSupabasedatabasePortal modulesMCP serverAssistantStore teamTeam's ownAI tools
How data moves through the Moiwak portal. Hover a box to see its connections. Swipe sideways to see all of it.

Problem

Running a physical store and a web shop meant the same work in several systems. Images, product data, supplier files and stock counts were all handled by hand.

What I built

A portal made of modules that each solve one job. They share one database and one set of rules. The team, the MCP server and the assistant all go through the same code, so people and agents get the same checks.

Result

Live and used by the store team. About 2,000 commits so far, and it keeps growing one module at a time.

Stack

  • Next.js 16
  • TypeScript
  • Supabase
  • MCP
  • Vercel AI SDK
  • OpenRouter
  • Shopify GraphQL
  • Specter ERP
  • Firecrawl
  • fal.ai
  • Railway
  • Vitest
  • Playwright

11 modulesOne system

Each module works as a solution of its own. They also share data and talk to each other. Hover a module to see its connections.

Media assetsProductsTranslationsSuppliersPhone appKPI dashboardIssue scannerMCP serverAssistantSEO and AEO agentMarketing agent

Media assets

Talks to Products, MCP server

A private library for every image that is not a product photo.

  • –AI suggests file names, alt text in two languages and tags on upload
  • –Send an image to Shopify with one click
  • –AI upscaling, compared side by side before you swap
  • –Shows where each image is used, and blocks deleting images in use

Products

Talks to Suppliers, Phone app, Translations, Issue scanner

Search and edit the whole catalogue, kept close to live with Shopify webhooks.

  • –Product editor with prices, barcodes and variants
  • –Automatic enrichment fills in missing data, photos and descriptions
  • –A price guard takes products with a wrong price offline
  • –Every change to the shop is logged

Translations

Talks to Products

Every shop text in Swedish and English, in one place.

  • –Read, edit and review side by side
  • –AI translation that follows the shop's voice rules

Suppliers

Talks to Products

One page per supplier, with photo sources and product facts.

  • –Reads supplier portals and price files
  • –Matching photos go straight onto the product
  • –Second-hand consignment intake

Phone app

Talks to Products, Issue scanner

A web app for the shop floor, installed on the phone's home screen.

  • –Scan barcodes with the camera to look up any item
  • –Receive deliveries and send stock changes to the ERP
  • –Count stock one brand at a time
  • –Unknown barcodes can become a new product or variant on the spot

KPI dashboard

Talks to Products, Shopify, Specter, Fortnox

The store's key numbers, worked out by tested code.

  • –Stock figures read from Shopify every day
  • –AI writes short readings, but never does the maths

Issue scanner

Talks to Products, Phone app

One place for everything that has failed or needs a look.

  • –Finds duplicate and broken catalogue data
  • –Alerts for webhooks, ERP follow-ups and AI credits

MCP server

Talks to Media assets, Products, Assistant

Lets the team use their own AI tools on the portal.

  • –Personal keys that follow the owner's role and permissions
  • –Read-only by default, with write tools per permission
  • –Holds no logic of its own, so it follows the same rules as the portal

Assistant

Talks to MCP server

A help chat inside the portal.

  • –Reads live data through the same tools as the MCP server
  • –Learns the rules from the portal's own docs, which update with every deploy
  • –A test fails if its screen guide no longer matches the interface

SEO and AEO agent

Talks to Marketing agent, KPI dashboard

In progress. An agent that audits the shop's site and tracks how it is found.

  • –Checks technical SEO, page content, structured data and accessibility
  • –Tracks rankings, competitors and whether AI answers cite the shop
  • –Measures before and after every fix

Marketing agent

Talks to SEO and AEO agent, Media assets

In progress. An agent that plans and drafts the shop's content.

  • –Blog posts, page updates, social posts and newsletters, written for search and AI answers
  • –A posting schedule, competitor and trend checks, and post stats

More projects