Launch Your First SaaS on nfyio in 60 Seconds
From signup to a live backend — database, auth, storage, vector memory and billing, all provisioned in one gofyio wizard run on the nfyio developer cloud.
nfyio Team
Hilal Technologic
Launch Your First SaaS on nfyio in 60 Seconds
nfyio is the developer cloud for launching SaaS. Instead of stitching together a database, an auth provider, object storage, a vector store and a billing system from five different vendors, you answer a few questions in the gofyio wizard and nfyio provisions all of it for you — on a managed TR/EU cloud.
This guide takes you from signup to a working backend.
1. Create your account
Sign up at cloud.nfyio.com/signup — no credit card required. During onboarding you pick your data region (Turkey or EU); everything you provision afterwards runs there.
2. Run the gofyio wizard
From the dashboard (or the CLI) start a new project:
nfyio launch my-saas
Answer 7 questions and gofyio provisions every service in one run:
- authfyio — OAuth, magic links and sessions
- basefyio — Postgres, object storage and pgvector memory
- envfyio — sealed secrets, auto-injected
- buildfyio — repository → deploy pipeline
- payfyio — Stripe checkout and subscriptions
When it finishes you have a live project — typically in under a minute.
3. Install the SDK
npm install @nfyio/sdk
4. Connect to your project
The SDK reads your project credentials from the environment variables envfyio injected during provisioning:
import { basefyio } from '@nfyio/sdk'
const db = basefyio.db // postgres
const storage = basefyio.storage // object storage
const vector = basefyio.vector // pgvector memory
5. Read and write data
// Insert a row
await db.from('users').insert({ email: 'ada@example.com', name: 'Ada' })
// Query it back
const users = await db.from('users').select()
6. Store files
// Upload to object storage
await storage.upload('avatars/ada.png', file)
// Get a shareable URL
const url = await storage.getUrl('avatars/ada.png')
7. Give your agents memory
// Store context
await vector.memory.store({
content: 'user prefers dark mode',
namespace: 'user-prefs',
})
// Retrieve it by meaning
const ctx = await vector.memory.context({
prompt: 'what does this user prefer?',
topK: 5,
})
What’s next?
Written by
nfyio Team
Hilal Technologic
Building nfyio — the developer cloud for launching SaaS. Writing about infrastructure, AI, and shipping products fast.