Engineering Journal
Demo Guide
Demo Guide

Table Mode Assignments

2026-05-11

TAFNE Table Mode — Demo Assignments

Table Mode is the canvas. Every format you can paste, every table you receive from the Node Editor,
every sheet cleaned in Lab Mode lands here. It's the starting point and the finishing point.

How to Use This File

Each assignment carries one or more demo type tags:

Each step has a timing guide (:00), a DO line, and a SAY line. Pause here ► marks the moments where you stop and let the screen breathe.

Assignment 1 — The Paste-to-Table Demo

[MARKETING] [SALES]

Audience: Anyone who has ever copy-pasted data into a spreadsheet and fixed it by hand. Duration: 2–3 minutes. Payoff line: "Seven different formats. One input field. You don't configure anything — it just works."

Before You Start

Have this text copied to your clipboard:
Name,Email,Company,Role
Priya Sharma,[email protected],Acme Corp,Designer
Jordan Lee,[email protected],Nova Inc,Engineer
Marcus Webb,[email protected],Flux Co,PM
Aisha Osei,[email protected],Loop Dev,Designer
Sam Ortega,[email protected],Acme Corp,Founder

Steps

(:00) DO: Open TAFNE to a blank session. SAY: "I'm going to paste a raw CSV — just text — directly into the input."

(:10) DO: Paste the CSV into the input box. Click Parse. SAY: "Notice I didn't tell it anything. No format selection, no delimiter dialog." Pause here ► Let the table render fully before you say anything else.

(:20) SAY: "It detected CSV, pulled the headers, built the rows. That's automatic format detection across seven formats — CSV, JSON, HTML, Markdown, SQL, TSV, and ASCII."

(:30) DO: Export → JSON. Open the output panel. SAY: "Now I'll export it as JSON. This is now API-ready. Header names become keys, values become strings. I didn't write a single line of code." Pause here ► Let them read the JSON output for 3 seconds.

(:50) DO: Export → SQL. Open the output panel. SAY: "Or SQL. CREATE TABLE with all columns. One INSERT per row. Ready to run against a database."

(1:10) SAY: "One table. Six export formats. That's the point."

If Something Goes Wrong

Sales Follow-Up Hook

"What format does your team usually work in? I can show you that specific path next."

Assignment 2 — The Text Split

[MARKETING] [INSTRUCTIONAL]

Audience: People who deal with exported data dumps, form responses, or copy-pasted blobs. Duration: 3 minutes. Payoff line: "A wall of text becomes a structured grid in two keystrokes."

Before You Start

Have a blank table with one cell ready.

Steps

(:00) DO: Click cell A1. Paste this block directly into the single cell:

Stripe|Senior Engineer|Applied|Dec 3|No response Notion|Product Designer|Interviewing|Dec 5|Round 2 scheduled Linear|Frontend Dev|Applied|Dec 7|No response Figma|Staff Engineer|Offer|Dec 1|Negotiating Vercel|DevRel|Closed|Nov 28|Rejected after screen
SAY: "This is what a job tracker looks like when you're copying it from your notes app. Seven lines of pipe-delimited text, crammed into one cell." Pause here ► Show the blob clearly on screen. Let the mess be visible.

(:20) SAY: "Here's what TAFNE does with it."

(:25) DO: With cell A1 selected, press Alt+Shift+T to open Text Split. SAY: "Row delimiter is a newline. Column delimiter is a pipe. That's it."

(:35) DO: Press Alt+Shift+X to apply. Pause here ► Watch the split happen. Don't talk during the transform.

(:40) SAY: "Seven rows. Five columns. Headers still need adding — but the structure is there. Two keystrokes."

(:50) DO: Add headers: Company | Role | Stage | Date | Notes. DO: Select the Figma row (Stage = Offer) → apply class highlighted. SAY: "I'll flag the offer row visually. That class renders in every export — HTML, Markdown, whatever."

(1:20) DO: Export → Markdown. SAY: "Now I have a publishable tracker. Started with a blob of text in one cell."

Instructional Note

Explain why the space delimiter works differently: \s+ splits on one or more whitespace characters, not a literal single space. "If your data has irregular spacing between fields, use the space delimiter — it handles multiple spaces correctly."

Assignment 3 — The Concert Setlist (Merge + Accordion)

[INSTRUCTIONAL]

Audience: New users learning about colspan, accordion rows, and class-based styling. Duration: 10–15 minutes. Payoff line: "This is a table you'd actually publish — not just something that lives in a spreadsheet."

Build This Table First

Paste as Markdown (Import → Paste Text):
| Act | # | Song | Duration | Note |
|-----|---|------|----------|------|
| Opening Act | | | | |
| | 1 | Golden Hour | 3:42 | |
| | 2 | Blindsided | 4:01 | |
| Main Set | | | | |
| | 1 | As It Was | 2:37 | Set opener |
| | 2 | Watermelon Sugar | 2:54 | |
| | 3 | Adore You | 3:27 | |
| | 4 | Matilda | 4:10 | Fan favorite |
| Encore | | | | |
| | 1 | Sign of the Times | 5:41 | Closing track |

Steps

(:00) DO: Import the table. SAY: "Markdown import — it finds the table inside the text, pulls it in."

(:45) DO: Select the Opening Act cell → right-click → Span: Colspan 5. SAY: "This cell needs to span all five columns. We're telling it to act like a section header."

(1:15) DO: With the row still selected, open the class panel → add class accordion-header. SAY: "This class makes the row a collapsible section header. Watch what happens."

(1:30) Pause here ► Click the Opening Act row in the preview. It collapses. SAY: "The two songs below it hide. Click again — they reappear. That behavior is built into the class. No JavaScript you wrote."

(2:00) DO: Repeat for Main Set and Encore rows.

(3:00) DO: Select the Act column header → add class sideways-face. SAY: "This rotates the header 90 degrees — a standard print layout technique. One class, no CSS written."

(3:30) DO: Select the Set opener cell → add class highlighted.

(4:00) DO: Export → HTML → open in browser. Pause here ► Show the rendered page. Let it sit for 5 seconds. SAY: "Collapsible sections. Rotated header. Highlighted row. You didn't write a line of CSS or JavaScript."


Assignment 4 — Flip the Quarterly Report

[MARKETING] [SALES]

Audience: Finance, operations, or data teams. Anyone who has ever "pivoted" a table in Excel. Duration: 3 minutes. Payoff line: "The VP gets her pivot. The BI team gets their insert script. You didn't open Excel or write a query."

Start With This (paste as CSV)

Quarter,Revenue,Expenses,Profit,Headcount
Q1 2024,1200000,980000,220000,42
Q2 2024,1450000,1020000,430000,45
Q3 2024,1320000,990000,330000,45
Q4 2024,1980000,1150000,830000,51

Steps

(:00) DO: Import the CSV. SAY: "Finance sent this. Quarters are rows, KPIs are columns. Leadership wants it flipped — KPIs as rows, quarters as columns."

(:20) DO: Click Transpose. Pause here ► The matrix flip happens instantly. Let it render. SAY: "That's matrix transposition. Every element at position row R, column C moves to row C, column R. One click."

(:35) DO: Enable Drag & Drop Mode → move the Profit row directly below Revenue. SAY: "The order got shuffled in the transpose. Drag-and-drop to fix it — you can reorder any row or column without rebuilding the table."

(1:00) DO: Select the header row → add class freeze-pane. SAY: "Freeze the header so it stays visible when the table scrolls."

(1:15) DO: Export → SQL. Pause here ► Show the output. SAY: "CREATE TABLE. INSERT INTO for every KPI row. The BI team can run this directly. You just did in 90 seconds what would have taken 20 minutes in Excel plus a SQL file written by hand."

Sales Follow-Up Hook

"Does your team export to a BI tool or database? SQL and JSON are the most common paths I'd show next."

Assignment 5 — The Job Tracker (Full Table Mode Showcase)

[INSTRUCTIONAL] [MARKETING]

Audience: Individual users, personal productivity crowd, students. Duration: 8–10 minutes. Payoff line: "What started as a messy notes dump is now a styled, multi-sheet, exportable tracker."

Raw Input (paste into a single cell A1)

Stripe|Senior Engineer|Applied|Dec 3|No response
Notion|Product Designer|Interviewing|Dec 5|Round 2 scheduled
Linear|Frontend Dev|Applied|Dec 7|No response
Figma|Staff Engineer|Offer|Dec 1|Negotiating
Vercel|DevRel|Closed|Nov 28|Rejected after screen
Loom|PM|Applied|Dec 9|No response
Arc Browser|Designer|Interviewing|Dec 6|Take-home sent

Steps

(:00) DO: Paste the blob into A1. SAY: "This is real. This is how people actually store this data — in their notes app, in a text file, in their head."

(:20) DO: Alt+Shift+T → Row: newline, Column: pipe → Alt+Shift+X. SAY: "Text Split. Two keystrokes."

(:35) DO: Add headers: Company | Role | Stage | Date | Notes.

(:50) DO: Select the Figma row → class: highlighted. SAY: "Flag the offer row so it's immediately visible."

(1:10) DO: Add a second sheet → name it Archive. DO: Cut the Vercel row → paste it into Archive. SAY: "Multi-sheet management. The closed application lives in its own sheet. Main view stays clean."

(1:45) DO: Export main sheet → HTML. Pause here ► Open in browser. Show the clean rendered table. SAY: "This is publishable. Drop it in a personal site, a Notion embed, anywhere. The highlighted row renders in the browser exactly as you set it."


Assignment 6 — Six Formats, One Table

[MARKETING] [SALES]

Audience: Teams who need to share data across different tools and formats. Duration: 4 minutes. Payoff line: "One source of truth. Six outputs. Zero reformatting."

Build This Comparison Table

Paste the header row and data:
Feature,Lite,Pro,Enterprise
Users,1,Up to 10,Unlimited
Storage,5 GB,50 GB,1 TB
API Access,No,Yes,Yes
SSO / SAML,No,No,Yes
SLA Uptime,99.5%,99.9%,99.99%
Support,Email,Chat,Dedicated

Steps

(:00) DO: Import the CSV. DO: Add a top row → cell A1: Feature Comparison → Colspan: 4 → class: highlighted. SAY: "Merged header cell. One cell spanning four columns — this is what the HTML table model actually supports."

(:45) DO: Enable Drag & Drop → move Enterprise column to be the second column. SAY: "Lead with the premium tier. Visual hierarchy communicates priority."

(1:15) SAY: "Now watch this. Same table, six different formats — each one ready to use without touching it again."

(1:20) DO: Export → HTML. Show the output. SAY: "Embed in a landing page. The colspan renders natively in the browser."

(1:35) DO: Export → Markdown. Show the output. SAY: "GitHub README pricing section. Paste it in, it renders."

(1:50) DO: Export → CSV. SAY: "Sales team spreadsheet. Every cell is clean, no merged-cell artifacts."

(2:05) DO: Export → JSON. SAY: "Feed a frontend pricing component directly. No transformation needed."

(2:20) DO: Export → SQL. SAY: "Load into a product database. CREATE TABLE plus inserts."

(2:35) DO: Export → ASCII. SAY: "Plain-text email or Slack. Looks exactly right in a monospace font." Pause here ► Let the ASCII output sit on screen for 3 seconds.

(2:50) SAY: "One table. Six outputs. You built it once."

Sales Follow-Up Hook

"Which of those six would your team actually use? I'll focus the next demo on that specific path."

Keyboard Shortcuts Reference

| Shortcut | Action | |----------|--------| | Double-click | Edit a cell | | Tab / Shift+Tab | Move between cells while editing | | Delete | Remove selected cells | | Ctrl+A | Select all | | Ctrl+Shift+C | Copy selected | | Ctrl+V | Paste after | | Alt+Shift+W | Merge cells | | Alt+Shift+T | Open Text Split | | Alt+Shift+X | Apply Text Split | | Ctrl+Z / Ctrl+Y | Undo / Redo |

Read this post in the full Engineering Journal →