Captain's Log

Seraya: building a digital invitation catalog from scratch

Seraya: building a digital invitation catalog from scratch

Indonesia has one of the highest wedding rates in Southeast Asia. Every week, thousands of couples search for the right invitation — something personal, modern, and affordable. At the same time, there are hundreds of designers and developers who build beautiful invitation templates but have nowhere to sell them properly.

That mismatch is what Seraya is trying to fix.

The problem

Before Seraya, a template creator had two options: sell through a generic marketplace that takes a large cut and buries their work, or build their own website from scratch — which means handling payments, hosting, and customer support on their own.

Neither option is great for someone who just wants to design and sell.

On the buyer side, finding a good digital invitation meant jumping between Instagram DMs, Tokopedia listings, and personal websites — each with different formats, pricing structures, and demo experiences.

What Seraya is

Seraya is a catalog platform for digital invitation templates. The core idea is simple: creators list their templates, buyers browse and find what fits, and the transaction happens in one place.

The name itself comes from Shorea, a tropical hardwood tree known for its beauty and resilience — a fitting metaphor for something meant to hold up under the pressure of one of life's most important moments.

The current version is a frontend-only showcase — intentionally so. The goal was to validate the visual experience first: can someone land on Seraya and immediately understand what it is, find something they like, and feel confident enough to inquire?

The answer, based on early feedback, was yes.

Design decisions

The UI leans toward warmth and elegance. Invitations carry emotional weight, so the platform needed to feel trustworthy and refined — not like a generic e-commerce grid.

A few choices I made early on:

Template previews are full-screen. Most listing platforms show thumbnails. I went the other way — large, immersive previews that let the design breathe. If someone is choosing an invitation for their wedding, they need to feel it, not just see a small crop.

Minimal UI chrome. The navigation is intentionally light. Nothing should compete with the templates themselves. The platform is a stage; the templates are the performers.

Category-first navigation. Buyers often don't know the exact style they want, but they know the occasion — wedding, engagement, birthday, aqiqah. Filtering by category reduces decision fatigue and gets people to relevant results faster.

Why Astro

I chose Astro for the initial build for a few reasons.

First, this is content-heavy and largely static — no real-time data, no authenticated state per user. Astro's zero-JS-by-default philosophy meant the pages load fast and the bundle stays small, which matters on mobile (where most Indonesian users browse).

Second, Astro's island architecture lets me add interactive components — a template preview modal, a filter sidebar — exactly where needed, without hydrating the entire page.

That said, Seraya is designed to be stack-agnostic. The underlying concepts — the catalog structure, the template schema, the browsing flow — translate cleanly to Next.js, Nuxt, SvelteKit, or a Laravel backend with any frontend on top. The Astro version is the reference implementation, not the ceiling.

This is a single-page concept — deliberately

Seraya right now is a single-page design. No backend, no auth, no payment flow. That's not a limitation — it's a choice.

The goal of this build is to communicate the idea clearly enough that the right person sees it and wants to build it properly. The UI shows what Seraya should feel like. The data model shows what it needs to work. Everything else — the seller dashboard, the file delivery system, the transaction layer — is a solved problem once there's someone who actually wants to solve it together.

I know how to build all of it. What I'm looking for is a co-builder: a template creator who wants a storefront, a developer who sees the same gap I see, or a business person who understands the Indonesian creative market. If you're any of those — this conversation is already started.

There's no ceiling on what Seraya can become. The current version is the invitation.

What I learned from the design

The most interesting design problem wasn't the UI — it was the template schema. What fields does a template listing need? Title, price, category, tags, preview images, a demo link, supported formats, customization options — each field is a conversation with both sides of the marketplace.

Getting that schema right before building the data layer would have saved a full rewrite cycle. I learned this the hard way after building the UI first and realizing the preview component needed fields I hadn't planned for.

Model your data before you design your UI. It sounds obvious in hindsight.


Seraya is live at seraya-lake.vercel.app. If you're a template creator, a developer, or anyone who sees the same problem — reach out. Let's build it.