Skip to content
Niš, Serbia

Freelancer Tax Calculator

A web calculator that helps Serbian freelancers compare taxes under Model A and Model B, with live EUR to RSD exchange rates and net-income charts.

Role
Full-stack Developer
Platform
Web (Responsive Single Page Application)
Category
Web
Year
2025
Freelancer Tax Calculator cover: title and project illustration on a dark background

01 The brief

Assignment

Build a modern web application for Serbian freelancers to calculate taxes under Model A and Model B, including automatic EUR → RSD exchange rate updates and clear net income comparisons.

Objective

Enable freelancers in Serbia to instantly compare tax obligations under different models, with accurate real-time exchange rates, easy input/output, and a clear, user-friendly interface.

Built with

  • Preact
  • Vite
  • TailwindCSS
  • shadcn/ui (Radix UI)
  • Recharts
  • Netlify Functions (serverless)
  • Kurs API

Project overview

Project Background

I created the Freelancer Tax Calculator (Serbia), a responsive web application designed to help freelancers quickly calculate and compare their tax obligations under Model A and Model B. The challenge was to present complex tax calculations in a clear, accessible way, while ensuring automatic updates with live EUR → RSD exchange rates from the National Bank of Serbia (NBS).


Objective

  • Provide an intuitive calculator for freelance taxes in Serbia
  • Allow gross income input in EUR or RSD
  • Automatically fetch and update the official NBS exchange rate
  • Compare Model A vs Model B with detailed breakdowns
  • Display net income in both currencies with visual feedback (progress bar)

Deliverables

  • Fully functional, responsive tax calculator web app
  • Automatic integration with NBS exchange rate via serverless proxy
  • Visual breakdown of tax burdens with progress bars and charts
  • Options for health insurance indicator and additional user settings
  • Public GitHub repository and deployable Netlify build

Timeline and Milestones

  • Project Kickoff: Apr 12, 2025
  • Frontend Setup: Apr 12, 2025
  • Serverless API Proxy & Exchange Rate Integration: Apr 12, 2025
  • Launch (Netlify Hosting): Apr 13, 2025

Gallery - 03 images

Execution

Phase 1: Research & Planning

  • Researched Serbian tax models A & B and freelancer pain points
  • Evaluated APIs for EUR → RSD exchange rates and CORS limitations
  • Defined app flow: gross input → tax model calculation → net income output
  • Skills Used: Tax system analysis, technical planning, UX flow design

Phase 2: Design & Development

  • Built frontend with Preact + Vite for speed and modularity
  • Designed UI with TailwindCSS and shadcn/ui (Radix) components
  • Implemented charts with Recharts for visualizing tax distribution
  • Added serverless proxy via Netlify Functions for Kurs API integration
  • Skills Used: Frontend dev, UI/UX, serverless functions, API integration

Phase 3: Testing & Launch

  • Performed cross-device and cross-browser testing (desktop & mobile)
  • Validated exchange rate accuracy with official NBS data
  • Optimized usability with visual feedback (progress bar + chart)
  • Launched the app on Netlify with MIT license and public GitHub repo
  • Skills Used: Deployment, open-source release management