# Cakedesk

Cakedesk is a simple, privacy-focused invoicing app built for freelancers and small businesses who want full control over their data. It offers a one-time payment model, works entirely offline, and supports powerful customization with HTML/CSS templates. Designed with a clean, Mac-inspired UI, Cakedesk makes it easy to create e-invoices, proposals, and multilingual documents, without the clutter or subscription bloat.

## Get to know Cakedesk

Hey, I'm Max. I’ve been building for the web for over 15 years now. The last three have been spent freelancing, and I’ve always had some kind of side project running in the background...   
I actually started back in 2007 with a guitar blog. A few years later, around 2010, I was selling ebooks on guitar courses. Eventually, I transitioned into software development...  
For the past few years, I’ve been focused on Cakedesk, which is a simple invoicing app for freelancers. Alongside that, I’m working on building a web dev studio called [Supercake](https://supercake.co/), with Cakedesk as one of its main products.

## What’s Cakedesk and what’s so cool about it?

Cakedesk came out of frustration, honestly. I couldn’t find an invoicing app that didn’t feel slow, bloated, or overly complicated. A lot of them looked bad, lacked customization, and forced you into subscriptions...  
There’s even a free online version for creating invoices. The desktop version is free for up to three invoices or clients, and then it’s a one-time payment with free updates for a year.

## Tool Stack of Cakedesk

Cakedesk is built with Electron, so it runs on both Mac and Windows using web technologies...  
I use MongoDB for the backend server, and Nuts (an open-source tool) handles app updates. For storing data locally, I went with SQLite...  
I host everything on DigitalOcean using Dokku...

### Technologies Used:
- **Electron**: Framework designed to create desktop apps using web technologies.
- **React**: Open-source frontend JS library for building user interfaces.
- **Node.js**: JavaScript runtime built on Chrome's V8 JavaScript engine.
- **MongoDB**: NoSQL database for storing backend data.
- **Nuts**: Release server tool for distributing Electron app updates via private GitHub repo.
- **SQLite**: Lightweight, file-based SQL database used for local storage in the app.
- **DigitalOcean**: Cloud hosting provider used to deploy apps.
- **Dokku**: Self-hosted platform-as-a-service (PaaS) for deploying apps.
- **Umami**: Privacy-friendly, self-hosted web analytics platform.

### Do you use any other tools to run the business?

For email marketing, I use Sendy, which is a self-hosted newsletter tool. For collecting feature requests, I’ve been using Canny...

### What’s your personal stack? Which apps do you love?

I’m a huge fan of Raycast...  
For code, I use VS Code with the Vim extension...  
My terminal of choice is iTerm2...

## Anything else you’d like to share?

Yeah, if you’re a freelancer and want a no-fuss invoicing app, definitely check out Cakedesk. And if you’re into building MVPs or need help bringing a web idea to life, take a look at [Supercake](https://supercake.co/).

## Now, discover Cakedesk for yourself

Huge thanks to Max for sharing the story behind Cakedesk and the details on the building blocks that make it such a great tool. Now, go download it yourself and start generating beautiful invoices.

[View Website](https://cakedesk.app/)
