December 2024
Racunko

Technologies
Description
Racunko is a software project that my friend and I started as a prototype with the goal of automating invoice and receipt processing for small businesses. The idea was to eliminate repetitive manual work by automatically extracting important information from scanned invoices and PDF documents and transferring it into financial management software.
The system works by allowing users to upload batches of invoice scans or PDF files. Using OCR and large language models (LLMs), the software identifies and extracts key information such as supplier details, dates, invoice numbers, categories, and financial values. The extracted data is then validated, correctly categorized, and submitted to external finance management applications through API integrations.
The goal of the project is to help businesses save time and reduce administrative workload by automating a process that is traditionally performed manually. Racunko is currently in the prototype stage, with plans to deploy and test it in a small company in the future to validate its performance and practical value.
My Role
I worked as a software engineer and served as the project's architecture and design lead. In this role, I helped define the overall system structure, designed the workflow between different components, and contributed to decisions regarding the AI processing pipeline and data validation strategy.
I collaborated closely with my teammate throughout the development process. Together, we designed workflows, tested different approaches, brainstormed solutions, and continuously improved the system. My responsibilities included implementing and testing core functionality, validating outputs, and helping optimize the overall processing pipeline.
The project also gave me valuable experience working with OCR systems, AI-powered workflows, APIs, and modern software development practices.
Learnings and Challenges
The project presented several technical challenges, with one of the biggest being AI hallucinations and data reliability.
In some cases, the AI models incorrectly extracted information from invoices or generated inaccurate values, particularly when dealing with poorly scanned documents or unclear text. To improve reliability, we developed an agent-based architecture where multiple AI agents had specialized responsibilities. We also introduced a validation agent that reviewed outputs and helped detect potential errors before the data was submitted to financial software.
Another challenge was achieving the right balance between speed, cost, and accuracy. Since the system relies on AI models, processing large numbers of invoices can quickly become expensive or slow if not optimized properly. We spent a significant amount of time experimenting with different models, workflows, and processing strategies to make the system both efficient and practical for real-world use.
Throughout the project, I learned a great deal about OCR technology, AI systems, software architecture, API integrations, and building reliable applications that can operate with minimal human intervention.