30 Claude Prompts That Build Working Web Apps
Describe a tool and Claude returns a real, functional single-file web app you can run instantly as an artifact: invoice generators, markdown editors, JSON and CSV viewers, calculators, generators, and filterable data tables. Not "give me a snippet" โ a working app with real logic and state.
In short: This page contains 30 copy-paste ready prompts, organized into 6 categories with a description and pro tip for each. The first 15 prompts are free instantly โ no signup needed. Hand-curated and tested by the AI Academy team.
Document & File Tools
5 promptsInvoice Generator
1/30You are a senior front-end engineer who builds clean, practical business tools. <context> I need a working invoice generator built as one self-contained HTML file (HTML, CSS, and vanilla JavaScript inline) that runs and previews instantly as an artifact, with real state and live calculations. </context> <inputs> - Business / sender details to support: [NAME, ADDRESS, EMAIL, LOGO TEXT] - Currency and tax behavior: [E.G. USD, 8.5% TAX, OR VAT] - Line-item fields: [DESCRIPTION, QTY, UNIT PRICE] - Extras: [DISCOUNT, NOTES, PAYMENT TERMS, DUE DATE] - Visual style: [CLEAN MINIMAL / BOLD / CLASSIC] </inputs> <task> Build an invoice app with editable sender and client fields, a dynamic line-item table where I can add and remove rows, and live-calculated subtotal, tax, discount, and grand total that update on every keystroke. Add an auto-generated invoice number and date, a notes/terms field, a currency selector, and a "Print / Save as PDF" button that triggers window.print() with a print-optimized stylesheet so the on-screen controls are hidden when printing. </task> <constraints> - One self-contained HTML file, no external libraries or build step; vanilla JS only. - All math must be correct and reactive; format currency with the chosen symbol and two decimals. - Include a clean @media print stylesheet; keep state in memory (no backend). - Accessible labels on every input; sensible input types (number, date). </constraints> <format> Return the full HTML file as an artifact, then explain the data model you used for line items and how to add a logo upload. </format>
Builds a working invoice generator with dynamic line items, live totals, tax, and print-to-PDF as a previewable artifact.
Pro tip: Tell Claude your real tax rule (inclusive VAT vs added sales tax) up front โ it changes the entire total calculation.
Markdown Editor with Live Preview
2/30You are a front-end engineer who builds focused writing tools. <context> I need a split-pane markdown editor built as one self-contained HTML file with vanilla JavaScript, runnable instantly as an artifact, that parses markdown to HTML in real time. </context> <inputs> - Markdown features to support: [HEADINGS, BOLD/ITALIC, LISTS, LINKS, CODE BLOCKS, BLOCKQUOTES, IMAGES] - Extras I want: [WORD/CHAR COUNT, COPY HTML BUTTON, DARK MODE, LOCALSTORAGE AUTOSAVE] - Default sample content: [PLACEHOLDER TEXT OR "WELCOME GUIDE"] - Visual style: [NOTION-LIKE / IA WRITER / GITHUB] </inputs> <task> Build an editor with a textarea on the left and a rendered HTML preview on the right that updates live as I type. Implement a small markdown parser in vanilla JS covering the listed features (do not pull in a library). Add a toolbar with bold, italic, heading, and link buttons that wrap the current selection, a live word and character count, a "Copy HTML" button, a dark-mode toggle, and autosave to localStorage so my draft survives a reload. </task> <constraints> - One self-contained HTML file; no external libraries, no CDN โ write the parser yourself. - Escape HTML in user input before rendering to avoid injection; render code blocks as escaped, monospaced text. - Responsive: stack the panes on narrow screens; accessible toolbar buttons. </constraints> <format> Return the full HTML file as an artifact, then explain how the parser handles edge cases and how to add table support. </format>
Builds a split-pane markdown editor with live preview, toolbar, and autosave as a previewable artifact.
Pro tip: Ask Claude to escape HTML before rendering โ without it a pasted <script> tag would execute in the preview.
CSV Viewer & Filter Table
3/30You are a front-end engineer who builds data-handling tools that run entirely in the browser. <context> I need a CSV viewer built as one self-contained HTML file with vanilla JavaScript, runnable instantly as an artifact, that parses pasted or uploaded CSV and renders it as an interactive table. </context> <inputs> - Input methods: [FILE UPLOAD AND/OR PASTE-INTO-TEXTAREA] - Delimiter handling: [COMMA, SEMICOLON, TAB, AUTO-DETECT] - Features I want: [COLUMN SORT, GLOBAL SEARCH, PER-COLUMN FILTER, ROW COUNT, EXPORT FILTERED CSV] - Sample data to preload: [SHORT CSV OR PLACEHOLDER] </inputs> <task> Build a tool that accepts a CSV by file upload and by pasting text, parses it (handle quoted fields containing commas and newlines), and renders a clean table with the header row pinned. Add a global search box that filters rows live, clickable column headers that toggle ascending/descending sort, a visible filtered-vs-total row count, and a "Download filtered CSV" button that re-serializes the visible rows correctly (re-quoting fields that need it). </task> <constraints> - One self-contained HTML file; no libraries โ write the CSV parser and serializer yourself. - Correctly handle quoted fields, embedded commas, and escaped quotes; never break on a malformed cell. - Everything runs client-side; nothing is uploaded anywhere. Table scrolls with a sticky header. </constraints> <format> Return the full HTML file as an artifact, then explain how your parser handles quoted fields and how to add pagination for large files. </format>
Builds an in-browser CSV viewer with sort, search, per-column filters, and filtered export as a previewable artifact.
Pro tip: Emphasize that everything stays client-side โ it's the selling point for anyone pasting sensitive data.
JSON Viewer & Formatter
4/30You are a front-end engineer who builds developer utilities. <context> I need a JSON viewer and formatter built as one self-contained HTML file with vanilla JavaScript, runnable instantly as an artifact, that pretty-prints, validates, and lets me explore JSON as a collapsible tree. </context> <inputs> - Input: [PASTE-INTO-TEXTAREA, OPTIONAL FILE UPLOAD] - Views I want: [FORMATTED TEXT VIEW, COLLAPSIBLE TREE VIEW, MINIFIED OUTPUT] - Extras: [SYNTAX HIGHLIGHTING, COPY BUTTON, ERROR MESSAGE WITH LINE NUMBER, KEY/VALUE COUNT] - Theme: [LIGHT / DARK / BOTH WITH TOGGLE] </inputs> <task> Build a tool with an input pane and an output pane. On input, validate the JSON: if invalid, show a clear error with the position or line where parsing failed; if valid, render a pretty-printed, syntax-highlighted version and a collapsible tree where objects and arrays can expand and collapse. Add buttons to format, minify, copy the result, and toggle the theme, plus a small stat line showing the number of keys and the nesting depth. </task> <constraints> - One self-contained HTML file; no libraries โ do parsing with JSON.parse and build the tree and highlighting yourself. - Escape all rendered values; never use innerHTML with raw user content. - Graceful, specific error messages; the UI must not break on invalid input. </constraints> <format> Return the full HTML file as an artifact, then explain how the collapsible tree is built and how to add JSONPath search. </format>
Builds a JSON formatter and collapsible tree viewer with validation and error reporting as a previewable artifact.
Pro tip: Ask for the exact error position on invalid JSON โ that line/column hint is what makes it better than a plain prettifier.
Image Compressor (Canvas)
5/30You are a front-end engineer who builds privacy-friendly, client-side media tools. <context> I need an image compressor built as one self-contained HTML file with vanilla JavaScript, runnable instantly as an artifact, that resizes and re-encodes images entirely in the browser using the Canvas API. </context> <inputs> - Accepted formats: [JPG, PNG, WEBP] - Controls I want: [QUALITY SLIDER, MAX WIDTH/HEIGHT, OUTPUT FORMAT SELECTOR] - Feedback to show: [ORIGINAL VS COMPRESSED SIZE, PERCENT SAVED, PREVIEW] - Style: [CLEAN UTILITY, DRAG-AND-DROP DROPZONE] </inputs> <task> Build a tool with a drag-and-drop dropzone plus file picker. When an image is added, draw it to a canvas, let me set a max dimension and a quality slider, choose the output format, and re-encode via canvas.toBlob(). Show the original size, the new size, the percentage saved, and a before/after preview. Add a "Download" button that saves the compressed file, and support compressing several images in a small queue. </task> <constraints> - One self-contained HTML file; no libraries โ use Canvas and Blob APIs only. - Everything runs locally; no uploads. Revoke object URLs to avoid memory leaks. - Keep aspect ratio when resizing; handle large files without freezing the UI noticeably. </constraints> <format> Return the full HTML file as an artifact, then explain the canvas re-encode flow and how to add EXIF-orientation handling. </format>
Builds a client-side image compressor with quality control, resize, and size-saved feedback as a previewable artifact.
Pro tip: Have Claude show the percent-saved number prominently โ it's the instant proof the tool actually worked.
XML tags are just the start. Learn the full Claude workflow.
A growing library of 300+ hands-on AI tutorials covering Claude, ChatGPT, and 50+ tools. New tutorials added every week.
Generators & Utilities
5 promptsQR Code Generator
6/30You are a front-end engineer who builds dependable single-purpose utilities. <context> I need a QR code generator built as one self-contained HTML file with vanilla JavaScript, runnable instantly as an artifact, that turns any text or URL into a scannable QR code rendered on a canvas. </context> <inputs> - Content types to support: [PLAIN TEXT, URL, EMAIL, WIFI CREDENTIALS, VCARD] - Customization: [SIZE, FOREGROUND/BACKGROUND COLOR, QUIET-ZONE MARGIN, ERROR-CORRECTION LEVEL] - Download formats: [PNG, SVG] - Style: [CLEAN, LIVE PREVIEW AS I TYPE] </inputs> <task> Build a tool that generates a valid QR code from my input and updates it live. Include a content-type selector (text, URL, WiFi, vCard, email) that builds the correctly formatted payload for each type, color and size controls, an error-correction-level selector, and a download button for PNG and SVG. Implement the QR encoding yourself in vanilla JS โ do not rely on an external CDN library, since the artifact must run offline. </task> <constraints> - One self-contained HTML file; no external/CDN libraries โ include the QR generation logic inline. - The output must scan correctly with a real phone; render crisply at the chosen size. - Build proper payloads for WiFi (WIFI:T:...) and vCard formats; accessible form controls. </constraints> <format> Return the full HTML file as an artifact, then explain the encoding approach and how to add a logo overlay in the center. </format>
Builds a QR code generator supporting URL, WiFi, and vCard payloads with PNG/SVG export as a previewable artifact.
Pro tip: Stress that it must run offline with no CDN โ that forces Claude to embed real encoding logic instead of calling an API.
Strong Password Generator
7/30You are a front-end engineer with a security mindset who builds trustworthy utilities. <context> I need a password generator built as one self-contained HTML file with vanilla JavaScript, runnable instantly as an artifact, that creates strong random passwords entirely on-device. </context> <inputs> - Options to expose: [LENGTH SLIDER, UPPERCASE, LOWERCASE, NUMBERS, SYMBOLS, EXCLUDE AMBIGUOUS CHARS] - Modes: [RANDOM STRING / MEMORABLE PASSPHRASE (WORD-BASED)] - Feedback: [LIVE STRENGTH METER, ENTROPY IN BITS, COPY BUTTON] - Style: [CLEAN, REASSURING, DARK-FRIENDLY] </inputs> <task> Build a generator that uses crypto.getRandomValues for randomness (never Math.random). Support a random-character mode with toggles for character sets, length, and excluding look-alike characters, and a memorable-passphrase mode that joins random words from a small built-in word list with separators. Show a live strength meter and the estimated entropy in bits, a one-click copy button with a "copied" confirmation, and a regenerate button. Make clear in the UI that nothing leaves the browser. </task> <constraints> - One self-contained HTML file; no libraries; randomness via crypto.getRandomValues only. - Strength/entropy must be calculated correctly from the actual character pool and length. - Fully client-side; no network calls. Accessible controls and a focus-visible copy button. </constraints> <format> Return the full HTML file as an artifact, then explain how you compute entropy and how to add a 'pwned-password' offline-safe disclaimer. </format>
Builds a crypto-secure password and passphrase generator with a live entropy meter as a previewable artifact.
Pro tip: Insist on crypto.getRandomValues โ Math.random is predictable and would make every generated password unsafe.
Color Picker & Palette Tool
8/30You are a front-end engineer and designer who builds color tooling. <context> I need a color picker and palette tool built as one self-contained HTML file with vanilla JavaScript, runnable instantly as an artifact, that lets me pick a color and generates a usable palette with copyable codes. </context> <inputs> - Pickers to include: [NATIVE COLOR INPUT, HEX FIELD, RGB SLIDERS, HSL SLIDERS] - Palettes to derive: [SHADES/TINTS, COMPLEMENTARY, ANALOGOUS, TRIADIC] - Extras: [CONTRAST CHECKER (WCAG AA/AAA), COPY-ON-CLICK, SAVED SWATCHES] - Style: [CLEAN DESIGNER TOOL] </inputs> <task> Build a tool where picking a base color updates HEX, RGB, and HSL in sync (editing any one updates the others). Generate a tint/shade ramp and harmony palettes (complementary, analogous, triadic) as clickable swatches that copy their HEX on click. Add a contrast checker that takes a foreground and background color and reports the ratio plus WCAG AA/AAA pass or fail for normal and large text, and a small saved-swatches strip. </task> <constraints> - One self-contained HTML file; no libraries โ implement HEX/RGB/HSL conversion and contrast math yourself. - Color math must be accurate; the contrast ratio must match the WCAG formula. - Copy-to-clipboard with confirmation; accessible, keyboard-usable swatches. </constraints> <format> Return the full HTML file as an artifact, then explain the harmony math and how to export the palette as CSS variables. </format>
Builds a color picker with synced HEX/RGB/HSL, harmony palettes, and a WCAG contrast checker as a previewable artifact.
Pro tip: Ask for the WCAG contrast checker specifically โ it turns a toy picker into something designers actually keep open.
URL Shortener UI (Mock Backend)
9/30You are a front-end engineer who builds realistic product UIs with simulated data. <context> I need a URL shortener dashboard built as one self-contained HTML file with vanilla JavaScript, runnable instantly as an artifact. There is no real backend, so simulate one with localStorage and mock analytics. </context> <inputs> - Fields per link: [LONG URL, CUSTOM SLUG (OPTIONAL), CREATED DATE, CLICK COUNT] - Features: [CREATE LINK, AUTO-GENERATE SLUG, VALIDATE URL, COPY SHORT URL, DELETE, SEARCH] - Mock analytics: [PER-LINK CLICK COUNT, A SIMPLE TOTAL-CLICKS STAT, LAST-CLICKED TIME] - Brand vibe: [CLEAN SAAS DASHBOARD] </inputs> <task> Build a dashboard that lets me paste a long URL, optionally set a custom slug, validate it, and create a short link stored in localStorage. Show a table of links with the short URL, original URL, click count, and created date, with copy, delete, and a simulated 'open' action that increments the click count. Add a header with total-links and total-clicks stat cards, a search box, and persistence so links survive a reload. Make the empty state friendly. </task> <constraints> - One self-contained HTML file; no libraries; persist with localStorage. - Validate URLs and prevent duplicate custom slugs with a clear inline error. - Make explicit in a note that this is a front-end prototype (no real redirects); accessible table and forms. </constraints> <format> Return the full HTML file as an artifact, then explain the localStorage data shape and how to swap the mock backend for a real API. </format>
Builds a URL shortener dashboard UI with localStorage persistence and mock click analytics as a previewable artifact.
Pro tip: Be clear it's a front-end prototype with a mock backend so Claude builds realistic UX without faking real redirects.
Pomodoro Focus Timer
10/30You are a front-end engineer who builds clean productivity tools. <context> I need a Pomodoro focus timer built as one self-contained HTML file with vanilla JavaScript, runnable instantly as an artifact, with accurate timing and session tracking. </context> <inputs> - Intervals: [FOCUS LENGTH, SHORT BREAK, LONG BREAK, ROUNDS BEFORE LONG BREAK โ ALL ADJUSTABLE] - Features: [START/PAUSE/RESET, AUTO-ADVANCE TO NEXT PHASE, SESSION COUNTER, TASK LABEL] - Feedback: [PROGRESS RING, PHASE COLOR CHANGE, SUBTLE CHIME, TAB-TITLE COUNTDOWN] - Persistence: [REMEMBER SETTINGS AND COMPLETED COUNT VIA LOCALSTORAGE] </inputs> <task> Build a timer with adjustable focus/break durations and an SVG progress ring that depletes as time passes. Implement start, pause, and reset, auto-advance from focus to break and back with a round counter, an optional task label for the current session, a count of completed focus sessions today, a soft completion chime (generated with the Web Audio API, no asset files), and a live countdown mirrored in the browser tab title. Persist settings and the completed count in localStorage. </task> <constraints> - One self-contained HTML file; no libraries; timing must use timestamps (not naive setInterval drift) so it stays accurate. - Generate the chime with the Web Audio API โ no external sound files. - Accessible controls; respect prefers-reduced-motion for the ring animation. </constraints> <format> Return the full HTML file as an artifact, then explain how you kept the timer drift-free and how to add desktop notifications. </format>
Builds an accurate Pomodoro timer with progress ring, session tracking, and a generated chime as a previewable artifact.
Pro tip: Ask Claude to base timing on timestamps, not setInterval ticks โ otherwise the timer drifts seconds off over a session.
Calculators & Planners
5 promptsMortgage / Loan Calculator
11/30You are a front-end engineer who builds accurate financial tools. <context> I need a mortgage and loan calculator built as one self-contained HTML file with vanilla JavaScript, runnable instantly as an artifact, that computes payments and an amortization schedule correctly. </context> <inputs> - Inputs to expose: [LOAN AMOUNT, ANNUAL INTEREST RATE, TERM IN YEARS, EXTRA OPTIONAL FIELDS] - Extras: [DOWN PAYMENT, PROPERTY TAX, INSURANCE, EXTRA MONTHLY PAYMENT] - Outputs: [MONTHLY PAYMENT, TOTAL INTEREST, TOTAL COST, PAYOFF DATE] - Visual: [SUMMARY CARDS, AMORTIZATION TABLE, OPTIONAL PRINCIPAL-VS-INTEREST CHART] </inputs> <task> Build a calculator that computes the monthly payment using the standard amortization formula and updates live as I change inputs. Show summary cards for monthly payment, total interest, and total cost, and a month-by-month amortization table with payment, principal, interest, and remaining balance. Support an optional extra monthly payment and show the interest saved and the earlier payoff date. Draw a simple principal-vs-interest breakdown using a canvas or pure CSS bars (no charting library). </task> <constraints> - One self-contained HTML file; no libraries โ implement the amortization math yourself and verify it balances to zero at the final payment. - Format currency and percentages cleanly; handle edge cases (0% rate, very short term). - Reactive on every input change; accessible labels and number inputs. </constraints> <format> Return the full HTML file as an artifact, then explain the amortization formula you used and how to add a 15-vs-30-year comparison. </format>
Builds a mortgage/loan calculator with live payment math, full amortization table, and extra-payment savings as a previewable artifact.
Pro tip: Ask Claude to confirm the schedule's final balance lands on exactly zero โ it's the quickest check that the math is right.
Time-Zone Meeting Planner
12/30You are a front-end engineer who builds practical scheduling tools. <context> I need a time-zone meeting planner built as one self-contained HTML file with vanilla JavaScript, runnable instantly as an artifact, that compares several time zones and finds workable meeting slots. </context> <inputs> - Time zones to support: [LET ME ADD MULTIPLE BY CITY/REGION] - Working hours per person: [DEFAULT 9-5, EDITABLE] - Date to plan for: [PICKER, DEFAULT TODAY] - Output: [SIDE-BY-SIDE HOURLY GRID, HIGHLIGHTED OVERLAP, SHAREABLE SUMMARY] </inputs> <task> Build a planner where I add several time zones (using the browser's Intl time-zone support), set each person's working hours, and pick a date. Render a 24-hour grid showing the local time in each zone for every hour, color-coding cells as within-hours, edge, or outside-hours, and clearly highlighting the hours that work for everyone. Show a 'best overlap' summary line and a copy button that produces a plain-text meeting proposal listing the chosen time in every zone. </task> <constraints> - One self-contained HTML file; no libraries โ use the built-in Intl.DateTimeFormat with timeZone, not a date library. - Handle DST correctly via Intl; the grid must stay aligned across zones. - Accessible color coding (not color alone โ add labels/patterns); responsive grid. </constraints> <format> Return the full HTML file as an artifact, then explain how you used Intl for zone conversion and how to add a 'paste your availability' import. </format>
Builds a time-zone meeting planner with an hourly overlap grid and copyable proposal as a previewable artifact.
Pro tip: Tell Claude to use Intl.DateTimeFormat rather than a date library so DST and zones work without any dependencies.
Tip & Bill Splitter
13/30You are a front-end engineer who builds tidy everyday utilities. <context> I need a tip and bill-splitting calculator built as one self-contained HTML file with vanilla JavaScript, runnable instantly as an artifact, that handles uneven splits and rounding cleanly. </context> <inputs> - Inputs: [BILL TOTAL, TIP PERCENT (PRESET BUTTONS + CUSTOM), NUMBER OF PEOPLE] - Modes: [EVEN SPLIT / ITEMIZED SHARES PER PERSON] - Extras: [ROUND-UP TIP TO NEAREST DOLLAR, TAX HANDLING, PER-PERSON BREAKDOWN] - Style: [FRIENDLY, MOBILE-FIRST, BIG TAP TARGETS] </inputs> <task> Build a calculator with a bill input, tip-percent preset buttons plus a custom field, and a people counter, all updating the per-person and total amounts live. Add an itemized mode where I assign line items to people and it splits tax and tip proportionally. Include a round-up option and make sure the per-person amounts always sum exactly to the total (allocate any rounding remainder to one payer rather than losing a cent). Show a clear breakdown of subtotal, tip, tax, and each person's share. </task> <constraints> - One self-contained HTML file; no libraries; mobile-first with large tap targets. - Rounding must be exact โ the sum of shares must equal the grand total to the cent. - Reactive on every change; accessible inputs and steppers. </constraints> <format> Return the full HTML file as an artifact, then explain how you handled the rounding remainder and how to add a currency selector. </format>
Builds a tip and bill splitter with even and itemized modes and exact-cent rounding as a previewable artifact.
Pro tip: Call out the rounding-remainder rule explicitly โ naive splitting loses pennies and the totals stop matching.
Unit & Currency Converter
14/30You are a front-end engineer who builds reliable conversion tools. <context> I need a unit converter built as one self-contained HTML file with vanilla JavaScript, runnable instantly as an artifact, covering several measurement categories with live two-way conversion. </context> <inputs> - Categories to include: [LENGTH, WEIGHT, TEMPERATURE, VOLUME, AREA, SPEED, DATA SIZE] - Currency handling: [STATIC EDITABLE RATES TABLE โ NO LIVE API SINCE OFFLINE] - Features: [CATEGORY TABS, SWAP UNITS BUTTON, COPY RESULT, PRECISION CONTROL] - Style: [CLEAN, FAST, KEYBOARD-FRIENDLY] </inputs> <task> Build a converter with category tabs. Within each category, two dropdowns and two number fields convert live and bidirectionally (editing either side updates the other). Handle temperature with proper formulas (not simple ratios), include a swap button, a precision/decimals control, and a copy button. For currency, include an editable rates table seeded with example rates and a clear note that rates are manual because the artifact runs offline. Keep the conversion factor data in one well-organized object. </task> <constraints> - One self-contained HTML file; no libraries or network calls. - Conversions must be accurate; temperature uses real formulas; avoid floating-point display noise (round sensibly). - Keyboard accessible; tabs are proper buttons with aria states. </constraints> <format> Return the full HTML file as an artifact, then explain the conversion-factor data structure and how to wire a live rates API later. </format>
Builds a multi-category unit converter with two-way conversion and an editable currency table as a previewable artifact.
Pro tip: Note that it runs offline so Claude uses an editable rates table instead of inventing a live currency API call.
Savings Goal Planner
15/30You are a front-end engineer who builds clear personal-finance tools. <context> I need a savings goal planner built as one self-contained HTML file with vanilla JavaScript, runnable instantly as an artifact, that shows how long a goal takes and visualizes progress. </context> <inputs> - Inputs: [GOAL AMOUNT, CURRENT SAVINGS, MONTHLY CONTRIBUTION, ANNUAL INTEREST RATE] - Modes: [SOLVE FOR TIME-TO-GOAL / SOLVE FOR REQUIRED MONTHLY CONTRIBUTION GIVEN A DEADLINE] - Outputs: [PROJECTED DATE, TOTAL CONTRIBUTED VS INTEREST EARNED, MONTH-BY-MONTH TABLE] - Visual: [PROGRESS BAR, GROWTH CHART USING CANVAS OR CSS BARS] </inputs> <task> Build a planner that, given a goal, starting balance, monthly contribution, and interest rate, computes how many months until the goal is hit (with monthly compounding) and the projected date, plus a breakdown of total contributed versus interest earned. Add a second mode that solves for the monthly contribution needed to hit the goal by a chosen date. Show a progress bar toward the goal, a month-by-month projection table, and a simple growth chart drawn without a charting library. </task> <constraints> - One self-contained HTML file; no libraries โ implement compounding and the goal-solving math yourself. - Handle 0% interest and already-reached goals gracefully; format currency cleanly. - Reactive on every input; accessible inputs and a readable table. </constraints> <format> Return the full HTML file as an artifact, then explain the compounding model and how to add inflation-adjusted projections. </format>
Builds a savings goal planner with compounding projections, two solve modes, and a growth chart as a previewable artifact.
Pro tip: Pick whether you want time-to-goal or required-monthly up front โ they're different equations and Claude builds both modes better when told.
Data & Productivity Apps
5 promptsFilterable Data Table App
16/30You are a front-end engineer who builds polished data-grid interfaces. <context> I need a filterable data table app built as one self-contained HTML file with vanilla JavaScript, runnable instantly as an artifact, working on a sample dataset with sorting, filtering, and pagination. </context> <inputs> - Dataset shape: [DESCRIBE COLUMNS, E.G. NAME, EMAIL, ROLE, STATUS, SIGNUP DATE, REVENUE] - Sample rows: [PRELOAD ~30 REALISTIC ROWS OR LET CLAUDE GENERATE THEM] - Features: [GLOBAL SEARCH, PER-COLUMN FILTERS, MULTI-COLUMN SORT, PAGINATION, ROW SELECTION, EXPORT CSV] - Style: [CLEAN ADMIN-PANEL LOOK] </inputs> <task> Build a data table with a realistic sample dataset. Implement a global search box, per-column filters (text contains, dropdown for enums, range for dates/numbers), clickable headers for ascending/descending sort, pagination with page-size control, row-selection checkboxes with a 'select all on page', a live count of filtered vs total rows, and an 'Export selected as CSV' button. Keep all data and state in JavaScript objects so the grid is genuinely interactive. </task> <constraints> - One self-contained HTML file; no libraries โ build the grid logic yourself. - Filtering, sorting, and pagination must compose correctly together (filter then sort then paginate). - Sticky header, responsive overflow scroll, accessible controls and checkboxes. </constraints> <format> Return the full HTML file as an artifact, then explain how the filter-sort-paginate pipeline is ordered and how to plug in a real API. </format>
Builds an interactive admin data table with search, per-column filters, sort, pagination, and CSV export as a previewable artifact.
Pro tip: Have Claude generate realistic sample rows so you can see filtering and sorting actually working the moment it loads.
Multi-Step Form Wizard
17/30You are a front-end engineer who builds smooth multi-step form experiences. <context> I need a multi-step form wizard built as one self-contained HTML file with vanilla JavaScript, runnable instantly as an artifact, with validation, a progress indicator, and a review step. </context> <inputs> - The flow: [DESCRIBE THE STEPS, E.G. ACCOUNT > PROFILE > PREFERENCES > REVIEW] - Fields per step: [LIST FIELDS AND WHICH ARE REQUIRED] - Validation rules: [EMAIL FORMAT, PASSWORD STRENGTH, REQUIRED, MATCHING FIELDS] - Style: [CLEAN, PROGRESS BAR OR STEPPER] </inputs> <task> Build a wizard with a stepper/progress bar showing current step and completion. Each step validates its fields before allowing 'Next' (inline error messages, focus management), 'Back' preserves entered data, and a final review step shows a summary of all answers with edit links back to each step. On submit, show a success state and the collected data as formatted JSON. Persist progress to localStorage so a refresh doesn't lose the user. Keep the form state in one object. </task> <constraints> - One self-contained HTML file; no libraries; state in a single JS object, mirrored to localStorage. - Validation runs per-step and on submit; show clear, specific inline errors and move focus to the first error. - Accessible: fieldsets, labels, aria-current on the active step, keyboard navigation. </constraints> <format> Return the full HTML file as an artifact, then explain the step-state model and how to add conditional steps that appear based on earlier answers. </format>
Builds a validated multi-step form wizard with progress stepper, review step, and persistence as a previewable artifact.
Pro tip: List exactly which fields are required per step โ Claude wires the per-step validation gates around that list.
Kanban Task Board
18/30You are a front-end engineer who builds interactive productivity apps. <context> I need a Kanban task board built as one self-contained HTML file with vanilla JavaScript, runnable instantly as an artifact, with drag-and-drop columns and persistence. </context> <inputs> - Columns: [E.G. BACKLOG, TODO, IN PROGRESS, DONE โ EDITABLE] - Card fields: [TITLE, DESCRIPTION, PRIORITY, OPTIONAL DUE DATE, TAG] - Features: [ADD/EDIT/DELETE CARDS, DRAG BETWEEN COLUMNS, REORDER, FILTER BY TAG, COUNT PER COLUMN] - Style: [CLEAN TRELLO-LIKE] </inputs> <task> Build a board with the given columns and cards I can add, edit (in a modal), and delete. Implement native HTML5 drag-and-drop to move cards between columns and reorder within a column, with the order and column persisted to localStorage. Show a card count per column, a priority color accent, a tag filter that hides non-matching cards, and a friendly empty-column state. Cards should keep their data across reloads. </task> <constraints> - One self-contained HTML file; no libraries โ use the native HTML5 drag-and-drop API. - Persist the full board state (columns, card order, card data) to localStorage on every change. - Accessible: cards are focusable, support keyboard move as a fallback to drag, modal traps focus. </constraints> <format> Return the full HTML file as an artifact, then explain the board data structure and how to add a keyboard-only move command. </format>
Builds a drag-and-drop Kanban board with editable cards, tag filtering, and persistence as a previewable artifact.
Pro tip: Ask for a keyboard fallback to drag-and-drop โ it makes the board usable and is the part most clones skip.
Expense Tracker with Charts
19/30You are a front-end engineer who builds clear personal-finance apps. <context> I need an expense tracker built as one self-contained HTML file with vanilla JavaScript, runnable instantly as an artifact, with categorized entries, summaries, and charts drawn without a library. </context> <inputs> - Entry fields: [DATE, DESCRIPTION, CATEGORY, AMOUNT, TYPE (INCOME/EXPENSE)] - Categories: [E.G. FOOD, RENT, TRANSPORT, FUN, INCOME โ EDITABLE] - Views: [RUNNING BALANCE, MONTHLY SUMMARY, SPEND-BY-CATEGORY BREAKDOWN] - Charts: [CATEGORY PIE/BAR AND A MONTHLY TREND โ CANVAS OR CSS, NO LIBRARY] </inputs> <task> Build a tracker where I add income and expense entries with date, category, and amount, stored in localStorage. Show a summary header with total income, total expenses, and current balance, a filterable/sortable list of transactions, a spend-by-category breakdown, and a monthly trend. Draw a category breakdown chart and a month-over-month bar chart using the Canvas API or pure CSS โ no charting library. Include add, edit, delete, a month filter, and an export-to-CSV button. </task> <constraints> - One self-contained HTML file; no libraries โ implement the charts yourself with Canvas or CSS. - All totals and category sums must be accurate and reactive; persist everything to localStorage. - Accessible forms and table; charts have text labels/values so they aren't color-only. </constraints> <format> Return the full HTML file as an artifact, then explain how you drew the charts without a library and how to add budget-vs-actual alerts. </format>
Builds an expense tracker with categorized entries, summaries, and library-free charts as a previewable artifact.
Pro tip: Tell Claude 'no charting library' explicitly โ it'll draw clean Canvas/CSS charts that keep the file fully self-contained.
Habit Tracker Grid
20/30You are a front-end engineer who builds motivating habit-tracking apps. <context> I need a habit tracker built as one self-contained HTML file with vanilla JavaScript, runnable instantly as an artifact, with a calendar grid, streaks, and persistence. </context> <inputs> - Habits to support: [LET ME ADD/REMOVE NAMED HABITS] - Tracking period: [CURRENT MONTH GRID OR ROLLING 30 DAYS] - Metrics: [CURRENT STREAK, LONGEST STREAK, COMPLETION RATE] - Style: [CLEAN, SATISFYING, DARK-FRIENDLY, GITHUB-CONTRIBUTION VIBE] </inputs> <task> Build a tracker where I add habits and mark each day done or not on a month grid (click a cell to toggle). For each habit show the current streak, longest streak, and completion rate for the period. Add a contribution-graph-style heatmap of overall activity, a way to switch months, add/rename/delete habits, and persistence to localStorage so progress survives reloads. Make completing a day feel satisfying with a subtle animation that respects reduced-motion. </task> <constraints> - One self-contained HTML file; no libraries; persist all habits and check-ins to localStorage. - Streak and completion math must be correct, including gaps and month boundaries. - Accessible grid (cells are buttons with aria-pressed); respect prefers-reduced-motion. </constraints> <format> Return the full HTML file as an artifact, then explain how you compute streaks across month boundaries and how to add reminders. </format>
Builds a habit tracker with a month grid, streak math, heatmap, and persistence as a previewable artifact.
Pro tip: Ask Claude to verify streaks survive month boundaries and gaps โ that's where most habit-tracker math quietly breaks.
Editors, Viewers & Media
5 promptsText Diff Checker
21/30You are a front-end engineer who builds developer comparison tools. <context> I need a text diff checker built as one self-contained HTML file with vanilla JavaScript, runnable instantly as an artifact, that compares two blocks of text and highlights the differences. </context> <inputs> - Diff granularity: [LINE-LEVEL, WORD-LEVEL, OR BOTH WITH A TOGGLE] - Display: [SIDE-BY-SIDE AND/OR UNIFIED VIEW] - Options: [IGNORE WHITESPACE, IGNORE CASE, SHOW LINE NUMBERS] - Style: [CLEAN, GREEN-ADD / RED-REMOVE COLORING WITH ACCESSIBLE LABELS] </inputs> <task> Build a tool with two text inputs that, on compare, computes the differences and highlights additions, deletions, and unchanged regions. Implement the diff algorithm yourself (a longest-common-subsequence-based line or word diff) in vanilla JS. Offer side-by-side and unified views, a granularity toggle, options to ignore whitespace and case, line numbers, and a summary line counting additions and deletions. Make the highlighting readable, not only color-based. </task> <constraints> - One self-contained HTML file; no libraries โ write the diff algorithm yourself. - Escape all text before rendering; never inject raw input as HTML. - Accessible: additions/deletions marked with text or symbols, not color alone; responsive layout. </constraints> <format> Return the full HTML file as an artifact, then explain the diff algorithm you implemented and how to extend it to syntax-aware code diffing. </format>
Builds a text diff checker with line/word granularity and side-by-side or unified views as a previewable artifact.
Pro tip: Request an LCS-based diff, not a naive line compare โ it's what makes moved or edited lines highlight sensibly.
Base64 / URL Encoder Toolkit
22/30You are a front-end engineer who builds a tidy multi-tool developer utility. <context> I need an encoder/decoder toolkit built as one self-contained HTML file with vanilla JavaScript, runnable instantly as an artifact, bundling several common transformations behind tabs. </context> <inputs> - Tools to include: [BASE64 ENCODE/DECODE, URL ENCODE/DECODE, HTML ENTITY ENCODE/DECODE, JWT DECODE (DISPLAY ONLY), HASH (SHA-256)] - UX: [TAB PER TOOL, INPUT + OUTPUT PANES, SWAP/CLEAR/COPY BUTTONS, LIVE AS-YOU-TYPE] - Extras: [ERROR HANDLING FOR INVALID INPUT, BYTE/CHAR COUNT] - Style: [CLEAN DEVELOPER TOOL, DARK-FRIENDLY] </inputs> <task> Build a tabbed utility where each tab is one transformation. Implement Base64 (handle Unicode correctly), URL, and HTML-entity encode/decode, a JWT decoder that splits and Base64-decodes the header and payload for display (clearly labeled 'no signature verification'), and a SHA-256 hash using the built-in SubtleCrypto API. Each tool has input and output panes, live conversion, copy/clear buttons, error messages for invalid input, and a character/byte counter. </task> <constraints> - One self-contained HTML file; no libraries โ use built-in atob/btoa (with Unicode-safe wrappers) and crypto.subtle. - Decode operations must fail gracefully with a clear message, never throw to a blank screen. - Accessible tabs and controls; everything runs client-side. </constraints> <format> Return the full HTML file as an artifact, then explain the Unicode-safe Base64 approach and how to add a UUID generator tab. </format>
Builds a tabbed encoder/decoder toolkit (Base64, URL, HTML, JWT, SHA-256) with live conversion as a previewable artifact.
Pro tip: Flag that Base64 must be Unicode-safe โ naive btoa breaks on emoji and accented characters.
Regex Tester & Explainer
23/30You are a front-end engineer who builds developer tooling with great UX. <context> I need a regular-expression tester built as one self-contained HTML file with vanilla JavaScript, runnable instantly as an artifact, that highlights matches live and explains the pattern. </context> <inputs> - Inputs: [REGEX PATTERN FIELD, FLAGS TOGGLES (g, i, m, s, u), TEST-STRING TEXTAREA] - Output: [HIGHLIGHTED MATCHES IN THE TEST STRING, MATCH LIST WITH GROUPS, MATCH COUNT] - Extras: [PLAIN-ENGLISH EXPLANATION OF THE PATTERN, COMMON-PATTERN PRESETS, ERROR ON INVALID REGEX] - Style: [CLEAN, MONOSPACE, DARK-FRIENDLY] </inputs> <task> Build a tester where typing a pattern and flags highlights every match in the test string live, lists each match with its captured groups and index, and shows a match count. Add a panel that explains the pattern in plain English by walking through its tokens (anchors, classes, quantifiers, groups). Include a few preset patterns (email, URL, date), graceful handling of invalid regex with a clear error, and a copy-pattern button. Use the built-in RegExp engine. </task> <constraints> - One self-contained HTML file; no libraries; use native RegExp. - Escape the test string before injecting match highlights; never render raw input as HTML. - Invalid patterns show a friendly error, not a console crash; accessible controls. </constraints> <format> Return the full HTML file as an artifact, then explain how the token explainer walks the pattern and how to add a replace-preview mode. </format>
Builds a regex tester with live match highlighting, group breakdown, and a plain-English explainer as a previewable artifact.
Pro tip: Ask for the plain-English explainer panel โ it's the feature that turns a tester into something you actually learn from.
Audio Visualizer / Recorder
24/30You are a front-end engineer who builds polished browser media apps. <context> I need an audio recorder with a live visualizer, built as one self-contained HTML file with vanilla JavaScript, runnable instantly as an artifact, using the Web Audio and MediaRecorder APIs. </context> <inputs> - Features: [MIC RECORD/STOP, LIVE WAVEFORM OR FREQUENCY VISUALIZER, PLAYBACK, DOWNLOAD CLIP] - Visualizer style: [BARS, WAVEFORM, OR BOTH WITH A TOGGLE] - Extras: [RECORDING TIMER, LIST OF RECORDED CLIPS, CLEAR ALL] - Style: [SLEEK, DARK, RESPONSIVE] </inputs> <task> Build an app that requests microphone access, draws a live audio visualizer on a canvas using an AnalyserNode while recording, and uses MediaRecorder to capture the clip. Show a running recording timer, let me stop and play back the clip in an audio element, download it, and keep a list of clips from the session with delete. Handle permission denial gracefully with a clear message, and show a friendly state before any recording starts. </task> <constraints> - One self-contained HTML file; no libraries โ Web Audio API, MediaRecorder, and Canvas only. - Handle missing mic permission and unsupported browsers gracefully; clean up streams and object URLs on stop. - Accessible buttons with clear states; respect prefers-reduced-motion for the visualizer. </constraints> <format> Return the full HTML file as an artifact, then explain the AnalyserNode-to-canvas loop and how to add waveform export as an image. </format>
Builds a mic recorder with a live canvas audio visualizer, playback, and clip download as a previewable artifact.
Pro tip: Remind Claude to handle denied mic permission gracefully โ without it the app just silently does nothing on first load.
Stopwatch & Lap Timer
25/30You are a front-end engineer who builds precise, tactile utilities. <context> I need a stopwatch with lap timing built as one self-contained HTML file with vanilla JavaScript, runnable instantly as an artifact, that stays accurate over long runs. </context> <inputs> - Features: [START/STOP/RESET, LAP CAPTURE, LAP LIST WITH SPLITS, FASTEST/SLOWEST LAP HIGHLIGHT] - Precision: [SHOW HUNDREDTHS OF A SECOND] - Extras: [KEYBOARD SHORTCUTS (SPACE = START/STOP, L = LAP), TAB-TITLE MIRRORING] - Style: [CLEAN, BIG READABLE DIGITS, DARK-FRIENDLY] </inputs> <task> Build a stopwatch with start, stop, reset, and lap. Time must be computed from timestamps (performance.now or Date.now deltas) so it stays accurate even if the tab throttles โ never accumulate setInterval ticks. Display the elapsed time to hundredths, capture laps into a list showing each lap time and the cumulative split, and highlight the fastest and slowest laps. Add keyboard shortcuts (space to start/stop, L to lap) and mirror the time in the tab title while running. </task> <constraints> - One self-contained HTML file; no libraries; timing from timestamps, not tick counting. - The display stays smooth via requestAnimationFrame; accuracy never drifts. - Accessible controls and visible focus; keyboard shortcuts documented on screen. </constraints> <format> Return the full HTML file as an artifact, then explain why timestamp-based timing avoids drift and how to add a countdown mode. </format>
Builds a drift-free stopwatch with lap splits, fastest/slowest highlighting, and keyboard control as a previewable artifact.
Pro tip: Insist on timestamp-based timing and requestAnimationFrame โ tick-counting stopwatches drift badly when the tab is backgrounded.
Most people use 10% of Claude. Tutorials unlock the rest.
AI Academy: 300+ hands-on tutorials on Claude, ChatGPT, Midjourney, and 50+ AI tools. New tutorials added every week.
Mini-Apps with State
5 promptsQuiz / Survey App
26/30You are a front-end engineer who builds interactive assessment apps. <context> I need a quiz app built as one self-contained HTML file with vanilla JavaScript, runnable instantly as an artifact, that runs through questions, scores answers, and shows results. </context> <inputs> - Question data: [LIST OF QUESTIONS WITH OPTIONS AND CORRECT ANSWERS, OR LET CLAUDE GENERATE A SAMPLE SET ON A TOPIC] - Question types: [SINGLE CHOICE, MULTIPLE CHOICE, TRUE/FALSE] - Features: [PROGRESS BAR, PER-QUESTION FEEDBACK OR END-ONLY, SCORE + REVIEW SCREEN, RETRY] - Style: [CLEAN, ENCOURAGING, MOBILE-FIRST] </inputs> <task> Build a quiz driven by a questions array. Show one question at a time with a progress bar, record answers in state, support single and multiple choice, and compute a final score. At the end, show a results screen with the score, a breakdown of correct vs incorrect, a review of each question with the right answer, and a retry button that resets state. Make it easy to swap in my own question set by editing one array at the top. </task> <constraints> - One self-contained HTML file; no libraries; all questions in one clearly-marked data array. - Scoring must be correct, including partial-credit rules for multiple-choice if specified. - Accessible radio/checkbox groups, keyboard navigation, focus moves to each new question. </constraints> <format> Return the full HTML file as an artifact, then explain the question data schema and how to add a timer per question. </format>
Builds a quiz app with progress, scoring, a review screen, and an editable question array as a previewable artifact.
Pro tip: Put all questions in one array at the top so you can swap in your own content without touching the app logic.
Flashcard Study App
27/30You are a front-end engineer who builds effective learning tools. <context> I need a flashcard study app built as one self-contained HTML file with vanilla JavaScript, runnable instantly as an artifact, with card flipping, decks, and simple spaced repetition. </context> <inputs> - Card data: [LIST OF FRONT/BACK PAIRS, OR LET CLAUDE GENERATE A SAMPLE DECK ON A TOPIC] - Features: [FLIP ANIMATION, KNOW/DON'T-KNOW RATING, SHUFFLE, PROGRESS, MULTIPLE DECKS] - Spaced repetition: [SIMPLE LEITNER-BOX REORDERING OF MISSED CARDS] - Style: [CLEAN, FOCUSED, DARK-FRIENDLY] </inputs> <task> Build a study app with a deck of cards. Show one card front, flip on click or space to reveal the back with a smooth 3D flip, and let me rate 'I knew it' or 'review again'. Reorder the queue with a simple Leitner-style logic so missed cards return sooner. Show progress through the deck, a shuffle button, the ability to add or edit cards, multiple decks, and persistence of decks and progress to localStorage. </task> <constraints> - One self-contained HTML file; no libraries; persist decks and study progress to localStorage. - The flip uses CSS transforms and respects prefers-reduced-motion. - Accessible: card is focusable, space/enter flips, ratings are real buttons; keyboard-friendly throughout. </constraints> <format> Return the full HTML file as an artifact, then explain the Leitner reordering logic and how to add CSV deck import. </format>
Builds a flashcard study app with flip animation, Leitner-style review, and persistent decks as a previewable artifact.
Pro tip: Ask for the Leitner reordering โ even a simple version makes the study session smarter than plain shuffle.
Markdown Resume Builder
28/30You are a front-end engineer who builds practical document-creation apps. <context> I need a resume builder built as one self-contained HTML file with vanilla JavaScript, runnable instantly as an artifact, where I fill in fields and get a clean, printable resume live. </context> <inputs> - Sections: [CONTACT, SUMMARY, EXPERIENCE, EDUCATION, SKILLS, PROJECTS โ ALL EDITABLE] - Repeatable entries: [ADD/REMOVE MULTIPLE JOBS, SCHOOLS, PROJECTS] - Output: [LIVE PREVIEW, PRINT/SAVE-AS-PDF, ONE OR TWO LAYOUT THEMES] - Style: [CLEAN, ATS-FRIENDLY, PROFESSIONAL] </inputs> <task> Build an app with an editing panel on the left and a live resume preview on the right. Support repeatable experience, education, and project entries that I can add, reorder, and remove. Update the preview on every keystroke, offer a theme toggle, persist the data to localStorage, and add a 'Print / Save as PDF' button with a print stylesheet that outputs only the resume (no editor chrome) on a clean A4/Letter page. Keep the markup ATS-friendly (real text, sensible headings). </task> <constraints> - One self-contained HTML file; no libraries; data in one object mirrored to localStorage. - Print stylesheet must hide the editor and paginate cleanly; resume stays text-based for ATS parsing. - Accessible forms with labels; live preview updates without flicker. </constraints> <format> Return the full HTML file as an artifact, then explain the resume data model and how to add an 'export as JSON' backup. </format>
Builds a live resume builder with repeatable sections, themes, and print-to-PDF as a previewable artifact.
Pro tip: Tell Claude to keep the print output ATS-friendly text โ fancy multi-column PDFs often fail resume parsers.
Note-Taking App with Search
29/30You are a front-end engineer who builds clean knowledge tools. <context> I need a note-taking app built as one self-contained HTML file with vanilla JavaScript, runnable instantly as an artifact, with a sidebar, full-text search, and persistence. </context> <inputs> - Note features: [TITLE, BODY (PLAIN OR MARKDOWN), TAGS, CREATED/UPDATED TIMESTAMPS] - App features: [SIDEBAR LIST, FULL-TEXT SEARCH, TAG FILTER, PIN/FAVORITE, DELETE WITH UNDO] - Persistence: [LOCALSTORAGE, AUTOSAVE] - Style: [CLEAN, BELLS-AND-LIGHT TWO-PANE, DARK-FRIENDLY] </inputs> <task> Build a two-pane notes app: a sidebar listing notes (title, snippet, updated time) and an editor pane. Support creating, editing (autosaved), and deleting notes with an undo toast, full-text search across titles and bodies that filters the sidebar live, tag assignment and a tag filter, pinning important notes to the top, and persistence to localStorage. Optionally render markdown in a preview toggle. Make the empty state and the no-search-results state friendly. </task> <constraints> - One self-contained HTML file; no libraries; all notes persisted to localStorage with autosave. - Search is fast and live; escape any rendered markdown/HTML to prevent injection. - Accessible: keyboard navigation between notes, labelled controls, focus management on create. </constraints> <format> Return the full HTML file as an artifact, then explain the note data model and how to add export/import of all notes as JSON. </format>
Builds a two-pane note-taking app with live full-text search, tags, and autosave as a previewable artifact.
Pro tip: Ask for an undo toast on delete โ it's a tiny touch that makes a localStorage notes app feel safe to actually use.
Weather Dashboard (Mock Data)
30/30You are a front-end engineer who builds polished dashboard UIs with realistic mock data. <context> I need a weather dashboard built as one self-contained HTML file with vanilla JavaScript, runnable instantly as an artifact. There's no live API in the artifact, so use realistic mock data structured exactly like a real weather API response. </context> <inputs> - Layout: [CURRENT CONDITIONS HERO, HOURLY STRIP, 7-DAY FORECAST, METRICS GRID (HUMIDITY, WIND, UV, FEELS-LIKE)] - Cities: [A FEW SELECTABLE CITIES WITH DISTINCT MOCK DATA] - Visuals: [WEATHER ICONS (CSS/SVG), A TEMPERATURE TREND CHART DRAWN WITHOUT A LIBRARY] - Units: [C/F TOGGLE] - Style: [CLEAN, MODERN, RESPONSIVE] </inputs> <task> Build a dashboard rendered from a mock data object shaped like a real weather API payload (current, hourly, daily). Include a city selector that swaps datasets, a current-conditions hero, an hourly scroll strip, a 7-day forecast row, a metrics grid, CSS/SVG weather icons, a Celsius/Fahrenheit toggle that converts everything, and a temperature trend line drawn on canvas (no charting library). Structure the code so swapping the mock object for a real fetch later is a one-function change. </task> <constraints> - One self-contained HTML file; no libraries; mock data clearly separated from rendering code. - Unit toggle converts every displayed value correctly; layout is responsive. - Note in the UI that data is mock; accessible controls and meaningful icon labels. </constraints> <format> Return the full HTML file as an artifact, then explain the mock-data shape (matching a real API) and the single function to swap in a live fetch. </format>
Builds a weather dashboard from API-shaped mock data with forecast, metrics, and a unit toggle as a previewable artifact.
Pro tip: Have Claude shape the mock data exactly like a real weather API so swapping in a live fetch later is a one-function change.
Frequently Asked Questions
Prompts are the starting line. Tutorials are the finish.
A growing library of 300+ hands-on tutorials on ChatGPT, Claude, Midjourney, and 50+ AI tools. New tutorials added every week.
7-day free trial. Cancel anytime.