Pågående

Prosjekter jeg bygger akkurat nå. Veikartet viser hva som er ferdig og hva som kommer, og oppdateres etter hvert som arbeidet går fremover.

Leverandørvakt

Under utvikling

En varslingstjeneste for norske virksomheter, bygget på åpne data fra Brønnøysundregistrene. Brukerne følger selskapene de jobber med og får beskjed når noe viktig endrer seg.

Startet: 8. november 2026

  • Node.js
  • TypeScript
  • Express 5
  • PostgreSQL
  • Sequelize
  • Umzug
  • JWT
  • Swagger

Hvorfor jeg bygger det

Små bedrifter merker sjelden at en leverandør eller kunde er i trøbbel før en faktura ikke blir betalt. Det offentlige registeret viser allerede varselsignalene: ny daglig leder, endringer i styret, forsinket årsregnskap eller åpning av konkurs. Leverandørvakt følger med på disse signalene, så brukeren slipper.

Veikart

28 / 32 milepæler ferdig

Fra prosjektets README · på engelsk

Foundation

  • Express 5 + TypeScript project setup
  • Brønnøysund API integration: lookup by organization number and search by name
  • Layered architecture: routes, controllers, services, mappers
  • Swagger / OpenAPI documentation
  • PostgreSQL connection with Sequelize
  • Versioned migrations with Umzug, applied on startup

Authentication and users

  • User registration and login (bcrypt + JWT)
  • Internal ID + public UUID, roles (user / admin)
  • requireAuth middleware for protected endpoints
  • GET /api/auth/me — current user's profile
  • Admin account created once on startup from environment variables

Watchlist and change detection

  • Data model design: companies, watchlist_entries, company_changes
  • Add and remove companies from a user's watchlist
  • Scheduled change detection using the Brønnøysund update feeds (companies and roles)
  • Change history per company
  • Notifications for followed companies

Testing and CI

  • Test setup: Vitest + Supertest with a separate test database
  • Fake Brønnøysund API for tests, so the suite never depends on the network
  • Tests for auth, companies, watchlist, change detection, role changes, annual accounts, risk signals, notifications, the AI assistant and admin
  • GitHub Actions CI: type check and tests on every push

Company data

  • Roles: CEO and board changes from the Brønnøysund roles API
  • Annual accounts: key figures from the Register of Company Accounts
  • Annual accounts: storing every filing, detecting new filings and warning signs
  • Ownership service: separate Python ETL for Skatteetaten shareholder data

Insights

  • Role network: shared people and audit firms across your companies, matched on name and birth date without storing them
  • Risk signals: explainable assessment, stored levels and early warning
  • Regional trends: new registrations by month, municipality, industry and form, with industry breakdowns

AI

  • AI assistant with tool calling, using the existing service functions

Delivery

  • Docker Compose for local development
  • Deployment (Render + Aiven PostgreSQL)
  • Frontend
  • Usage guide with scenarios
Kildekode