Nidan AlamResume

Irish Fintax

Full-Stack Application, Aug to Nov 2026. Role: Main developer, Dublin 4IR.

Open the live app

Irish Fintax explains Irish tax and money through working calculators, guides and a blog, with accounts for people who want to ask a question. It began as an import of a codebase co-built for an Irish accountancy practice, where Nidan wrote most of the tax calculators (VAT, corporation tax, CGT, CAT, R&D credit, capital allowances) and their admin editors, and then became a standalone learning site.

Highlights

  • Income tax, USC, PRSI and take-home pay agree with Deloitte Ireland's calculator on 66 checked cases; 12 households are pinned as tests
  • Seven languages (English, Irish, Spanish, Portuguese, Arabic right-to-left, Bangla, Hindi) through a URL prefix, with no routes moved
  • Admin rate editors with guardrails and an audit log; every calculator falls back to versioned code defaults when the database is empty
  • Scheduled news agent drafts posts from official tax sources with Groq (OpenRouter fallback); nothing goes live until an admin ticks "facts checked"
  • Auth.js split into an edge-safe proxy half and a Node half with the MongoDB adapter; throttled, enumeration-safe sign-in, single-use reset codes and a per-request CSP nonce
  • 51 unit test files on Node's test runner; CI runs typecheck, lint and tests on every push

Main challenge

A tax calculator is only useful if every line is right, and Irish rates change every Budget and, for PRSI, partway through the year. The site also had to work with no database configured, keep accounts safe while the code is public, and add languages including Irish and right-to-left Arabic without restructuring the app.

How it was solved

Each calculator is a pure TypeScript module with a versioned code default, and admins override rates through guarded editors that log every change. The income tax engine was compared with Deloitte Ireland's calculator across 66 cases and the matching households became tests. Languages are a URL prefix that the proxy strips and passes on as a header, so nothing under app/ moved. Auth.js is split so the proxy stays edge-safe while the MongoDB adapter and password checks run only on Node.

What shipped

  • Live at irishfintax.ie in seven languages
  • Income tax output agrees with Deloitte Ireland's calculator on every checked line
  • Sign-in hardened after the move to MongoDB: throttling, enumeration-safe forms, single-use reset codes, an open-redirect fix and a CSP nonce
  • Personal data is deleted on the schedule the privacy page promises, by a monthly workflow

Built with

  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
  • Auth.js
  • MongoDB
  • Nodemailer
  • GitHub Actions
  • Groq
  • Vercel