During this Christmas holiday, Mitchell Hashimoto launched Ghostty.
Upon its release, Ghostty quickly gained attention - not only because of Mitchell Hashimoto's identity (the founder of HashiCorp), but also because of the quality of Ghostty itself, which stirred the stagnant world of terminal emulators.
As a prime example of "Build in Public", Mitchell recently appeared on the Changelog podcast, a 100-minute episode where he shared many interesting stories, including insights into the birth, goals, and development process of the Ghostty project.
Here are some of the fun facts about Ghostty from the podcast:
The Genesis of Ghostty
Mitchell, the founder of HashiCorp, had been working in server-side development before leaving the company in 2023.
He has always loved coding, and after leaving HashiCorp, he wanted to explore something new and different from his previous work. For him, this meant working on "non-infrastructure", "non-server-side", "desktop software", which led to the creation of Ghostty.
Why Build Ghostty When There's Already terminal.app?
The potential of the terminal has not been fully explored, and there are only a few terminal emulators on the market. In contrast, there are hundreds of browsers (and the number continues to grow!).
Mitchell wanted to create a terminal that was superior in every aspect.
Key Features of Ghostty
- Fast
- Cross-platform
- Native
What Defines a Fast Terminal?
- File loading speed: How quickly can the terminal load a file?
- Input latency: How soon after pressing a key does the character appear in the terminal?
- Rendering speed: How high is the frame rate when scrolling through large files?
Why is Ghostty Fast?
Ghostty is developed as a native application, with specific optimizations for each platform, going all the way down to instruction-level architecture.
For instance, on Apple Silicon, it uses proprietary ARM instructions, and on Intel, it uses SIMD instructions.
For rendering, Ghostty uses the Metal framework on macOS and OpenGL on Linux.
Imagining the Future of Terminal
Can the terminal's capabilities be expanded?
Is it possible to open HTML or PDF files directly within the terminal? Why leave the terminal environment?
What is the Goal of Ghostty?
Influence.
Since no one has focused on improving the terminal, Ghostty can take on this role and, in some way, impact the entire ecosystem, fostering a sustainable community.
This is why libghostty
is important - Mitchell doesn't want Ghostty to be the only terminal program. In the future, anyone should be able to develop their own terminal program - whether for iOS, Android, or any other platform - without needing to reinvent the core.
Why Not Release It Publicly Sooner?
Mitchell wanted to spend more time with his young daughter, who was only a few months old at the time.
He could only squeeze in time to write code when she was asleep.
Why Choose Zig for Ghostty?
Zig was chosen because it is fun to work with. While Rust is also a great language, it's not that fun.
How Does Ghostty Influence Zig?
- The Zig team has used Ghostty to compile and test whether Zig’s iterations affect the stability of the compiler.
- The package manager feature was something Mitchell suggested to Andrew, making it easier to distribute Ghostty on Linux.
What Was the Most Challenging Part of Developing Ghostty?
Fonts.
About 70% of the development time went into font rendering.
The other 30% was spent on building the terminal emulator and - selecting a satisfying default font.
What Makes Ghostty Stand Out?
"It's one of those things where I described it like a retina screen that Apple shipped. you don't realize how good it is until you use it." -- Mitchell Hashimoto
After All
Listening to the entire podcast, it’s clear how passionate Mitchell is, as well as his continuous drive to push boundaries: Why does the terminal have to be the way it is? Why can't it be better?
Finally, thank you, Mitchell!
Once you've completed local development with Ghostty, why not deploy the project to the cloud with Leapcell?
Leapcell is the Next-Gen Serverless Platform for Web Hosting, Async Tasks, and Redis:
1. Multi-Language Support
- Develop with JavaScript, Python, Go, or Rust.
2. Deploy unlimited projects for free
- pay only for usage — no requests, no charges.
3. Unbeatable Cost Efficiency
- Pay-as-you-go with no idle charges.
- Example: $25 supports 6.94M requests at a 60ms average response time.
4. Streamlined Developer Experience
- Intuitive UI for effortless setup.
- Fully automated CI/CD pipelines and GitOps integration.
- Real-time metrics and logging for actionable insights.
5. Effortless Scalability and High Performance
- Auto-scaling to handle high concurrency with ease.
- Zero operational overhead — just focus on building.
Explore more in the Documentation!
Follow us on X: @LeapcellHQ
Top comments (0)