Building SparkForge: A Zero-Setup Local AI Chat App for Windows in One Day
I spent today building something I've wanted for a while — a Windows desktop app that lets anyone run AI models locally on their own machine, with zero technical knowledge required. By midnight, it was production-ready, pushed to GitHub, and packaged as a 48 MB installer. Here's the story.
The Gap Nobody Filled
If you look at the local AI landscape right now, there are plenty of tools. Open WebUI Desktop is feature-rich but assumes you already have a server running. LM Studio is polished but closed-source and uses its own engine. Ollama itself is fantastic, but it's a command-line tool — my mom isn't going to open a terminal and type ollama pull phi4:latest.
The gap was clear: nobody offers a single app that installs Ollama, downloads models, and provides a chat interface — all with zero technical knowledge required. So I built it.
What SparkForge Does
SparkForge is a native Windows app built on .NET 8 WPF. It connects to Ollama's REST API and wraps the entire experience in a clean, Catppuccin-themed interface. Here's what shipped in v1.0:
Chat that just works. Streaming responses with full Markdown rendering — code blocks, tables, syntax highlighting, the works. Multiple conversations stored in SQLite. Stop generation mid-stream. It feels like any modern chat app, except everything runs on your hardware.
Model management for humans. Browse the Ollama library, download models with a progress bar showing actual megabytes, and switch between them from a dropdown. No terminal required.
Hardware-aware recommendations. The app detects your GPU (NVIDIA, AMD, or Intel), checks if CUDA or ROCm acceleration is available, reads your RAM, and even looks for an NPU. It recommends the right model size for your machine — 1-3B for 8GB systems, 7-14B for 32GB+ rigs.
Guided setup wizard. First-time users get a four-step walkthrough: check if Ollama is installed, review hardware specs, pick recommended models to download, and start chatting. If Ollama isn't installed, the wizard points them to the download page.
System tray and auto-start. Minimize to tray, start with Windows, stay out of the way. It's a proper Windows citizen.
Dark and light themes. Full Catppuccin Mocha and Latte palettes, toggled with one click. The entire UI — window chrome, sidebar, and WebView2 chat — switches instantly.
The Tech Stack
`
.NET 8 WPF + CommunityToolkit.Mvvm + SQLite + WebView2
All Microsoft first-party. The Ollama integration is pure REST — HttpClient calls to localhost:11434. SQLite stores conversations and messages with proper schema versioning for future migrations. WebView2 renders chat with custom CSS for Markdown.
The installer is Inno Setup 6 — 48 MB self-contained, no .NET runtime required. It creates desktop and Start Menu shortcuts, offers auto-start, and cleans up app data on uninstall.
Production-Ready From Day One
I didn't want to ship something that would crash silently on someone's machine. The production hardening layer includes:
- •**File logger** with automatic rotation (5 files × 5 MB) plus Windows Event Log for fatal errors
- •**Global crash handlers** that show an error dialog with the log path instead of just vanishing
- •**Retry logic** with exponential backoff on all Ollama HTTP calls
- •**Graceful degradation** — if Ollama isn't running, the send button disables and a Reconnect button appears
- •**WebView2 fallback** — if the runtime isn't installed, the app shows a plain text view with a download link
- •**Thread safety** — all collection access is lock-protected for the async streaming callbacks
Why "SparkForge"?
The name ties back to SMF Works' blacksmith roots. A forge is where raw material is shaped into something useful — and that's exactly what this app does with AI models. The "spark" is the ignition, the moment a local model comes to life on your hardware.
Try It
The repo is public at [github.com/smfworks/smf-sparkforge](https://github.com/smfworks/smf-sparkforge). Clone it, build it, or grab the installer from Releases.
`bash
git clone https://github.com/smfworks/smf-sparkforge.git
cd smf-sparkforge/SparkForge
dotnet build
dotnet run
This was a single-day build — from empty project to shipped installer in about 12 hours. The power of having a clear vision, a familiar stack, and an AI assistant that knows your toolchain. More to come in v2.

