Wiki source code of Tools Decisions

Version 1.1 by Robert Schaub on 2025/12/25 20:31

Show last authors
1 = Tools Decisions =
2
3 == Purpose ==
4 This page documents the **deliberate tool choices** for FactHarbor POC → Beta.
5 The goal is **low friction now**, **no rewrites later**, and **clear upgrade paths**.
6
7 ----
8
9 == Phase 1 — POC1 (Local, Low Infrastructure) ==
10
11 === Core Principles ===
12 * Minimize setup and cognitive load
13 * Avoid infrastructure that is not strictly required
14 * Keep architecture identical to Beta where possible
15
16 === Selected Tools ===
17
18 ==== Backend ====
19 * **ASP.NET Core (.NET 8)**
20 ** Role: system of record (jobs, status, results, events)
21 ** Reason: strong typing, long-term maintainability, C# expertise
22
23 * **SQLite (EF Core provider)**
24 ** Role: local persistence
25 ** Reason: zero setup, file-based, easy Postgres transition
26
27 ==== Frontend & Orchestration ====
28 * **Next.js (TypeScript)**
29 ** Role: UI + AI orchestration
30 ** Reason: fast iteration, strong ecosystem, good AI SDK support
31
32 * **Vercel AI SDK**
33 ** Role: LLM abstraction layer
34 ** Reason: OpenAI-first, Claude-ready, clean provider switching
35
36 ==== AI Providers ====
37 * **OpenAI (default)**
38 * **Anthropic (optional / later)**
39 ** Selection via environment variables
40
41 ==== Editors ====
42 * **Visual Studio 2022** — primary for .NET API
43 * **Cursor or VS Code** — primary for Next.js / TypeScript
44
45 ----
46
47 == Phase 2 — POC → Beta Transition ==
48
49 === Changes (No Rewrite) ===
50 * SQLite → PostgreSQL (EF Core provider switch)
51 * Local run → hosted environments
52 * Add authentication, quotas, persistence hardening
53
54 === Additional Tools Introduced ===
55 * **Docker** (optional, for DB parity)
56 * **Managed Postgres**
57 * **CI (GitHub Actions)**
58 * **Hosting**
59 ** Next.js → Vercel
60 ** .NET API → Azure App Service / Container Apps
61
62 ----
63
64 == Non-Goals (Explicitly Deferred) ==
65 * Kubernetes
66 * Microservices split
67 * Complex queue systems
68 * Multi-region deployment
69
70 These are intentionally deferred to reduce early risk.
71
72 ----
73
74 == Key Decision Summary ==
75 * Architecture is stable from POC1 onward
76 * Infrastructure is phased, not front-loaded
77 * Tooling choices prioritize clarity over novelty