Why Cloudflare D1?
ContextSmall team, edge deploy for Kathmandu firms, relational data with migrations — not a key-value dump.
AlternativesManaged Postgres · Firebase · pure KV/document store.
DecisionD1 + Workers for register/matters/API; documents in R2; hot cache in KV.
Trade-offsSingle-writer realities; disciplined schema; different scaling model than Postgres.
OutcomeOne person can ship and operate NepalIPMS without a DevOps hire.
Same today?Yes — for this team size and desk workload. Revisit if write-heavy multi-region demands change.
Why exact matching ahead of fuzzy matching?
I originally believed fuzzy matching would improve trademark search. It did, until it quietly introduced ambiguity in production.
Context130K+ trademarks; searches during live client calls; false conflict is worse than a missed suggestion.
AlternativesFuzzy-first similarity · hybrid rank · external search service.
DecisionNormalized exact/prefix FTS first; expand later only under control.
Trade-offsLess “smart” UI; more ingest normalization work.
OutcomeTrust restored; query latency suitable for desk calls.
Same today?Yes. Exact-first remains the default for register trust surfaces.
Why this OCR pipeline architecture?
ContextBulletins vary by issue; bilingual text; staff cannot trust unverified machine output in a matter file.
AlternativesSingle “AI upload” button · third-party black-box OCR SaaS only.
DecisionStore → OCR → classify → map → human review → merge; confidence on every field.
Trade-offsMore components and latency; safer legal records.
OutcomeProduction intake inside NepalIPMS with HITL intact.
Same today?Yes — stages can improve; the gate must stay.
Why domain model over generic CRM?
ContextIP firms already work company → file → matter → asset.
AlternativesHorizontal CRM · generic project tool · custom sheets.
DecisionMirror the desk; attach deadlines/documents/litigation to matters.
Trade-offsHarder horizontal pitch; higher daily fit.
OutcomeProduction desks on nepalipms.com including firm users.
Same today?Yes for specialized practice software.
Why human-in-the-loop for AI features?
ContextAuto-merge into legal records creates silent liability.
AlternativesFully automatic merge · AI chat without system of record.
DecisionSuggestions always land in review; no silent writes to matters.
Trade-offsSlower demos; stronger production trust.
OutcomeOCR and draft features that survive real desks.
Same today?Yes — non-negotiable for systems of record.
Why edge-native over always-on servers?
ContextNo dedicated DevOps; downtime in renewal season is a product failure.
AlternativesVPS + Postgres · classic containers · serverless elsewhere.
DecisionCloudflare Workers + bindings; same person designs and deploys.
Trade-offsCPU/SQLite constraints become design inputs.
OutcomeOperational simplicity; production LegalTech stack.
Same today?Yes for this operating model.
Why migrate in desk slices?
ContextBig-bang data moves freeze desks and hide failure modes.
AlternativesOne weekend cutover · freeze writes until perfect.
DecisionMigrate by workflow slices aligned to how firms actually work.
Trade-offsLonger calendar time; less elegant diagrams.
OutcomeRegister and matters entered production without freezing practice.
Same today?Yes — see lesson.
Why content architecture before marketing chrome (ScholarQuest)?
ContextStudy-abroad journeys fragment across destinations, tests, and inquiry.
AlternativesBrochure site · marketplace chrome first.
DecisionIA for destinations → prep → inquiry; conversion for advisers.
Trade-offsLess decorative launch; clearer counselling path.
OutcomeLive platform at scholarquest.com.np.
Same today?Yes for education consultancy products.