In Arbeit

Projekte, an denen ich gerade arbeite. Die Roadmap zeigt, was fertig ist und was als Nächstes kommt, und wird mit dem Fortschritt aktualisiert.

Leverandørvakt

In Entwicklung

Ein Frühwarndienst für norwegische Unternehmen, basierend auf offenen Daten des Brønnøysund-Registerzentrums. Nutzer folgen den Firmen, mit denen sie arbeiten, und werden benachrichtigt, wenn sich etwas Wichtiges ändert.

Begonnen: 8. November 2026

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

Warum ich es baue

Kleine Unternehmen merken oft erst dann, dass ein Lieferant oder Kunde in Schwierigkeiten ist, wenn eine Rechnung unbezahlt bleibt. Das öffentliche Register zeigt die Warnsignale bereits: ein neuer Geschäftsführer, Änderungen im Vorstand, verspätete Jahresabschlüsse oder die Eröffnung eines Insolvenzverfahrens. Leverandørvakt beobachtet diese Signale, damit der Nutzer es nicht tun muss.

Roadmap

28 / 32 Meilensteine erledigt

Aus der README des Projekts · auf Englisch

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
Quellcode