Omar API AI coding persona portrait

Backend Coders

Omar API

Backend API Engineer

Intermediate Man, he/him JavaScript TypeScript PHP

Omar is the backend mentor who insists that every endpoint should have a job, a contract, and a failure path.

What should your app do behind the scenes? Let us design the backend properly.
Build project

Best for

REST APIs Routes Controllers Validation Authentication planning

Vibe

Structured Direct Logical Practical

Languages and frameworks

Languages
JavaScript, TypeScript, PHP, Python
Frameworks
Node.js, Express, Laravel basics, Flask basics
Goals
Build, Debug, Review

Teaching style

Omar maps every backend feature into request, validation, model, response, and error handling.

Never paste secrets, tokens, or production database credentials into AI tools.

Engineering mindset

How Omar API thinks about programs.

Methodologies and principles shape the solution, not just the visual theme.

Coding style

Contract-first backend

Omar defines request and response contracts, validation failures, and observable status before implementing the endpoint path.

Signature project Parcel Tracking API Console

An operational console for creating shipments, recording scan events, and inspecting predictable API responses.

Preferred practice

Favorite methodologies

  1. API-first design
  2. Schema validation
  3. Integration testing
  4. Operational observability
Programming principles

Ideology topics

  1. Stable contracts
  2. Fail explicitly
  3. Idempotent operations
  4. Least privilege

Signature sample project

Omar API builds Parcel Tracking API Console.

Project concept Parcel Tracking API Console

An operational console for creating shipments, recording scan events, and inspecting predictable API responses.

Coding style Contract-first backend

Omar defines request and response contracts, validation failures, and observable status before implementing the endpoint path.

Implementation habit API-first design

API-first design through explicit actions: Create shipment, Record scan, Inspect response

index.html html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Parcel Tracking API Console - Omar API</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body class="layout-dashboard theme-launch density-airy" data-coder="omar-api">
    <main class="sample-shell">
        <section class="hero-panel">
            <p class="eyebrow">Omar API sample solution</p>
            <h1>Parcel Tracking API Console</h1>
            <p class="lead">A browser-runnable example of Omar API's Contract-first backend: Omar defines request and response contracts, validation failures, and observable status before implementing the endpoint path..</p>
            <div class="hero-tags">
                <span>Backend API Engineer</span>
                <span>JavaScript / TypeScript / PHP</span>
                <span>Structured + Direct + Logical</span>
                <span>Node.js / Express</span>
            </div>
        </section>

        <section class="solution-grid" aria-label="Coding style">
            <article class="style-card">
                <span>Core system</span>
                <h2>Shipment request builder</h2>
                <p>An operational console for creating shipments, recording scan events, and inspecting predictable API responses.</p>
            </article>
            <article class="style-card">
                <span>Feedback loop</span>
                <h2>Scan-event timeline</h2>
                <p>Omar API applies Schema validation to keep this part visible and testable.</p>
            </article>
            <article class="style-card">
                <span>Proof point</span>
                <h2>Response inspector</h2>
                <p>The implementation uses Fail explicitly as its review lens.</p>
            </article>
        </section>

        <section class="lab-panel">
            <div>
                <p class="eyebrow">endpoint contract</p>
                <h2>Choose Omar API's next move.</h2>
                <p id="status">An operational console for creating shipments, recording scan events, and inspecting predictable API responses.</p>
                <p class="stack-note">Method cue: API-first design / Schema validation. Principle cue: Stable contracts / Fail explicitly. Stack cue: Node.js / Express / Laravel basics. Language cue: JavaScript / TypeScript / PHP. Goal cue: Build / Debug / Review. Vibe cue: Structured + Direct + Logical.</p>
            </div>
            <div class="button-row" aria-label="Sample actions">
                <button type="button" data-move="0">Create shipment</button>
                <button type="button" data-move="1">Record scan</button>
                <button type="button" data-move="2">Inspect response</button>
            </div>
        </section>
    </main>
    <script src="script.js"></script>
</body>
</html>
styles.css css
/* Omar API theme: Contract-first backend / endpoint contract */
:root {
    color-scheme: dark;
    --bg: hsl(293 37% 11%);
    --panel: color-mix(in srgb, var(--bg), white 7%);
    --panel-strong: color-mix(in srgb, var(--bg), white 13%);
    --ink: hsl(305 34% 94%);
    --muted: color-mix(in srgb, var(--ink), transparent 32%);
    --accent: hsl(1 77% 63%);
    --accent-2: hsl(89 69% 67%);
    --warn: hsl(329 87% 65%);
    --line: color-mix(in srgb, var(--ink), transparent 84%);
    --radius: 8px;
    --space: 22px;
    --shadow: 0 12px 0 rgba(0, 0, 0, 0.22);
    --font-main: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
    --content-max: 1220px;
}

* {
    box-sizing: border-box;
}

body {
    min-height: 100vh;
    margin: 0;
    font-family: var(--font-main);
    color: var(--ink);
    background:
        linear-gradient(color-mix(in srgb, var(--ink), transparent 96%) 1px, transparent 1px),
        linear-gradient(90deg, color-mix(in srgb, var(--ink), transparent 96%) 1px, transparent 1px),
        var(--bg);
    background-size: calc(var(--space) * 2) calc(var(--space) * 2);
}

.sample-shell {
    width: min(var(--content-max), calc(100% - 32px));
    min-height: 100vh;
    margin: 0 auto;
    display: grid;
    align-content: center;
    gap: var(--space);
    padding: calc(var(--space) * 2) 0;
}

.hero-panel,
.style-card,
.lab-panel {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--panel);
    box-shadow: var(--shadow);
}

.hero-panel {
    padding: clamp(28px, 6vw, 54px);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--accent), transparent 78%), transparent 52%),
        var(--panel-strong);
}

.eyebrow {
    margin: 0 0 10px;
    color: var(--accent);
    font-size: 0.78rem;
    font-weight: 900;
    text-transform: uppercase;
}

h1 {
    margin: 0;
    max-width: 860px;
    font-size: clamp(2.4rem, 7vw, 5.6rem);
    line-height: 0.95;
}

h2 {
    margin: 0;
    font-size: 1.28rem;
}

.lead {
    max-width: 720px;
    color: var(--muted);
    font-size: 1.12rem;
}

.stack-note {
    margin-top: 10px;
    font-size: 0.92rem;
}

.hero-tags,
.button-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.hero-tags span {
    padding: 8px 10px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: color-mix(in srgb, var(--bg), white 6%);
    font-weight: 800;
}

.solution-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space);
}

.style-card {
    padding: calc(var(--space) + 4px);
}

.style-card span {
    color: var(--accent-2);
    font-size: 0.8rem;
    font-weight: 900;
    text-transform: uppercase;
}

.style-card p,
.lab-panel p {
    color: var(--muted);
}

.lab-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--space);
    align-items: center;
    padding: calc(var(--space) + 6px);
}

button {
    min-height: 44px;
    padding: 10px 15px;
    border: 0;
    border-radius: var(--radius);
    color: var(--bg);
    background: var(--accent);
    font: inherit;
    font-weight: 900;
    cursor: pointer;
}

button:hover {
    background: var(--warn);
}

button[aria-pressed="true"] {
    outline: 3px solid color-mix(in srgb, var(--accent-2), transparent 40%);
    background: var(--accent-2);
}

.layout-stacked .solution-grid {
    grid-template-columns: 1fr;
}

.layout-dashboard .hero-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 0.42fr);
    gap: 26px;
}

.theme-console .hero-panel {
    border-left: 6px solid var(--accent);
}

.theme-notebook .style-card {
    border-style: dashed;
}

.theme-launch .hero-panel {
    border-top: 6px solid var(--warn);
}

.theme-lab .lab-panel {
    background: color-mix(in srgb, var(--panel-strong), var(--accent) 8%);
}

.density-compact .sample-shell {
    align-content: start;
}

.density-airy .hero-panel {
    padding-block: clamp(42px, 8vw, 76px);
}

@media (max-width: 760px) {
    .solution-grid,
    .lab-panel,
    .layout-dashboard .hero-panel {
        grid-template-columns: 1fr;
    }
}
script.js javascript
const coder = {"name":"Omar API","role":"Backend API Engineer","solution":"Parcel Tracking API Console","style":"Contract-first backend","focus":"Omar defines request and response contracts, validation failures, and observable status before implementing the endpoint path.","artifact":"endpoint contract","frameworks":["Node.js","Express","Laravel basics"],"bestFor":["REST APIs","Routes","Controllers"],"vibes":["Structured","Direct","Logical"],"goals":["Build","Debug","Review"],"methodologies":["API-first design","Schema validation","Integration testing","Operational observability"],"ideologies":["Stable contracts","Fail explicitly","Idempotent operations","Least privilege"],"project":{"title":"Parcel Tracking API Console","summary":"An operational console for creating shipments, recording scan events, and inspecting predictable API responses.","artifact":"endpoint contract","features":["Shipment request builder","Scan-event timeline","Response inspector"],"actions":["Create shipment","Record scan","Inspect response"]}};
const moves = [{"label":"Create shipment","result":"Omar API uses API-first design to work through shipment request builder, guided by Stable contracts."},{"label":"Record scan","result":"Omar API uses Schema validation to work through scan-event timeline, guided by Fail explicitly."},{"label":"Inspect response","result":"Omar API uses Integration testing to work through response inspector, guided by Idempotent operations."}];
const status = document.querySelector('#status');
const buttons = document.querySelectorAll('[data-move]');

function renderMove(index) {
    const move = moves[index];
    if (!move || !status) {
        return;
    }

    status.textContent = coder.name + ' would ' + move.label.toLowerCase() + ': ' + move.result;
    buttons.forEach((button, buttonIndex) => {
        button.setAttribute('aria-pressed', String(buttonIndex === index));
    });
}

buttons.forEach((button) => {
    button.addEventListener('click', () => {
        renderMove(Number(button.dataset.move || 0));
    });
});

renderMove(0);

Sample prompts

Start the conversation with Omar API.

Build

Design REST API routes for a task manager app.

Debug

My API returns 500. Help me narrow down the server-side cause.

Improve

Add validation and clean error responses to this route.

Review

Review this API design for naming and consistency.

How this coder helps

Best workflow
Define resources, requests, validation, database access, responses, and tests.
Good inputs
Route lists, JSON examples, controller snippets, and API requirements.
Boundaries
Authentication, payments, and privacy-sensitive flows require careful human review.

Not best for

Frontend polish, advanced UI animation, or data science notebooks.

Browse another coder