A fastmedia.pro Build

Crafting Standa Toys:
A Modern Global E-Commerce Build

A full-stack case study documenting the storefront, admin back-office, automation layer, backend functions, and data model behind a made-to-order wooden toy e-commerce destination.

14

Backend Functions

14+

Data Entities

3

Automated Workflows

2

Currencies

Estimate Your Project
01The Brief

Project Overview & Challenge

The Challenge

  • 01Bring a traditional Bohemian woodcarving workshop online as a global, made-to-order e-commerce destination.
  • 02Support bespoke commissions with an AI-assisted inquiry flow, not just off-the-shelf checkout.
  • 03Handle dual-currency pricing (CZK / EUR), real-time Czech Post shipping rates, and PayPal payments.
  • 04Give the craftsman a full back-office: order tracking, production kanban, email centre, and analytics.
  • 05Stay GDPR-compliant, mobile-first, and fast — without a team of engineers to maintain it.

The Solution

  • →A single full-stack application covering storefront, admin, automations, and data — one codebase, one deploy.
  • →AI-assisted custom order intake that suggests wood, size, and finish based on the customer's description.
  • →Server-side price recalculation at checkout to prevent client manipulation, wired to PayPal.
  • →A drag-and-drop kanban that auto-imports orders, plus a templated email centre with full send logging.
  • →Scheduled automations for postage rate refresh and low-stock alerts, with a dynamic XML sitemap for SEO.
02The Experience

Storefront Experience

The public storefront was designed to feel like a gallery, not a warehouse — warm, spacious, and built around the story of each piece. Every page is mobile-first, dual-currency, and SEO-optimised.

Homepage & Collection

A hero-driven landing page with live video support, full-text search, and a filterable product grid. Visitors filter by category, age range, wood type, and price — with pull-to-refresh on mobile and animated product cards that surface stock status, age badges, and social sharing.

Hero video / imageFull-text searchMulti-axis filtersPull-to-refreshCurrency toggle (CZK / EUR)SEO + JSON-LD schema
standatoys.base44.app
Standa Toys
CZK → €

Handcrafted in Bohemia

Handcrafted wooden toys from Czech Republic

Search toys, wood types…
Filters
Large Tractor

Large Tractor

Oak · 3,400 CZK

Armored Vehicle

Armored Vehicle

Oak · 1,800 CZK

Armoured Tank

Armoured Tank

Oak · 1,500 CZK

Small Tractor

Small Tractor

Oak · 1,200 CZK

Product Detail

Each toy gets a rich detail page: image gallery with lightbox, full specifications (wood, joinery, finish, dimensions, weight), verified customer reviews, community photo gallery, Pinterest/social sharing, and a persistent handcrafted disclaimer. Admins see an inline edit shortcut.

Image gallery + lightboxFull craft specificationsVerified reviewsCommunity photosSocial sharing (Pinterest, X, WhatsApp)Admin edit shortcut
standatoys.base44.app/product/:id
Vehicles · Oak

Large Tractor

Crafted from solid oak, this large tractor invites imagination and will outlast every childhood.

3,400 CZK≈ €136
Wood: European Oak
Joinery: Mortise & Tenon
Finish: Beeswax
Dimensions: 22 × 10 × 14 cm
Add to Cart♡

Custom Order Flow

The signature experience. Customers describe the child, the environment, and their dream toy. An AI assistant suggests wood type, size, finish, and an estimated price range. Submissions create an inquiry record, auto-reply to the customer, and notify the workshop — all in one transaction.

AI craft assistantBudget & gift optionsAuto-reply emailAdmin notificationGift wrapping (+150 CZK)Honeypot spam protection
standatoys.base44.app/custom-order

Custom Orders

Commission a Custom Handcrafted Toy

Your Name *

Tomáš Novák

Email *

tomas@email.cz

Child's Age

3 years old

Budget Range

1,000–2,000 CZK

Describe your dream toy *

A small wooden horse with wheels that the child can pull along…

✦ AI Craft Assistant

Suggested: Linden wood (lightweight), 18cm, beeswax finish, pegged joinery. Est. 1,400 CZK · 2-week lead time.

Submit Inquiry

Cart & Checkout

A cart with live Czech Post shipping rate calculation by weight tier, dual-currency totals, and PayPal checkout. The backend recalculates totals server-side from item data to prevent client-side manipulation, then redirects to a pre-filled PayPal payment page.

Weight-based shippingDual-currency totalsServer-side price verificationPayPal redirectOrder confirmation emailAdmin order notification
standatoys.base44.app/cart

Your Cart

Large Tractor

×1

3,400 CZK

€136

Small Tractor

×2

2,400 CZK

€96

Shipping (Balíkovna · 2kg)89 CZK
Total5,889 CZK · €235
Checkout with PayPal

Blog & Vlog

A workshop journal with video-cover support, category filtering, and per-post social sharing. Each post renders rich text, related posts, and a newsletter signup. Published posts feed the dynamic sitemap automatically.

Video cover supportRich text editorRelated postsNewsletter signupSocial share per postAuto-sitemap inclusion
standatoys.base44.app/blog

From the Workshop

Stories, Guides & Videos

How to Build a Garden Bench with a Hidden Storage Compartment

Craftsmanship · 5 min read

Beginner's Gold Mine: Profitable Wagon Planter Step-by-Step

Craftsmanship · 5 min read

3 Easy Ways to Make a Mortise and Tenon Joint

Craftsmanship · 5 min read

03The Engine Room

Admin Back-Office Suite

A complete back-office gives the craftsman full control — from product creation with AI tools, through a drag-and-drop production board, to branded customer emails and shipping updates.

standatoys.base44.app/admin/dashboard

Dashboard

Welcome to your workshop back office

KanbanEmailAnalytics

Products

24

18 in stock

New Inquiries

7

12 total

Subscribers

143

newsletter

Reviews

38

2 pending

⚠ 3 products below inventory threshold (5 units)

Recent Inquiries

Tomáš N. — Pull-along horseNew
Anna K. — Stackable animalsNew
Petr D. — Miniature villageNew
standatoys.base44.app/admin/kanban-board

Kanban Board

To Do2

Order: Tomáš — Pull horse

MedOrder

Order: Anna — Animals

MedOrder
In Progress2

Order: Petr — Village

MedOrder

Carve oak wheels

Med
Review1

Order: Eva — Cannon

MedOrder
Done1

Order: Martin — Tractor

MedOrder
standatoys.base44.app/admin/analytics-&-seo

Analytics & SEO

2,847

Page Views

42

Inquiries

4.8

Avg Rating

Inquiries — last 14 days

Mobile
62%
standatoys.base44.app/admin/order-tracking

Order Tracking

Order: Tomáš NovákIn Transit
1
2
3
4
5
6
7
8
9
Carrier: Česká pošta
Tracking: DR12345678CZ
ETA: Sep 18, 2026
Toy: Pull-along horse
standatoys.base44.app/admin/email-centre

Email Centre

All EmailsNewslettersCompose

Re: Your Custom Toy Inquiry

To: tomas@email.cz

sent

Your Custom Toy Quote is Ready

To: anna@email.cz

sent

From the Workshop — Stories in Wood

To: subscribers@list

sent
D

Dashboard

Live stats: products, inquiries, blog, notifications, subscribers, reviews. Low-stock and sold-out alerts surface instantly.

P

Product Management

Full CRUD with AI tools: generate marketing copy, studio product photos, lifestyle imagery, and price recommendations. Auto-calculates weight from wood density + dimensions.

K

Kanban Board

Drag-and-drop order & task board (Backlog → Done). Auto-imports custom orders as cards. Priority badges, due dates, and order-type tags.

O

Order Tracking

12-stage order lifecycle with carrier, tracking number, and estimated delivery. One click sends a branded shipping-status email to the customer.

E

Email Centre

Templated replies (inquiry, quote, order confirmed, newsletter, welcome), full send history, and a compose tab. Every send is logged for audit.

A

Analytics & SEO

14-day inquiry trends, device breakdown, geo-map of visitors, and an integrated SEO dashboard scoring every product and blog post.

P

Production Calendar

Workshop scheduling view mapping estimated completion dates to orders, so the craftsman can see the production pipeline at a glance.

M

Media Manager

Centralised site media slots (hero video, etc.) with upload and label management — swap homepage media without touching code.

A

Audit Log

Every admin action (login, create, update, delete, publish) is recorded with user, role, entity, and timestamp — full accountability.

R

Review Moderation

Approve or reject customer reviews with a real-time pending counter. Verified-purchase badges highlight authentic reviews.

U

User Management

Invite team members as admins or editors, manage roles, and control back-office access. Users self-serve account deletion (GDPR).

B

Bulk Import

Import products from Google Sheets via OAuth connector, or paste spreadsheet data directly. A 4-step wizard previews before publishing.

04Under the Hood

Automation & Backend Architecture

Three scheduled and event-triggered workflows run automatically, backed by 14 serverless backend functions that handle payments, shipping, email, analytics, and GDPR — all without manual intervention.

Automated Workflows

CRON / EVENT

Daily Postage Rate Refresh

Scheduled · cron 0 4 * * * (04:00 UTC daily)

Invokes getPostageRates — verifies Czech Post shipping prices via LLM web search, caches results in the database with a 24h TTL, and falls back to hardcoded rates if the lookup fails.

CRON / EVENT

Daily Low Stock Check

Scheduled · cron 0 7 * * * (07:00 UTC daily)

Invokes checkLowStockInventory — scans all products below the 5-unit threshold and emails every admin a formatted low-stock alert, plus creates an in-app notification.

CRON / EVENT

New Inquiry Notification

Entity trigger · on CustomInquiry create

Invokes onNewInquiry — creates an admin notification, sends a warm auto-reply to the customer, and logs the email in the Email Centre for full visibility.

14 Backend Functions

Commerce

submitCustomInquiry()

Creates an inquiry record and emails workshop owners with the full customer brief.

Automation

onNewInquiry()

Auto-replies to the customer, notifies admins in-app, and logs the email.

Payments

paypalCheckout()

Recalculates totals server-side, builds the PayPal URL, and emails both customer and admin.

Shipping

getPostageRates()

Returns Czech Post rates — LLM-verified, cached 24h, with a hardcoded fallback.

Fulfilment

sendShippingUpdate()

Updates order status and sends a branded tracking email with carrier + ETA.

Inventory

checkLowStockInventory()

Scans stock levels and emails admins a formatted low-stock alert.

Security

sendContactMessage()

Delivers contact form to a secret email — honeypot + length caps, no recipient leak.

Marketing

subscribeNewsletter()

Dedupes, stores the subscriber, sends a welcome email, and logs it.

Comms

sendEmail()

Admin email send with templated bodies and full audit logging.

Analytics

trackPageView()

Records page views with device detection and IP geo-resolution.

Data

importProductsFromSheets()

Pulls product rows from a Google Sheet via OAuth connector.

Data

bulkUploadProducts()

Parses pasted spreadsheet data into product records with validation.

SEO

sitemap()

Generates a dynamic XML sitemap from all products and published posts.

GDPR

deleteAccount()

Permanently deletes a user's record — GDPR right to erasure.

05The Foundation

Data Model Schema

14+ core entities model the entire business — from products and bespoke commissions to emails, analytics, and audit trails. Each entity carries Row-Level Security so customers see only their own data, while admins see everything.

Product

24 fields

The core catalog item — title, price (CZK/EUR), wood, joinery, finish, dimensions, weight, images, SEO, stock.

RLS:Public read

CustomInquiry

16 fields

A bespoke commission request with AI suggestions, budget, gift options, and a 12-stage order lifecycle.

RLS:Owner + admin

BlogPost

8 fields

Workshop journal entries with rich text, video covers, categories, and publish flags.

RLS:Public read

Review

7 fields

Customer ratings and reviews with approval workflow and verified-purchase badges.

RLS:Public read

KanbanTask

9 fields

Order and task cards for the drag-and-drop production board, linked to inquiries.

RLS:Assignee + admin

EmailMessage

8 fields

Full outbound email history — subject, body, direction, status, linked inquiry.

RLS:Admin only

Notification

7 fields

In-app alerts for inquiries, orders, reviews, and system events.

RLS:Admin only

PageView

12 fields

Analytics records — page, device, geo-IP, referrer, duration, session.

RLS:Admin only

NewsletterSubscriber

4 fields

Email subscribers with active flag and signup source tracking.

RLS:Admin only

Wishlist

9 fields

Per-user saved products with cached price, image, and stock status.

RLS:Owner only

CommunityPhoto

6 fields

Customer-uploaded product photos with moderation flags.

RLS:Public read

AuditLog

9 fields

Immutable record of every admin action — user, role, entity, action, timestamp.

RLS:Admin only

SiteMedia

3 fields

Centralised media slots (hero video, etc.) swap-able from the admin.

RLS:Admin only

PostageRateCache

1 fields

Cached serialised shipping rates, refreshed daily by the scheduled workflow.

RLS:Admin only
06The Standards

Performance & Compliance

100%

Lazy-loaded admin routes

All 19 admin pages are React.lazy + Suspense code-split, so the storefront loads instantly.

44px min

Mobile touch targets

Every interactive element meets the 44px (min-h-11) touch target standard for WebView readiness.

14px

Minimum font size

No meaningful text falls below 14px (text-sm) anywhere in the mobile interface.

Enforced

GDPR cookie consent

A global cookie banner with localStorage consent tracking, linked to a full cookie policy.

14 rules

Row-Level Security

Every entity has RLS — customers see only their own inquiries and wishlists; admins see everything.

3 pages

Pull-to-refresh

Homepage, blog, and order pages support pull-to-refresh with query invalidation on mobile.

07What's Next

Future Buildable Roadmap

Every item below is buildable with the existing stack — no new infrastructure required. Each leverages the data model, integrations, and automation layer already in place.

2 weeks

AI-Powered Product Recommendations

A 'you may also love' engine that suggests complementary toys based on wood type, age range, and browsing history — using the existing LLM integration to generate personalised picks.

3 weeks

Multi-Language Storefront

Auto-translation of product descriptions, blog posts, and UI strings into German, English, and Czech — leveraging the existing useAutoTranslate hook already powering the admin panel.

4 weeks

Loyalty & Rewards Portal

A returning-customer rewards system with points per order, tier badges, and a 'My Workshop' dashboard — built on the existing Wishlist and CustomInquiry entities.

3 weeks

Advanced Analytics Dashboard

Cohort retention, conversion funnels, and revenue forecasting on top of the existing PageView and inquiry data — with exportable PDF reports for the craftsman.

5 weeks

Subscription Box Service

A quarterly 'Workshop Box' with a curated toy, a story card, and a wood sample — recurring billing via Stripe, built on the existing payment and email infrastructure.

4 weeks

Wholesale & B2B Portal

A separate pricing tier and bulk-order flow for toy shops and museums, with net-30 invoicing and a dedicated inquiry pipeline in the admin.

Want a build like this?

Get an instant estimate for your project with the fastmedia.pro interactive cost estimator.

Estimate Your Project

Case Study Prepared by fastmedia.pro

Standa Toys · Handcrafted in Czech Republic · 2026

We use cookies to keep you logged in, remember your cart and favourites, and understand how visitors use our site. See our Cookie Policy for details.