← Back to blog

Guide

How I built an ASCII art app inside a Game Boy with Replit

Every step and exact prompt behind a browser ASCII tool that lives inside a custom retro handheld console.

Daniil Filatov

Β· 8 min read

Watch the reel β†—

How I built an ASCII art app inside a Game Boy with Replit

Hey! πŸ‘‹ Thanks for watching the video. Here's the full breakdown β€” every step and every exact prompt I used.

I started with a simple idea: build a browser tool that converts any image into ASCII art. But once the core was working, I kept going. I ended up turning the whole app into a fully interactive retro handheld console with a custom device, physical buttons, and a cinematic background.

Here's exactly how.


Step 1 β€” Build the core functionality


Prompt 01

Create a web app that lets users upload any image and convert it into ASCII art. The app should include image upload, ASCII generation preview, multiple style presets, resolution control, contrast control, character set options, invert option, export as PNG, export as TXT, copy to clipboard, reset, and regenerate buttons. Keep the interface clean, dark, modern, and focused on the ASCII output.

Copy includes the complete prompt.


Step 2 β€” Make the ASCII output the hero


Prompt 02

Tweak the layout so the original image is not the main focus. Move the uploaded image preview into a smaller sidebar thumbnail, and make the ASCII output the main visual element on the page. The ASCII output should take most of the canvas area. Keep the controls easy to access, but the main focus should be the generated ASCII artwork.

Copy includes the complete prompt.


Want more prompts like this?

370+ tested prompts across 38 collections, plus the Prompt Builder to remix them.


Step 3 β€” Design the custom console

First I generated the console image β€” unbranded, blank screen, ready for the ASCII overlay.


Prompt 03

Use the attached Game Boy reference image as the main structural reference, but slightly redesign it into a fictional unbranded retro handheld console optimized for a web app interface. Keep the same nostalgic 90s portable gaming device look: off-white plastic body, dark gray screen bezel, red A/B buttons, black D-pad, Start/Select buttons, and speaker grooves. Make the LCD screen area slightly larger and cleaner than in the reference, while still feeling realistic and proportional. The screen must be completely blank, flat muted green, and perfectly empty, ready for placing custom ASCII artwork inside later. Remove all original branding, logos, labels, and copyrighted text. Do not include "Nintendo", "Game Boy", or any original text. Keep only the physical design language and retro handheld feeling. Photorealistic product mockup, front-facing symmetrical composition, centered on a clean light background, generous margins around the device, realistic plastic texture, subtle wear, soft studio lighting, crisp details, clean shadows, high-resolution, mockup-ready. No hands, no extra objects, no screen content, no UI, no text, no logos.

Copy includes the complete prompt.


Then I added custom labels directly on the device:

DOT MATRIX WITH INTERNET MAGIC β€” ASCII BOY β€” A CLASSIC β€” B COLOR β€” filatov.design


Step 4 β€” Make it look worn and real


Prompt 04

Use the attached image as the exact base. Preserve the same composition, device shape, screen size, button placement, labels, wordmark, and overall layout. Do not redesign the console and do not change the screen content area. Make the handheld console look more worn, scratched, and heavily used, like an old device that has been carried around for years. Add stronger realistic aging to the off-white plastic: yellowed edges, small scuffs, micro-scratches, dust in the seams, subtle dirt around buttons, worn corners, slight discoloration, and tactile plastic texture. Add a small handwritten text near the bottom of the device that says "filatov.design", as if it was written with a thin dark blue or black pen. It should feel casual, slightly imperfect, human, and naturally placed on the plastic surface. Keep the custom printed details already visible. Keep the LCD screen blank with its subtle pixel texture, ready for future ASCII overlay. No new objects, no hands, no background changes, no UI elements, no artwork inside the screen, no extra logos.

Copy includes the complete prompt.


Step 5 β€” Place the ASCII output inside the screen

I uploaded the console image to Replit and rebuilt the interface around it.


Prompt 05

I uploaded a custom retro handheld console image called "ascii-boy.png". Use this image as the main interface frame for the app. Transform the current ASCII Studio layout into a full-screen retro handheld interface. Requirements: - Remove the current sidebar-heavy layout from the main view. - Center the uploaded console image on the page. - The console should take around 85–90% of the viewport height on desktop. - Keep generous margins around it. - Overlay the ASCII output exactly inside the green LCD screen area of the console. - The ASCII output must be clipped inside the screen and should not overflow outside it. - Clicking the screen should open the image upload flow. - After upload, the generated ASCII image should appear inside the screen. - Keep the existing ASCII generation logic, presets, resolution, contrast, character set, custom characters, invert, copy, TXT export, PNG export, regenerate, and reset functionality. - For now, focus only on layout and screen overlay positioning. Do not add button interactions yet.

Copy includes the complete prompt.


Key lesson: don't ask for everything at once. Get the screen overlay right first, then build on top.


Step 6 β€” Fix the screen crop


Prompt 06

Fix the ASCII display inside the console screen. Right now, uploaded images with a different aspect ratio create black empty bars inside the square LCD screen. For the on-screen preview, the ASCII output should always visually fill the entire screen area, like CSS object-fit: cover. Requirements: - The LCD screen preview area must always be fully filled with ASCII output. - No black bars or empty spaces should appear inside the screen. - If the uploaded image aspect ratio is different from the screen, crop the preview visually from the center so it fills the square display. - Preserve the image proportions visually, do not stretch or distort the image. - Use a "cover" behavior for the screen preview only. Important: - The export/download functionality should still export the full generated ASCII artwork in its original intended resolution/aspect ratio. - Only the Game Boy screen preview should be cropped to fit the LCD screen. - Do not permanently crop the source image or exported result.

Copy includes the complete prompt.


Step 7 β€” Make the buttons interactive

This is where it stopped feeling like a web app.


Prompt 07

Now make the physical controls on the console interactive. Create invisible clickable zones positioned over the console buttons: - Screen area: opens image upload. - A button: switch to Classic Terminal preset. - B button: switch to Color ASCII preset. - D-pad up: increase resolution. - D-pad down: decrease resolution. - D-pad right: increase contrast. - D-pad left: decrease contrast. - Start button: regenerate. - Select button: reset. Keep the zones invisible by default, but add subtle hover and press feedback: slight glow, small scale effect, soft outline, and cursor pointer. Do not add visible modern buttons on top of the device. The physical console itself should feel like the interface.

Copy includes the complete prompt.


Step 8 β€” Pixel-perfect button alignment


Prompt 08

The invisible hover/click zones for the physical Game Boy buttons are not aligned with the real button positions. They must be pixel-perfect. Fix the interactive zones so they are positioned relative to the console image itself, not relative to the page or viewport. Requirements: - Wrap the console image in a single relative-positioned container. - The console image should define the coordinate system. - All interactive zones must be absolutely positioned inside this same container using percentage-based coordinates. - The zones should scale perfectly together with the image when the console resizes. - Do not position zones relative to the full page, body, viewport, or screen. For debugging, temporarily make all hit zones visible with a semi-transparent red overlay and a thin outline, so I can visually check alignment.

Copy includes the complete prompt.


Step 9 β€” Hide the control panel


Prompt 09

Hide the right sidebar by default. Add a small circular toggle button that shows/hides the controls panel. Requirements: - The controls panel should not be visible on the main screen by default. - The toggle button should be small, circular, and minimal. - Position it near the bottom-right corner, next to the "Made with Replit" badge. - When clicked, the right sidebar slides in from the right. - When clicked again, the sidebar hides. - The sidebar should float above the page as an overlay instead of pushing or resizing the console. - The console must stay centered and unchanged. - Keep all existing functionality unchanged.

Copy includes the complete prompt.


Step 10 β€” Add a cinematic background

First I generated the background image:


Prompt 10

Top-down photorealistic retro creative desk background for a web app interface. The surface is an old blue-green self-healing cutting mat with a subtle grid, measurement lines, scratches, cut marks, tape residue, dust, and worn texture. It should feel like a designer/maker desk from the late 90s or early 2000s. Leave a large clean empty vertical space in the center for placing a retro handheld console later. The center must stay mostly clear, with only the cutting mat texture visible, no objects covering the middle. Place nostalgic objects around the edges and corners: old game cartridges, black audio cassette tapes, tangled wired earbuds, a small old die-cast toy car with worn paint, a generic red-and-blue plastic superhero action figure, a pencil, folded paper notes, and small worn stickers. Photorealistic top-down product photography, realistic materials, slightly dusty vintage objects, soft shadows, editorial composition, high detail, clean center, nostalgic old-school creative workspace. No hands, no people, no real faces, no celebrities, no recognizable brands, no copyrighted characters, no logos, no readable text, no modern UI, no device in the center.

Copy includes the complete prompt.


Then I uploaded the background to Replit:


Prompt 11

I uploaded a new retro desk background image. Use it as the website/app background behind the existing Game Boy interface. Important: do not change or rebuild the Game Boy interface. Keep the current console image, screen overlay, button hit zones, ASCII generation, controls, export, and all interactions exactly as they are. Background requirements: - Set the uploaded retro desk image as the full-page background. - Use background-size: cover. - Use background-position: center. - Use background-repeat: no-repeat. - Keep the background fixed behind the app. - The Game Boy must stay centered on top of the background. - Do not stretch or distort the Game Boy image. - Do not move the screen overlay or button hit zones. - Keep all existing functionality unchanged.

Copy includes the complete prompt.


The Result

A fully interactive ASCII art tool inside a custom retro console. Upload any image, convert it to ASCII, switch styles with the A/B buttons, tune resolution and contrast with the D-pad, and export.

The biggest lesson: you don't have to stop at the first working version.

Once the core is there, keep prompting. Refine the details. Turn a simple idea into something people actually remember.

Start simple. Make it work. Then make it memorable.

FILATOV.DESIGN MEMBERSHIP

Get every prompt behind my work

370+ tested prompts across 38 collections, the Prompt Builder to remix them in seconds, and new drops every week.

$15/month. Cancel anytime.

NEWSLETTER

New guides in your inbox

One short email when a new guide or prompt collection drops. No spam, unsubscribe anytime.

NEWSLETTER

Get new guides by email

New guides and prompt drops. One short email, no spam.

Prompts ready.
Your move

Stay updated on new drops

New collections, prompt drops, and updates, straight to your inbox.

Prompts ready.
Your move

Stay updated on new drops

New collections, prompt drops, and updates, straight to your inbox.

Prompts ready. Your move

Stay updated on new drops

New collections, prompt drops, and updates, straight to your inbox.