Inspiration

Many small entrepreneurs and handmade product makers struggle to determine how much it actually costs to produce each item. They often set prices based on intuition or competitors' prices, overlooking materials, labor, packaging, and other production expenses.

This can lead to underpricing products without realizing how much profit they are losing.

We created Finansi to help small makers understand their real production costs and make more informed pricing decisions.

What it does

Finansi is a simple cost calculation and pricing management application designed for small-batch makers and independent entrepreneurs.

Users can:

  • Create and manage product recipes.
  • Add materials, quantities, labor, packaging, and additional costs.
  • Calculate total production costs and cost per unit.
  • Choose between three pricing methods: profit margin, markup on cost, or manual pricing.
  • Compare two different selling prices.
  • Save and manage products.
  • Record sales and track pending payments.
  • View sales, collections, and estimated gross profit.
  • Use the application in English or Spanish.
  • Select from five currencies: PEN, USD, MXN, COP, and EUR.
  • Switch between light and dark themes.
  • Export and restore business data using JSON backups.

How it works

A maker enters the materials and expenses required to produce a batch.

Finansi calculates the total batch cost and the cost per unit. The user can then choose a pricing method, compare different selling prices, and save the option that best fits their business.

The application also allows users to record sales and track whether payments have been collected or are still pending.

How we built it

Finansi was built using HTML, CSS, and modular JavaScript, and deployed as a static web application through GitHub Pages.

IndexedDB provides local storage for products, recipes, and sales. The pricing engine uses deterministic financial calculations to maintain accurate results, while Intl.NumberFormat handles localized currency formatting.

We used Node.js and Playwright to support automated testing and browser-based validation.

The application follows a local-first approach: business information stays in the user's browser and can be exported or restored through JSON backups.

Challenges and what we learned

One important challenge was handling material measurements with different units, such as purchasing materials in kilograms but using them in grams.

Another important lesson was understanding the difference between profit margin and markup. A 20% margin does not produce the same selling price as a 20% markup.

We also focused on preserving historical costs in recorded sales, even when a product recipe is edited or deleted later.

These challenges helped us build a more reliable and understandable pricing experience.

Impact and usefulness

Finansi aims to help small entrepreneurs make better pricing decisions by giving them a clearer understanding of their production costs.

Instead of guessing how much to charge, makers can calculate their costs, compare pricing scenarios, and understand their estimated gross profit before choosing a selling price.

Scope and limitations

Finansi currently stores business information locally in the browser. It does not require an account, and it does not provide cloud synchronization between devices.

Each business uses one currency for its saved records. Estimated profit depends on the costs entered by the user and may exclude expenses that have not been recorded.

AI tools and disclosure

We used AI-assisted tools during development.

  • ChatGPT helped organize requirements and project planning.
  • OpenAI Codex assisted with implementation, testing, and documentation.
  • OpenAI image generation was used to create illustrative visual assets.
  • Kokoro was used to generate the English voice narration locally.
  • FFmpeg was used to assemble and edit the presentation video.

The financial calculations themselves are performed by deterministic JavaScript logic. Finansi does not currently use a generative AI API to calculate prices or provide financial recommendations.

What's next

Our next priorities are to test Finansi with real small-business makers, improve accessibility through screen-reader testing, and continue refining the user experience based on real feedback.

Our goal is to make financial calculations more understandable and accessible to people who produce and sell their own products.

Built With

Share this project:

Updates

Submission history