SME CreditMind AI

Inspiration

Across Vietnam and APAC, millions of SMEs operate with weak or missing formal financials, yet they generate rich digital footprints every day through POS terminals and e-wallets. Traditional underwriting often excludes them—or slows decisions to weeks—because models were built for structured statements, not for continuous transaction streams.

We were inspired by a simple idea:

POS data is the most honest “financial statement” many SMEs already produce—if we can read patterns in volume, seasonality, growth, and payment behavior, we can bridge the credit gap without asking merchants for documents they do not have.

We built SME CreditMind AI for Shinhan Bank × Qwen AI Build Day (SB09) (AI-driven SME credit scoring via POS data). Our north star: one dashboard, zero guesswork—lending that scales with real operating data, not only annual paperwork.


What it does

SME CreditMind AI turns POS and payment-platform transaction data into credit scores, risk grades, pre-approved limits, and plain-language explanations—so lenders can assess thin-file merchants faster without relying on traditional financial statements alone.

The platform includes:

  • A Next.js dashboard for portfolio overview, merchant profiles, assessments, reports, and settings
  • A FastAPI backend with a 7-factor scoring engine (Pandas / NumPy on transaction history): revenue stability, transaction volume, customer base, operating consistency, digital payment adoption, seasonal resilience, and growth momentum
  • An AI co-pilot so analysts can ask why a merchant was graded a certain way and explore scenarios in natural language
  • REST APIs for merchants, credit scores, dashboard stats, transaction upload, and health checks—ready to plug into bank workflows

How we built it

Scoring engine (concept → math)

We combine multiple signals into a structured score. Conceptually, a merchant’s composite score is a weighted combination of normalized factor contributions:

[ S = \sum_{i=1}^{7} w_i \, f_i ]

where (w_i) are factor weights (summing to (1)) and (f_i) are normalized sub-scores. For revenue stability, we relate variability of monthly revenue to the coefficient of variation:

[ \mathrm{CV} = \frac{\sigma}{\mu} ]

Lower volatility (controlled for context) supports a more stable cash-flow profile for limit and pricing decisions.

Stack

Layer Technology
Frontend Next.js (App Router), TypeScript, component-driven UI
Backend FastAPI, SQLAlchemy, SQLite (dev) / production-ready for PostgreSQL
Analytics Pandas, NumPy for feature engineering and scoring
AI assistant LLM-backed co-pilot over merchant and score context
Deployment e.g. Vercel: Next.js + Python serverless API in one project

Flow

  1. Ingest merchant and transaction data (CSV/JSON via API).
  2. Compute factor metrics → score, grade, recommendation.
  3. Expose results via REST (/api/merchants, /api/dashboard/stats, /api/credit-score/..., etc.).
  4. Surface insights in the UI with charts, alerts, and AI co-pilot chat.

Challenges we ran into

  1. From “model in a notebook” to “product in a browser.” We aligned factor definitions, API contracts, and UI state so every screen reflected the same truth as the engine.
  2. Monorepo + deployment. Running Next.js and Python together required careful routing for /api/*, packaging requirements.txt for serverless, and removing duplicate proxy layers that hid bugs.
  3. Client resilience. We added timeouts, user-friendly errors, and a structured ApiError (code / status) so failures were debuggable and not opaque in production.
  4. Data realism vs. privacy. We used seeded, realistic transaction scale for demos without real PII—balancing credibility with responsible storytelling.

Accomplishments that we're proud of

  • A coherent end-to-end story: raw-like POS analytics → explainable factorsdashboard + AI co-pilot, not a disconnected demo.
  • A real scoring pipeline on transaction-backed features—not a mock score with static UI.
  • Bank-minded UX: portfolio stats, merchant drill-down, grade/recommendation badges, and alerts that feel operational, not cosmetic.
  • Cleaner architecture for production: single API surface for the frontend, typed errors, and deployment patterns that work for web + Python in one workflow.

What we learned

  • Explainability is not optional for credit tech. Scores must map to interpretable factors so risk and compliance can trust the output.
  • Thin-file ≠ no signal. With transaction history, behavioral features can complement traditional financials—if the pipeline stays auditable and consistent.
  • Full-stack integration is part of the model. UX and API design are as important as the formula: analysts need to explore, compare, and ask why.
  • Shipping ML-adjacent services taught us to treat routing, cold starts, and error surfaces as first-class—not afterthoughts.

What's next for SME CreditMind AI

  • Deeper model governance: backtesting, drift monitoring, and documented override paths for credit policy.
  • Production data plane: PostgreSQL (or warehouse) connectors, batch + near-real-time ingestion from POS partners, and stronger idempotency for uploads.
  • Stronger AI guardrails: citations to underlying metrics in co-pilot answers, role-based access, and audit logs for regulatory readiness.
  • Open banking & identity: optional enrichment when merchants consent—always with privacy-by-design.
  • Pilot readiness: SLA-minded hosting, observability (metrics/traces), and runbooks for bank IT operations.

Devpost: if LaTeX is enabled, formulas render as math; otherwise they remain readable as plain notation.

Built With

Share this project:

Updates