Rimba Atelier
A bilingual storefront and operating dashboard that took a local leather atelier online without making a developer the bottleneck.
- Status
- In production
- Source
- Public
- Evidence
- Production site · Architecture · Data model · Workflow · Screenshots
- Stack
- TypeScript · Next.js · React · PostgreSQL · Prisma
01
Overview
What this is
Rimba Atelier is a public storefront and an authenticated operating dashboard for a maker-led leather atelier. The storefront presents the brand, catalogue, product detail, and editorial content in Indonesian and English; the admin gives the business one place to manage the material those pages depend on.
The product was built as two independently deployed applications over a shared PostgreSQL model. That separation keeps the public surface narrow while giving the owner a purpose-built workspace for products, availability, media, navigation, homepage composition, and translations.
Built for Rimba Atelier: a working leather-goods business that needed a public digital home and an internal publishing surface it could operate without a developer.
The problem
A static or developer-managed site would turn ordinary catalogue and content changes into engineering work. The atelier needed to publish in two languages, keep product information and imagery coherent, and evolve the storefront without duplicating the same content across separate systems.
What I built and owned
I shaped the product, designed and built the storefront and admin applications, defined the shared content and commerce model, implemented the localization and publishing workflows, and carried the system through production deployment. Rimba Atelier owns the products, brand, photography, and business operations.
This case study covers the software I designed and built. Rimba Atelier’s products, brand, photography, and business operations remain its own.
02
Detail
How it works
One source of truth, two operating surfaces
The split between storefront and admin is an operating decision, not a diagramming preference. Public visitors receive the catalogue and editorial experience; authenticated users receive the tools that change it. Both applications depend on the same product and content definitions, so publishing does not mean synchronizing two versions of the truth.
The admin is intentionally specific to the atelier. It exposes product readiness, media, localized fields, navigation, and page composition in the language of the business rather than asking an owner to understand a generic database console.
3 images · select one to open the full view
What the system gives the atelier
- 01
One bilingual catalogue
Products and editorial content carry Indonesian and English variants without becoming two disconnected sites.
- 02
Owner-operated publishing
Products, availability, media, navigation, and homepage content can change without a deployment.
- 03
Actionable completeness
The admin names blockers and warnings so “ready to publish” has an operational meaning.
- 04
A narrow public boundary
The storefront has no reason to carry admin authentication, content mutation, or upload credentials.
Diagram · select to open the full view
Text description of this diagram
Rimba Atelier has two independently deployed applications. The public storefront is a read-only consumer of catalogue and editorial content. The authenticated admin is the write surface for products, availability, media references, navigation, page composition, translations, publishing state, and completeness rules.
Both applications use one shared PostgreSQL domain model. Media files are delivered from external storage while the database keeps their references and content relationships. This keeps the public application narrow without creating a second catalogue to synchronize.
This case study claims the live storefront and its content operation. It does not claim sales uplift, payment integration, shipping automation, or business metrics that have not been measured and approved for publication.
03
Result
What came of it
04
Links
Where to look
Something similar in mind?
If this is close to a problem you have, the fastest thing is usually a short conversation about what you are actually trying to change.
Discuss a project