Internal company portal and process automation
SvelteKit · Svelte 5 · TypeScript · FastAPI · Python · Jira API · Vario ERP · Pinya HR · Docker
In this article
The starting point
Colleagues needed one place to manage project tasks, plan capacity, and work with data from the company’s ERP and HR systems. The aim was to connect these activities and reduce manual exports and standalone scripts.
What I built
I designed and developed an internal web portal with SvelteKit and FastAPI. Users sign in through Atlassian OAuth and access data and features according to their permissions.
- Daily work: a personal overview of Jira tasks, work planning, due dates, and time tracking.
- Project management: planning people’s capacity across projects.
- Management and sales: tasks for management and an overview of sales opportunities with follow-up actions.
- HR: integration with Pinya HR, from which the portal pulls information about employees, their contracts, and workloads.
- ERP and sales: automatic creation of Jira issues from Vario ERP data, plus product and sales overviews within the portal.
- Automation: background jobs with live progress and a history of results.
- Administration: roles, permissions, API keys, audit logs, and integration status.
Why I designed it this way
Atlassian OAuth uses existing accounts, avoiding a separate set of login credentials to manage. Jira data is fetched for the signed-in user.
Granular permissions control access to data and features for individual users. Atlassian handles sign-in, but what each person can do in the portal is set separately.
HR and ERP integrations let the portal work with data straight from the systems where it is already maintained. HR deadlines can trigger automated actions, and ERP data can generate Jira issues. With the integrations, the portal also automates part of the work, not just reporting.
My responsibility
I handle architecture, frontend, backend, integrations, security, tests, and deployment. I continue to develop the portal around colleagues’ everyday needs.
Integrations run as separate internal services, keeping credentials and system-specific data processing outside the main portal. I operate the system in hardened Docker containers on Linux.
Value
The whole company, around 30 people, uses the portal daily. Its main benefit is simpler, faster time logging against Jira issues, an overview of tasks in one place, and easier work planning.
The portal brings project, HR, sales, and operational work together. Colleagues can use connected features through one interface, with shared access control and a traceable operation history.