▸ live on railway — api v1

Turn error logs into
structured intelligence

send a raw stack trace. get back severity scores,
root cause analysis, fix suggestions, and debug time estimates.
machine-readable json. every time.

POST /analyze
$ curl -X POST https://codetrace-production-1a79.up.railway.app/analyze \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "your_key",
    "log": "ZeroDivisionError: division by zero"
  }'

200 OK — 43ms

{
  "status": "success",
  "data": {
    "error_type": "ZeroDivisionError",
    "classification": "runtime_error",
    "severity": 6,
    "confidence": 0.87,
    "estimated_fix_time_minutes": 35,
    "fix_suggestion": "add zero-check before dividing"
  }
}

Four steps.
One clean JSON response.

no chatbot. no prose. just structured data your pipeline can act on automatically.

01 —
ingest
send raw log text via POST. python tracebacks, java exceptions, node.js crashes — all accepted.
02 —
parse
multi-language parser extracts file name, line number, error type, and message from messy text.
03 —
classify
scikit-learn classifier categorizes the error and returns a confidence score via predict_proba().
04 —
respond
response engine scores severity, estimates debug time, and returns fix suggestions as structured json.

Three endpoints.
That's all you need.

api key authentication on every request. rate limited to 10 req/min on free tier.

POST
/register
create an account and receive your api key. send email, get key back instantly.
POST
/analyze
core endpoint. send your raw error log, receive full structured diagnostic json.
POST
/feedback
flag wrong classifications. feeds the retraining pipeline. the model gets smarter with usage.

Not prose.
Structured data.

every field is machine-readable. pipe it to jira, slack, pagerduty, or your own dashboard without parsing natural language.

{
  "status": "success",
  "data": {
    "parsed_log": {
      "error_type": "NullPointerException",
      "file": "Main.java",
      "line": 84
    },
    "classification": {
      "category": "runtime_error",
      "confidence": 0.91
    },
    "severity": 6,
    "estimated_fix_time_minutes": 35,
    "fix_suggestion": "add null check before calling .getName()"
  },
  "request_id": 42
}

Real stack.
No shortcuts.

every component chosen for a reason. not boilerplate.

FastAPI
api framework
PostgreSQL
primary database
Redis
rate limiting
scikit-learn
ml classifier
Docker
containerization
Railway
deployment
SQLAlchemy
orm
Pydantic
data validation