← Selected work
Full-stack engineering · Technical assignment

From news articles to useful signals.

Boolean search, explicit enrichment and time-based trends, with the limits kept in view.

TypeScriptNestJSReactPostgreSQL
01

The problem

Turn multilingual news into something an analyst can explore: ingest articles, find them with boolean queries, request enrichment and inspect trends. Model-generated text must not silently become trusted evidence.

02

The constraints

Deliver a runnable technical challenge through vertical slices. Preserve literal search semantics across languages, parameterize SQL inputs and render article and model output as text.

Keep enrichment explicit and bounded. Simulated mode is the default, so local verification does not require a paid model call. Search and page loads do not trigger enrichment.

03

The decision

Separate search, enrichment and trend exploration. Validate model output against a closed schema, store results by article and mode, model and prompt version, and reuse a valid result rather than calling the provider again.

Hold a per-article PostgreSQL session lock while an enrichment is in progress. Bound input, output and per-instance concurrency, propagate cancellation, and surface failures instead of silently switching to simulated output.

For the challenge, trends use a table rather than a chart library. Search indexes have documented exploratory probes; they are not treated as production performance evidence.

04

How the behaviour is checked

The repository documents deterministic verification with make verify, isolated test databases and a local provider stub. The stub exercises response validation, quota and network failures, timeouts and cancellation without spending provider credits.

Separate evaluation documents record real-provider samples and their limitations. Structural validity is not a measure of factual quality; that requires reviewing the output against its source article.

The evidence linked below is the documented challenge work, not a new provider evaluation or a fresh backend test run performed by this website.

Read the verification methods and limitations ↗
05

What this does not prove

This is the CARMA technical challenge, not a claim about CARMA production systems. Synthetic index probes and a small reviewed article sample cannot establish production throughput or model reliability.

Concurrency limits apply per backend instance, not globally. There is no daily monetary budget or crash-surviving enrichment queue. Cancellation depends on the provider settling its call, and prompt-injection mitigation cannot guarantee model compliance.

Evidence links use a fixed repository revision so the referenced reasoning stays inspectable.

Explore the current repository ↗
← Back to selected work