Quest

    A beautiful terminal HTTP client with TUI interface. Think Postman, but in your terminal.

    CLIHTTP ClientTUIBubble TeaGo
    December 2025
    100% completed
    YM
    Yashaswi Mishra
    December 2025

    Tech Stack

    Backend

    Go

    Completion Status

    Project completion100%
    This project has reached its initial development goals.

    Quest: When API Testing Meets Beautiful Terminal UI

    I'm tired of switching between my terminal and Postman every time I need to test an API. As a developer who practically lives in the terminal, I wanted something that feels native to my workflow but doesn't sacrifice the visual appeal that makes tools like Postman so great.

    That's how Quest was born - a terminal HTTP client that actually looks and feels good to use.


    Why Another HTTP Client?

    Sure, curl exists. But have you ever tried to craft a complex POST request with headers and JSON body using curl? It's a nightmare of escaped quotes and backslashes.

    And while GUI tools like Postman are great, they break my flow. I don't want to alt-tab out of my terminal just to test an endpoint.

    Quest bridges this gap by bringing a beautiful, interactive interface directly to your terminal.


    The Architecture: Clean Go + Charm's TUI Stack

    Quest is built with Go and leverages the incredible Charm CLI ecosystem:

    Core Framework:

    • Bubble Tea: The TUI framework that handles the event loop and state management
    • Lipgloss: For styling and creating the beautiful color-coded interface
    • Bubbles: Pre-built components like text inputs and viewports

    Design Principles:

    • Modular: Clean separation between UI components and HTTP logic
    • Responsive: Adapts to any terminal size
    • Keyboard-driven: Everything accessible via keyboard shortcuts
    • Fast: Efficient rendering and HTTP client implementation

    Key Features That Make It Special

    Tabbed Interface: Quest organizes everything into intuitive tabs - URL/Method, Headers, Body, and Response. You can navigate with Ctrl+arrow keys or tab through fields naturally.

    Visual HTTP Methods: Each HTTP method gets its own color coding:

    • GET (green) for retrieving data
    • POST (blue) for creating resources
    • PUT (yellow) for updates
    • DELETE (red) for removal
    • And more with consistent visual language

    Real-time Response Display: Responses show up with syntax highlighting, proper formatting, and separate views for headers vs body. Status codes are color-coded so you immediately know if something succeeded or failed.

    Request Persistence: Save requests to .quest files and load them later. Perfect for building collections of API calls you use frequently.


    Implementation Challenges & Solutions

    Terminal Compatibility: Getting colors and layouts to work across different terminals was tricky. The Lipgloss library helped, but I still had to handle edge cases for various terminal emulators.

    State Management: With multiple tabs and input fields, keeping state synchronized was complex. Bubble Tea's message-passing architecture made this manageable by treating state updates as events.

    HTTP Error Handling:
    Building robust error handling that gives meaningful feedback without overwhelming the interface required careful balance between detail and clarity.


    The Developer Experience

    What I love about Quest is how it feels to use. You can:

    1. Enter a URL and immediately start typing
    2. Tab through fields naturally
    3. Use keyboard shortcuts that feel intuitive (Ctrl+S to send)
    4. See responses formatted beautifully with syntax highlighting
    5. Save and recall requests for repeated testing

    It's API testing that feels like it belongs in a developer's terminal workflow.


    Future Roadmap

    Quest is already functional, but I have plans for:

    • Request history and collections
    • Environment variables and templating
    • Multiple authentication methods
    • GraphQL support
    • Response export capabilities

    For now, it solves the core problem: beautiful, fast API testing without leaving your terminal.

    Follow my journey
    Buy me a coffeeSupport

    Explore More Projects