
CertFlow
An AI-augmented certification study platform built with Next.js that pairs a curated question bank with pluggable AI providers to deliver an exam simulator, an AI tutor, topic deep dives, and progress tracking across multiple certifications.
Type: Product
Status: Completed
Date: 7/22/2026
- Next.js 16
- React 19
- TypeScript
- Tailwind CSS 4
- Vitest
- React Markdown
- OpenAI SDK
- Anthropic SDK
- Google Generative AI
- Ollama
Overview
CertFlow is an AI-augmented certification study platform built with Next.js. It combines a curated question bank with pluggable AI providers to offer an exam simulator, an AI tutor, topic deep dives, and progress tracking across multiple certifications — all running entirely in the browser with no backend required for content.
Unlike generic quiz apps, CertFlow was architected so that certifications are pure data, AI access flows through a single provider-agnostic interface, and user configuration (including API keys) never leaves the browser. The result is a flexible, privacy-respecting study tool that works out of the box with an offline Mock provider and scales up to real large-language-model providers when you supply your own keys.
Motivation
Preparing for a technical certification means grinding through practice questions, understanding why answers are right or wrong, and identifying weak spots before exam day. Existing tools fell short:
- Static question dumps offer no explanation, no adaptivity, and no way to go deeper on a shaky topic
- Subscription platforms lock content behind paywalls and send your study data to their servers
- Single-provider AI tools tie you to one vendor's key, pricing, and availability
- Backend-heavy apps require infrastructure just to serve what is essentially static content
CertFlow was conceived to bridge these gaps by creating a platform that:
- Explains, not just scores: Every question carries a correct-answer rationale and per-option "why others are wrong" notes
- Goes deeper on demand: Any topic can be expanded into an AI-generated deep dive with worked examples and exam tips
- Stays vendor-neutral: A pluggable provider interface supports Mock, OpenAI, Anthropic, Google Gemini, Ollama, and any custom OpenAI-compatible endpoint
- Keeps data local: Content is static JSON and provider settings live only in the browser's
localStorage - Works offline first: The built-in Mock provider requires no API key, making the app fully functional out of the box
The goal was a study companion that is genuinely useful, honestly explanatory, and respectful of both the user's wallet and their data.
System Architecture
CertFlow is built on a modern, content-as-data Next.js architecture that keeps AI access abstract and state management simple:
Next.js App with React 19 The platform is built on Next.js 16 with React 19 and TypeScript, styled with Tailwind CSS 4. It renders a multi-feature single-page study experience with a global footer on every page.
Static Content as Data All certification content is static JSON served from
public/data/certifications/— there is no database and no backend required for content. Each certification lives in its own id-keyed folder containingconfig.json(metadata + exam details),topics.json(topics and subtopics), andquestions.json(the curated question bank), tied together by a top-levelindex.jsonmanifest. Canonical TypeScript definitions for every shape live inlib/types/certification.ts.Pluggable AI Provider Interface AI access goes through a single provider-agnostic
AIProviderinterface behind anAIService. Supported providers include Mock (offline demo, no key), OpenAI, Anthropic, Google (Gemini), Ollama (local models via a server-side/api/chatroute), and Custom (any OpenAI-compatible endpoint with a base URL). Swapping providers requires no changes to feature code.Browser-Local Configuration Provider choice, API key, model, and other options are configured in the app's Settings page and persisted to
localStorage— nothing is sent to a CertFlow server. Settings survive reloads within the same browser.Hook and Context State Management Application state is managed with React hooks and Context (via a
SettingsProvider) rather than a heavyweight store, keeping the data flow explicit and easy to reason about.Data-Only Multi-Certification Model Adding a certification means creating a new folder under
public/data/certifications/<id>/with its three JSON files and registering it in the manifest — no code changes required. The app ships with Snowflake SnowPro Core, AWS Certified Developer – Associate, and AWS Certified Data Engineer – Associate.
Key Features
Exam Simulator Configurable practice quizzes let users choose question count, difficulty, and topic filter, then work through them with per-question review, detailed explanations, and pass/fail scoring aligned to the certification's real score range.
AI Tutor A provider-backed chat assistant, grounded in the selected certification, answers questions and clarifies concepts conversationally — using whichever AI provider the user has configured.
Topic Map & Deep Dive Users can browse a certification's exam topics and subtopics and expand any topic into an AI-generated deep dive covering an overview, worked examples, real-world context, and exam tips — turning a syllabus outline into on-demand study material.
AI Question Generation & Validation Beyond the curated bank, CertFlow can generate additional practice questions on demand and score them for clarity, topic alignment, and correctness, so generated content is quality-checked before it reaches the learner.
Progress Tracking Per-topic performance is tracked over time with weakness detection, helping users focus their study effort where it matters most rather than re-covering material they already know.
Multi-Certification Support Because certifications are defined purely as data, users can switch between them freely. The app ships with Snowflake SnowPro Core, AWS Certified Developer – Associate, and AWS Certified Data Engineer – Associate, and new certifications drop in as JSON.
Multiple AI Providers A single Settings screen lets users pick Mock, OpenAI, Anthropic, Google Gemini, Ollama, or a custom OpenAI-compatible endpoint, enter a key where required, and choose a model — with the Mock provider ensuring the app is fully usable offline and for demos.
Global Footer Every page carries a footer with a "Buy me a coffee" donation link, project and license links, an AI-content disclaimer, and the current app version — keeping attribution and transparency consistent throughout.
Technical Excellence
The project demonstrates several web development best practices:
- Provider Abstraction: A single
AIProviderinterface behindAIServiceisolates every AI vendor behind one contract, so features never depend on a specific provider - Content/Code Separation: Certifications are static JSON with canonical TypeScript types, keeping content authoring independent of application logic
- TypeScript Throughout: Canonical type definitions in
lib/typesdescribe every content and settings shape for compile-time safety - Backend-Free Content: Static files under
public/data/mean no database or server is needed to serve or update the question bank - Local-Only Settings: Provider configuration and keys persist to
localStorage, never to a CertFlow server - Deterministic, Offline Testing: The Vitest suite (with React Testing Library and happy-dom) tests AI-dependent code against the Mock provider so tests never hit a real network
Privacy & Data Ownership
CertFlow is designed so that users retain control of their data:
- No content backend: Certification content is served as static files; there is no server-side database to query or leak
- Keys stay in the browser: API keys and provider settings are stored only in
localStorageand are never transmitted to a CertFlow server - Bring-your-own provider: Users supply their own API keys and talk directly to their chosen AI vendor
- Offline-capable by default: The Mock provider requires no key and no network, so the app is fully functional without sending anything anywhere
- Transparent AI content: A footer disclaimer makes clear when content is AI-generated
Development Philosophy
The project reflects a pragmatic, user-respecting approach to software development:
- Content as Data: Treating certifications as static JSON keeps the platform flexible and easy to extend
- Vendor Neutrality: The pluggable provider model avoids lock-in and lets users choose cost, quality, and privacy trade-offs
- Offline First: The Mock provider guarantees the app works with zero configuration
- Explanation over Rote: Rich per-question rationales prioritize genuine understanding over score-chasing
- Testability: Mock-provider testing keeps the AI-dependent code fast, deterministic, and network-free
- Transparency: Clear AI-content disclaimers and open licensing keep the tool honest with its users
Impact
CertFlow reframes certification prep as an explanatory, adaptive experience rather than a static question dump. By pairing a curated, well-explained question bank with on-demand AI deep dives and question generation, it helps learners understand why answers are correct and where their weak spots lie — the part that actually moves the needle on exam day.
Its architecture is equally significant: because certifications are pure data and AI access is fully abstracted, the platform is cheap to extend, easy to test, and respectful of user privacy. Learners bring their own AI keys, keep their data in their own browser, and can start immediately with the offline Mock provider — a combination rarely found in commercial study platforms.
Future Directions
Potential enhancements under consideration include:
- Additional bundled certifications across more vendors and domains
- Spaced-repetition scheduling driven by the existing progress-tracking data
- Richer analytics dashboards for long-term study trends
- Import/export of progress and custom question sets
- Expanded provider support and model auto-discovery
- Enhanced accessibility and internationalization of the interface
CertFlow represents a complete, polished study platform that successfully merges a curated question bank, pluggable AI, and a privacy-respecting, backend-free architecture into a tool that genuinely helps people pass their certifications.