Inspiration
I wanted to use different AI models through the same tools and account. Palepale grew from that idea into a terminal coding agent, web chat, and API service.
What it does
Palepale AI gives developers access to multiple AI models through one account across the terminal, web chat, and API.
The terminal agent reads code, edits files, runs commands, and streams responses inside a project folder. The web chat supports image understanding, image generation and editing, and short video generation through supported models.
Developers can also connect tools such as OpenCode through the OpenAI-compatible API. The account dashboard provides API key management, published model prices, and usage reports.
How I built it
I built the terminal agent in Rust with Tokio. The backend uses TypeScript, Bun, Hono, and PostgreSQL for authentication, model routing, pricing, and usage accounting.
The website uses Next.js, React, and Tailwind CSS. It brings chat, billing, usage history, and API key management into the same account interface.
The backend runs on Azure, the website runs on Vercel, and Cloudflare sits in front of the service.
Challenges
Models differ in context limits, reasoning controls, image support, and tool-calling behavior. Publishing accurate capabilities was necessary so clients could send supported requests.
Billing streamed responses was another challenge. A connection can end before final usage arrives. The backend tracks unresolved and confirmed usage separately and uses database transactions to prevent duplicate charges.
Keeping the API, website, and coding clients synchronized also required shared model discovery and workflow tests.
What I learned
The model response is only one part of an AI product. Account history, readable pricing, reliable billing, and recovery from interrupted requests shape the experience too.
Working on Palepale taught me to verify the complete workflow, from selecting a model and sending a request to saving the result and recording its usage.
Built With
- azure
- bun
- hono
- next.js
- node.js
- postgresql
- react
- rust
- tailwind-css
- tokio
- typescript
- vercel