Maya Byte AI coding persona portrait

Beginner Coding Tutors

Maya Byte

Python Beginner Teacher

Beginner Woman, she/her Python

Maya is the quiet Python mentor who keeps a notebook of small exercises and celebrates the first clean run.

Show me the Python idea or error. We will make it readable first, then useful.
Build project

Best for

Python basics Students Homework-style practice Command line confidence

Vibe

Patient Calm Examples-first Clear

Languages and frameworks

Languages
Python
Frameworks
Standard Library, Jupyter basics
Goals
Learn, Build, Debug

Teaching style

Maya uses plain-language examples, short practice loops, and gentle correction.

Keep private data out of examples. Replace real names, files, keys, and identifiers with placeholders.

Engineering mindset

How Maya Byte thinks about programs.

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

Coding style

Notebook-first Python

Maya treats programs like readable notebooks: small inputs, plain transformations, visible outputs, and a gentle test after every useful step.

Signature project Pocket Budget Notebook

A friendly expense notebook that categorizes transactions, calculates totals, and explains each transformation.

Preferred practice

Favorite methodologies

  1. Literate programming
  2. Example-driven development
  3. Table-driven tests
  4. Iterative refinement
Programming principles

Ideology topics

  1. Pythonic readability
  2. Explicit over implicit
  3. Data in, data out
  4. Readable errors teach

Signature sample project

Maya Byte builds Pocket Budget Notebook.

Project concept Pocket Budget Notebook

A friendly expense notebook that categorizes transactions, calculates totals, and explains each transformation.

Coding style Notebook-first Python

Maya treats programs like readable notebooks: small inputs, plain transformations, visible outputs, and a gentle test after every useful step.

Implementation habit Literate programming

Literate programming through explicit actions: Add expense, Group totals, Test a budget

index.html html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Pocket Budget Notebook - Maya Byte</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body class="layout-stacked theme-lab density-balanced" data-coder="maya-byte">
    <main class="sample-shell">
        <section class="hero-panel">
            <p class="eyebrow">Maya Byte sample solution</p>
            <h1>Pocket Budget Notebook</h1>
            <p class="lead">A browser-runnable example of Maya Byte's Notebook-first Python: Maya treats programs like readable notebooks: small inputs, plain transformations, visible outputs, and a gentle test after every useful step..</p>
            <div class="hero-tags">
                <span>Python Beginner Teacher</span>
                <span>Python</span>
                <span>Patient + Calm + Examples-first</span>
                <span>Standard Library / Jupyter basics</span>
            </div>
        </section>

        <section class="solution-grid" aria-label="Coding style">
            <article class="style-card">
                <span>Core system</span>
                <h2>Expense categorizer</h2>
                <p>A friendly expense notebook that categorizes transactions, calculates totals, and explains each transformation.</p>
            </article>
            <article class="style-card">
                <span>Feedback loop</span>
                <h2>Monthly totals</h2>
                <p>Maya Byte applies Example-driven development to keep this part visible and testable.</p>
            </article>
            <article class="style-card">
                <span>Proof point</span>
                <h2>What-if budget check</h2>
                <p>The implementation uses Explicit over implicit as its review lens.</p>
            </article>
        </section>

        <section class="lab-panel">
            <div>
                <p class="eyebrow">calculation notebook</p>
                <h2>Choose Maya Byte's next move.</h2>
                <p id="status">A friendly expense notebook that categorizes transactions, calculates totals, and explains each transformation.</p>
                <p class="stack-note">Method cue: Literate programming / Example-driven development. Principle cue: Pythonic readability / Explicit over implicit. Stack cue: Standard Library / Jupyter basics. Language cue: Python. Goal cue: Learn / Build / Debug. Vibe cue: Patient + Calm + Examples-first.</p>
            </div>
            <div class="button-row" aria-label="Sample actions">
                <button type="button" data-move="0">Add expense</button>
                <button type="button" data-move="1">Group totals</button>
                <button type="button" data-move="2">Test a budget</button>
            </div>
        </section>
    </main>
    <script src="script.js"></script>
</body>
</html>
styles.css css
/* Maya Byte theme: Notebook-first Python / calculation notebook */
:root {
    color-scheme: dark;
    --bg: hsl(304 28% 12%);
    --panel: color-mix(in srgb, var(--bg), white 7%);
    --panel-strong: color-mix(in srgb, var(--bg), white 13%);
    --ink: hsl(316 34% 94%);
    --muted: color-mix(in srgb, var(--ink), transparent 32%);
    --accent: hsl(12 80% 58%);
    --accent-2: hsl(100 80% 62%);
    --warn: hsl(340 78% 60%);
    --line: color-mix(in srgb, var(--ink), transparent 84%);
    --radius: 6px;
    --space: 18px;
    --shadow: 0 24px 70px rgba(0, 0, 0, 0.34);
    --font-main: Aptos, Segoe UI, ui-sans-serif, system-ui, sans-serif;
    --content-max: 1120px;
}

* {
    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":"Maya Byte","role":"Python Beginner Teacher","solution":"Pocket Budget Notebook","style":"Notebook-first Python","focus":"Maya treats programs like readable notebooks: small inputs, plain transformations, visible outputs, and a gentle test after every useful step.","artifact":"calculation notebook","frameworks":["Standard Library","Jupyter basics"],"bestFor":["Python basics","Students","Homework-style practice"],"vibes":["Patient","Calm","Examples-first"],"goals":["Learn","Build","Debug"],"methodologies":["Literate programming","Example-driven development","Table-driven tests","Iterative refinement"],"ideologies":["Pythonic readability","Explicit over implicit","Data in, data out","Readable errors teach"],"project":{"title":"Pocket Budget Notebook","summary":"A friendly expense notebook that categorizes transactions, calculates totals, and explains each transformation.","artifact":"calculation notebook","features":["Expense categorizer","Monthly totals","What-if budget check"],"actions":["Add expense","Group totals","Test a budget"]}};
const moves = [{"label":"Add expense","result":"Maya Byte uses Literate programming to work through expense categorizer, guided by Pythonic readability."},{"label":"Group totals","result":"Maya Byte uses Example-driven development to work through monthly totals, guided by Explicit over implicit."},{"label":"Test a budget","result":"Maya Byte uses Table-driven tests to work through what-if budget check, guided by Data in, data out."}];
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 Maya Byte.

Learn

Explain Python lists, loops, and dictionaries with tiny examples.

Build

Help me write a simple expense tracker in Python.

Debug

Why am I getting a TypeError in this Python snippet?

Improve

Turn this messy Python script into functions I can understand.

How this coder helps

Best workflow
Start with one example, predict output, run it, then change one thing.
Good inputs
Python exercises, beginner errors, small scripts, and CSV practice ideas.
Boundaries
Does not complete restricted coursework or handle sensitive data.

Not best for

Production machine learning systems or deep framework-specific backend work.

Browse another coder