Skip to content

2005czq/AAssistant

Repository files navigation

AAssistant

A powerful bill splitting tool to help you and your friends settle expenses fairly.

Live Demo GitHub

📖 Overview

AAssistant is a bill splitter application that helps groups calculate fair cost distribution and settle debts efficiently. Originally developed as a C++ command-line tool, it has evolved into a modern, responsive web application with a beautiful handwritten notebook aesthetic.

✨ Features

Web Version (Current)

  • 🎨 Beautiful UI: Handwritten notebook-style interface with light/dark themes
  • 📱 Fully Responsive: Works perfectly on desktop, tablet, and mobile devices
  • 🌍 Bilingual: Automatic language detection (English/Chinese) with manual toggle
  • 💼 Multiple Split Types:
    • Split Equally: Distribute cost equally among all members
    • Only Selected: Include only selected members
    • Except Selected: Exclude specific members
    • By Shares: Split by ratio/percentage
    • By Amount: Specify exact amounts for each person
  • 🎬 Interactive Interface:
    • Drag-and-drop bill reordering
    • Real-time calculations
    • Visual error feedback with red circles
    • Edit mode for batch deletion
  • 💾 Auto-Save: Local storage persistence
  • 📤 Export Options:
    • Copy bill details as text
    • Download as image
  • 🌓 Theme Detection: Automatically matches system theme preference
  • ⚡ Modern Stack: Svelte + TypeScript + Vite, ready for GitHub Pages

C++ Version

See ./cpp/README.md for more details.

🔍 Comparison

Feature Web Version C++ Version
Interface Modern GUI Command-line
Platform Any browser Compiled binary
Input Interactive Text file
Persistence Auto-save Manual
Export Text/Image Text only
Real-time
Mobile Support
Ratio Split
Drag Reorder

🤝 Contributing

Contributions are welcome! Please feel free to submit issues or pull requests.

🛠️ Development (Svelte + TypeScript)

This project has been refactored to Svelte + TypeScript with Vite. Use pnpm to install and run.

pnpm install
pnpm dev

Type checks:

pnpm check

Build for production:

pnpm build

Deploy to GitHub Pages:

  1. Run pnpm build to generate the static site in dist.
  2. Publish the dist folder via GitHub Pages (or any static host).

📄 License

See the LICENSE file for details.

🙏 Acknowledgments

📮 Contact

For questions or suggestions, please open an issue on GitHub.


Made with ❤️ by AAssistant

About

A powerful bill splitting tool to help you and your friends settle expenses fairly.

Resources

License

Stars

7 stars

Watchers

1 watching

Forks

Contributors