Week 1 gave you the foundations. Week 2 goes deeper.
Here's what we're publishing next week:
Monday: Authentication Deep Dive
OAuth, API keys, JWTs - what to use and when.
// Sneak peek: Multi-tenant auth pattern
const client = new FerniClient({
apiKey: process.env.FERNI_API_KEY,
auth: {
type: 'jwt',
issuer: 'your-app',
audience: 'ferni-api',
// Automatic token refresh
refreshThreshold: 300,
},
tenantId: user.organizationId,
});
We'll cover:
- When to use API keys vs OAuth vs JWTs
- Multi-tenant authentication patterns
- Secure token storage
- Refresh token best practices
Tuesday: Performance Optimization
How we achieve sub-200ms response times - and how you can too.
Topics:
- Connection pooling strategies
- Context window optimization
- Parallel processing patterns
- Caching for voice AI
Wednesday: Changelog
Automated release notes from our latest deployment. Subscribe to never miss an update.
Thursday: Community Spotlight
Our first case study featuring a developer building voice AI for healthcare. Real metrics, real code, real learnings.
Friday: Error Handling Patterns
Beyond try/catch - building resilient voice applications:
// Preview: Retry with exponential backoff
const response = await withRetry(
() => client.process(input),
{
maxAttempts: 3,
backoff: 'exponential',
onRetry: (attempt, error) => {
// Optionally inform user
if (attempt > 1) {
speak("Just a moment, reconnecting...");
}
},
}
);
Saturday: Voice AI vs Chatbots
A developer's perspective on when to use which - and why voice wins for certain use cases.
Sunday: Week 3 Preview
Next up: Testing strategies, deployment patterns, and more community projects.
Don't Miss Out
Get these posts delivered to your inbox:
Or join the conversation on Discord.
See you Monday!