You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
description: "How Searchcraft, a Rust-based Algolia alternative, built Vektron - their full-stack user dashboard - with Wasp and the Open SaaS template."
8
-
unlisted: true
7
+
description: "How Searchcraft, a Rust-based Algolia alternative, built their full-stack customer dashboard with Wasp and the Open SaaS template."
alt="Searchcraft - a Rust-based search engine, with Vektron, its Wasp-powered user dashboard"
15
+
alt="Searchcraft - a Rust-based search engine, with its Wasp-powered customer dashboard"
17
16
/>
18
17
19
18
20
19
## TL;DR
21
20
22
21
-**[Searchcraft](https://searchcraft.io)** is a search engine written in Rust: an Algolia / Elasticsearch alternative that's light enough to run full-text search over all of English Wikipedia [on a single Raspberry Pi](https://www.youtube.com/watch?v=SjuPn6_yl2s).
23
-
-**Vektron**, their full-stack user dashboard (auth, billing, analytics, index management), is built with **Wasp** and the [Open SaaS](https://opensaas.sh) template.
22
+
-Their full-stack customer dashboard (auth, billing, analytics, index management) is built with **Wasp** and the [Open SaaS](https://opensaas.sh) template.
24
23
- They could have built the SaaS layer themselves, but chose not to, so their engineering time stays in the Rust engine where they actually compete.
25
24
- Wasp compiles to standard React + Node.js + Prisma, deployed on their own AWS and CI/CD. No lock-in, no restructuring.
26
25
@@ -40,7 +39,7 @@ And they're in production. Their first customer is a publisher running 22 local
alt="Vektron's onboarding screen: import documents from a feed URL, a file, or WordPress"
42
+
alt="The onboarding screen: import documents from a feed URL, a file, or WordPress"
44
43
caption="The onboarding screen - Searchcraft's design is super cool!"
45
44
/>
46
45
@@ -50,44 +49,42 @@ They could have built it, but chose not to. The SaaS layer is a hundred solved p
50
49
51
50
The answer came from inside the house: Don, the CTO, had been following Wasp. [Open SaaS](https://opensaas.sh), Wasp's open-source template, meant auth, payments, and an admin panel existed on day one, as code they own, not services they rent. And they evaluated it like engineers: everything Wasp generates is standard React, Node.js, and Prisma they could read, trust, and run themselves, no magic to open up. **It's their code**, and it compiles to one integrated stack built to keep holding together as the app grows.
52
51
53
-
## What they built: Vektron
52
+
## What they built: the full-stack customer dashboard
54
53
55
-
Vektron is Searchcraft's control room, "a product within a product," where customers run everything from document ingestion to search tuning, team management, and analytics.
54
+
The dashboard is Searchcraft's control room, "a product within a product," where customers run everything from document ingestion to search tuning, team management, and analytics.
56
55
57
-
> **"Vektron is our Wasp app, it's the user portal. We just like to give things cool code names."**
58
-
59
-
Three moments show what's actually running under the UI, because Vektron isn't a static admin panel, it's a full-stack app where Wasp is doing real work end to end:
56
+
Three moments show what's actually running under the UI, because the dashboard isn't a static admin panel, it's a full-stack app where Wasp is doing real work end to end:
alt="Vektron organization dashboard with live usage stats, conversion and retention scores"
60
+
alt="Organization dashboard with live usage stats, conversion and retention scores"
64
61
caption="What's behind this screen: server-side queries turning raw search events into live stats and multi-tenant access control, all in one Wasp codebase."
alt="Vektron application view with the index registry and total searches chart"
66
+
alt="Application view with the index registry and total searches chart"
70
67
caption="What's behind this screen: a multi-tenant index registry in Prisma, kept in sync with the Rust engine over one API, with search events rolled up into the time windows above. The chart is React; the plumbing is Wasp's type-safe operations."
alt="Vektron organization settings with subscription plans and upgrades"
72
+
alt="Organization settings with subscription plans and upgrades"
76
73
caption="What's behind this screen: subscription plans and upgrades, the billing machinery every SaaS needs and nobody wants to hand-roll, running in the same Wasp app and wired into the quotas from the first screen."
77
74
/>
78
75
79
76
Around those three screens sits the rest of a real SaaS: an ingestion pipeline that infers the schema as it pulls documents in, crew management with roles, access keys as managed secrets, and a code-snippets page that takes a frontend dev from API key to working search box in minutes. Multi-tenant, role-based, revenue-carrying, and it looks the part. For a search company, the user portal *is* the brand.
80
77
81
78
## How it runs: Wasp next to Rust
82
79
83
-
The shape is the interesting part. On one side, the Searchcraft engine and its supporting services (provisioning, ingestion), all Rust, all theirs. On the other, Vektron: a Wasp app (React + Node.js + Prisma) that talks to the engine over an API. Customer apps consume search through the SDKs and never know the portal exists.
80
+
The shape is the interesting part. On one side, the Searchcraft engine and its supporting services (provisioning, ingestion), all Rust, all theirs. On the other, the customer dashboard: a Wasp app (React + Node.js + Prisma) that talks to the engine over an API. Customer apps consume search through the SDKs and never know the portal exists.
84
81
85
82
Here's the architecture, drawn by the Searchcraft team:
alt="Architecture diagram: Vektron (Wasp app), Searchcraft Server (Rust), provisioning and ingestion services (Rust), SDKs, customer apps"
90
-
caption="Vektron, the Wasp app, handles users, configuration, and analytics; the Searchcraft engine and its Rust services do the search. One API connects them, and customer apps reach search through the SDKs."
86
+
alt="Architecture diagram: the customer dashboard (Wasp app), Searchcraft Server (Rust), provisioning and ingestion services (Rust), SDKs, customer apps"
87
+
caption="The dashboard, a Wasp app, handles users, configuration, and analytics; the Searchcraft engine and its Rust services do the search. One API connects them, and customer apps reach search through the SDKs."
91
88
/>
92
89
93
90
**Two systems, one product, one API between them.**
0 commit comments