← Back
MELICODE

Melicode: AI Building
as Product Design

ROLES Product Designer + Builder
YEAR 2026
PLATFORM macOS (Electron)
CONTEXT AI Building, Product Experience
OVERVIEW

Melicode is a desktop app I designed and built to give Claude Code a proper graphical interface. What started as a personal frustration with a terminal-only workflow became a product experiment: could I use AI to build the very tool that would make AI easier to use?

CONTEXT &
OPPORTUNITY

The Constraint

At Mercado Livre, corporate accounts used to allow Claude Code exclusively via terminal. The enterprise contract covers API access directly, while graphical interfaces operate on a separate billing model.

The Real Friction

The terminal wasn't the problem. It was everything around it: history vanishing on tab close, context compaction erasing threads, manual folder management, skills installed by hand. A slow accumulation.

Melicode home screen
UNDER THE
HOOD

The core challenge was bridging a graphical interface with a CLI tool that was never designed to be wrapped. Melicode is an Electron app built with React and TypeScript. A Node server runs in the background and opens a WebSocket connection between the UI and the Claude Code CLI: everything you type in the interface is spawned as a child process in the terminal, and the output streams back to the screen in real time via stream-json.

The PTY Problem

Interactive terminals don't behave like regular processes — they expect a real TTY. To work around that, the server uses a Python PTY runner that emulates a terminal and writes to stdin automatically, making Claude Code believe it's running in a real shell session.

Zero lines written manually

The entire architecture — Electron shell, WebSocket layer, stream parsing, PTY bridge — was generated by AI. My role was knowing which questions to ask and recognizing when an output was technically valid but architecturally wrong.

AI BUILDING
AS METHOD

The interface was designed entirely by me in Figma, by hand. Since Melicode was intended as an internal Mercado Livre tool, I worked from the company's branding and design system components, making only small adaptations where the system was not enough for the functionality the product needed. Even as AI tools get better at generating screens, I still believe the shape, hierarchy, and taste of a product should come from a designer's judgment. What I took to Claude first was not the visual design, but the functional ambition: before turning the idea into a product, I used Claude to pressure-test whether the experience I had in mind was technically buildable. From there, I used Claude in my personal account, which had access to Claude's default client, to generate a PRD and iterate using the tool I was building.

01

Prompt as briefing
The Figma work defined the experience. Claude helped turn the functional intent behind it into a structured PRD.

02

Validation through usage
I validated outputs by using the product myself. When something felt wrong — like project management — I revalidated the assumption before iterating.

03

Technical decisions via conversation
"Can I do this with my current stack?" replaced the need for a dev partner. Every product idea that required a technical call went back to Claude first.

04

Correcting AI with product vision
The AI solved problems correctly, but not always well. Recognizing the difference between technically valid and product-right was my primary contribution.

Melicode project creation interface
WHERE AI
FELL SHORT

The AI didn't fail at code — it failed at product thinking. Two corrections stand out.

Correction 01

MCP overload on startup

Every installed MCP loaded automatically. Response times were enormous. I redesigned this: users now load only MCPs relevant to the current project, with a separate global layer.

Correction 02

Single chat at a time

The first version blocked concurrent chats. After iterations, the app now supports multiple parallel chats — allowing independent contexts without losing thread.

Melicode MCP settings interface
PRODUCT
DECISIONS

These weren't features the AI suggested, they were deliberate choices about how the tool should behave, not just what it should do.

Organization

Projects, not conversations

Each project maps to a physical folder, containing multiple chats with shared context. Standalone chats exist for one-off tasks. Mirrors how real work is organized.

Extensibility

Skill marketplace

Integrated marketplace with one-click installation and per-project shortcuts. Extensibility treated as a product feature, not a dev task.

Analytics

Track projects and usage in one place

A dedicated dashboard that users can monitor active projects, tool usage, and overall workflow performance in real time, designed to give visibility and structure beyond conversations.

Melicode skill marketplace
Melicode analytics dashboard
ONBOARDING

The onboarding flow helps users configure the app around how they work from day one. Users can define their preferred language, choose the root folder for projects, and get a lightweight introduction to the app's core concepts before starting their first workflow.

Melicode onboarding language selection
Melicode onboarding root folder setup
Melicode onboarding complete screen
REFLECTIONS
01

The most important design skill here wasn't visual, it was knowing when the AI's output was technically correct but product-wrong. That gap is where the designer lives.

02

The project ended with an irony: before Melicode could reach other teams, licensing changes allowed the official apps internally. The product was made obsolete. The learning wasn't.

03

AI gives people with limited technical background the ability to execute ideas that would otherwise be impossible. Not automation, but rather execution at a new ceiling. With that autonomy comes responsibility: I would never ship AI-generated code touching sensitive data without a security review first.

SELECTED WORK

From product thinking to pixel perfect delivery

I design and ship high-quality interfaces across complex products, bringing visual craft and product thinking together from first frame to final delivery.

LET'S WORK TOGETHER

Got a project
in mind?

I'm always open to new projects, collaborations and opportunities. If you have something in mind, let's talk about it.