This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend
Describe the transaction. Review the entry. Understand your books.
LedgerFriend is an experimental bookkeeping assistant for Indian sole proprietors, built for the Hacktoberfest 2026 Weekend Challenge: Build for a Friend.
The idea is simple: a small-business owner should be able to describe a transaction in ordinary language, review the proposed accounting treatment, and generate organised books without manually repeating the same information across multiple reports.
AI suggests the transaction details. Fixed accounting rules generate the entries. A human approves what gets posted.
⚠️ Prototype only. Not production accounting software, tax advice, or a replacement for a Chartered Accountant.
👤 Who I’m Building For
LedgerFriend is designed for an Indian sole proprietor who finds everyday bookkeeping difficult to organise and wants to understand how ordinary business transactions become accounting records.
I have kept the person's identity and business details private rather than inventing a testimonial or publishing personal financial information.
The intended workflow is based on a common problem:
Recording transactions in everyday language is easier than translating them into journals, ledgers, and financial statements.
A user handover and detailed feedback session is still pending.
🔗 Demo
Please use fictional transactions only.
💻 GitHub
The repository contains the project source code and setup information.
👤 Who I’m Building For
The intended user is an Indian sole proprietor who is a Friend, Who finds it difficult to keep everyday transactions organised and translate them into accounting records.
I do not want to invent a user testimonial. The project becomes more useful when its design is based on one real person’s workflow.
🛠️ How I Built It
I started with a lightweight, single-page application using:
| Component | Role |
|---|---|
| HTML | Application structure and forms |
| CSS | Responsive dashboard and report styling |
| JavaScript | Validation, posting rules, reports, and AI requests |
| Browser localStorage | Prototype data persistence |
| Ollama | Local model serving |
| Qwen2.5 | Open-weight language model for transaction parsing |
| VS Code | Editing and local development |
| Python HTTP server / VS Code Live Server | Serving the interface locally |
I installed and experimented with:
qwen2.5:3bqwen2.5:1.5b
The smaller model was explored to reduce hardware demands. Smaller size does not guarantee adequate accounting classification accuracy.
AI-assisted development tools
I used AI assistance to explore the idea, generate and revise code, and troubleshoot integration problems.
Tools used during the development process included:
- Backboard: I used Backboard to create the initial project structure and HTML foundation for LedgerFriend. It helped turn the initial concept into the application's page structure, forms, and overall interface layout, which I then developed and refined further.
- Antigravity: I used Antigravity during development to help with implementation and debugging, especially while working through application behaviour and integration issues. It helped me iterate faster while testing different approaches.
- ChatGPT and Claude: ideation, implementation guidance, and debugging assistance.
- Thinking Machines: brainstorming, refining the bookkeeping workflow, exploring edge cases, and improving implementation ideas. Development assistance is distinct from the application’s runtime dependencies.
The documented local inference path is Ollama + Qwen. I should only claim a Backboard runtime integration or a partner-category feature if it is present in the submitted implementation.
Keeping AI away from authoritative posting
The intended flow is:
Description → AI suggestion → Validation → Human review → Rule-based entry → Reports
The model proposes a supported transaction type and extracts fields such as amount, date, and reference.
Application code then selects accounts from fixed rules and calculates with integer paise. The owner must review and confirm before posting.
★This does not eliminate mistakes. An incorrectly classified transaction can still balance.
Equal debits and credits are a necessary check—not proof that the accounts are correct.
Unclear notes belong in a review queue. That queue is not a suspense account, and it does not affect the books.
✨ Prototype Features
📝 Transaction Entry
- Plain-language transaction descriptions
- Local AI integration through Ollama
- Manual entry when AI is unavailable
- Fixed list of supported transaction types
- Journal preview and explicit confirmation before posting
📊 Accounting Views
- Journal
- General Ledger
- Trial Balance
- Draft Trading Account
- Draft Profit & Loss Account
- Draft Balance Sheet
⚠️ Scope and Limitations
This prototype is intentionally narrow:
- INR only
- Sole proprietorships only
- First bookkeeping period with zero opening balances
- Periodic inventory accounting
- No GST/TDS calculations or statutory filing
🏆 Prize Categories
- Best Use of Backboard Build with R-CLI, Backboard's open-source terminal coding agent, compare open-weight models through a single Backboard API key, or give an open-source project's assistant memory and RAG.
- Best Use of Tinker Used Tinker to experiment with model behaviour and improve LedgerFriend's AI-assisted bookkeeping workflow. Explored model outputs, edge cases, and ways to make transaction interpretation more reliable.
Final Reflection
I started with a simple question:
“Can AI create the accounts?”
Building LedgerFriend led me to a better one:
“How can AI make bookkeeping easier without silently becoming the authority?”
That question became the foundation of LedgerFriend.
And that is the project I want to keep building.
❤️ Thank You
Thank you for taking the time to explore LedgerFriend!
This project was a learning experience in building a bookkeeping application, integrating local AI, debugging real-world problems, and separating AI suggestions from accounting rules
Top comments (0)