← Back to portfolio

02

Kamigo

Internship · 2025–2026

Contributed full-stack features to an accountant–client platform during my internship at FlowTribe.

Angular · TypeScript · NestJS · MongoDB · Jest

Overview

Kamigo is a client portal that centralizes communication, tasks, and documents between accountants and their clients. During my internship at FlowTribe, I worked on features including web push notifications and a Personal Income Tax document flow that also connected with Accounton, FlowTribe's accountant-facing application.

What I worked on

  • Push notification opt-in and settings
  • Multi-device push subscription management
  • Mobile and PWA notification behavior
  • Personal Income Tax document upload and management
  • Kamigo ↔ Accounton document integration
  • Backend endpoints and unit tests

Interface

Push notifications

I worked on Kamigo's web push notification feature, including the opt-in flow, notification settings, and managing subscriptions across multiple devices.

A user could have more than one push subscription, so the feature needed to keep individual devices separate while still associating them with the same user. The settings page lets users enable notifications for the current device and manage older subscribed devices.

Mobile testing also exposed platform differences. On iOS, push notifications required the installed PWA rather than the normal browser flow, so Kamigo detects that case and guides the user to install the app. Android supported the browser flow directly.

PIT documents

During my second internship period, I worked mainly on the backend of a Personal Income Tax (PIT) document feature.

Clients can upload PIT documents through Kamigo, view documents they have already sent, download them, and remove them where allowed. The documents also need to become available to the accountant through Accounton.

I implemented API and document-handling work across the Kamigo and Accounton backends, wrote tests around the new functionality, and also handled some frontend and integration work in Kamigo.

  1. Kamigo client
  2. Uploads PIT document
  3. Kamigo backend handles the request
  4. Accounton handles the document context
  5. Accountant can access the document

Challenges

iOS push notification behavior

Push notifications behaved differently on iOS than on Android and desktop browsers. The normal browser flow was not enough for the iOS setup I was testing, so Kamigo detects that case and explains that the app needs to be installed as a PWA before notifications can be enabled. Testing this on real devices was important because the behavior was not identical across platforms.

Managing multiple devices

A single user could receive Kamigo notifications on more than one device. That meant the feature could not treat a user as having only one push subscription. I worked on storing and managing separate device subscriptions and added settings that let users manage the current device and remove older ones.

Working across Kamigo and Accounton

The PIT feature crossed multiple parts of the product: Kamigo's frontend, the Kamigo backend, and the Accounton backend. Changes in one application depended on the APIs and document context provided by another, so the work had to be split into smaller tasks and coordinated across the different codebases.

Testing

Backend work was covered with Jest unit tests around services, controllers, and document-related logic.

I also manually tested the user-facing flows across browsers and mobile devices, including notification opt-in, device management, iOS and Android behavior, and the PIT upload/download/delete flow.