B2B country risk portal
The portal lets corporate subscribers find security events for their countries on their own, and lets analysts publish materials and manage access

Project at a glance
A travel risk management consulting company prepared its analytics in Excel and sent weekly digests to corporate subscribers. All clients received the same mailing, and custom analytics exports were put together by hand. The company needed a private portal where subscribers could find information on their assigned countries themselves. Analysts needed a single place to maintain events, publish materials and manage client access.
- Event search with filters by country and risk level
- Country pages and event cards with ratings and recommendations
- Separate risk ratings for employees and the business
- World map and interactive globe
Want the same for your business? Tell us about your task — we’ll propose a solution and estimate the timeline.
Self-service search instead of a shared mailing
We built a client area with search and filters by country and risk level. Subscribers can find the events they need, open a country page and put together a selection for their geography.
The results can be exported to XLSX or CSV. The export respects the selected filters and the countries available to the client — there is no longer any need to ask an analyst for a custom selection.
Each event comes with a risk assessment
The event card holds the date, location, source and description, along with the impact on employees and on the business. It also shows risk ratings and recommendations when they have been prepared. This gives subscribers the context to assess the situation.
We kept the model the analysts were used to: risk to employees and risk to the business are rated separately on a five-level scale. The overall rating is the higher of the two, and the client area shows it on a High, Medium and Low scale.
A world map and an interactive globe help view events in their geographic context.
A workspace for analysts
In the admin panel, analysts maintain countries, regions and events, manage clients and assign them the geography they can access. Material can be prepared as a draft and published when it is ready: subscribers see only published events.
To migrate the data, we added XLSX import using the company’s template, with support for the region hierarchy. Prepared spreadsheets can be uploaded to the portal without re-entering each event by hand.
Access within the subscription
Each corporate client is assigned the countries it receives analytics for. These limits apply to search, exports and direct links to a country or an event.
Sign-in is protected against password brute-forcing. An activity log makes it possible to trace changes to materials, publications, and access being granted and revoked.
Technical details
Technical details
The portal is built with Next.js 15 and TypeScript, and the data is stored in PostgreSQL 16. The map and the globe use D3, topojson and world-atlas; spreadsheets are handled with exceljs.
The MVP was deployed on the company’s VPS. The portal is ready to onboard corporate clients and runs on the company’s own infrastructure, with no dependence on the studio’s hosting.
Goals
- Move analytics from Excel and mailings to a private portal
- Give subscribers self-service search and export of events
- Limit each client’s access to its assigned countries
- Bring publishing and access management together
Target audience
- Corporate subscribers to country risk analytics
- The consulting company’s analysts
What users need
Job to be done — from situation to outcome
I received a weekly digest of security events and was limited to what was in it. I couldn’t look up information on the countries my company works with on my own.
I want to assess the risks to our employees and business in our geography, based on event descriptions and the analysts’ recommendations.
I find information on the countries I need myself and put together selections for my work. The event description, its consequences and the recommendations are all available together.
What’s inside
Event search with filters by country and risk level
Country pages and event cards with ratings and recommendations
Separate risk ratings for employees and the business
World map and interactive globe
Event drafts and publishing
XLSX import using the company’s template
XLSX and CSV export that respects filters and access rights
Assigning countries to each client
Sign-in protection and an admin activity log
How we worked
Building the admin panel and the client area
Adding the map, the globe and spreadsheet handling
Access control by role and country
Deploying the MVP on the company’s infrastructure
Need a similar project?
Tell us about your task — we’ll estimate the scope, timeline and cost and propose a solution.
Other projects
See all projects
The CRM helps the company and its partners manage bankruptcy cases, collect client information and request legal support

An AI assistant in Telegram answers customers in place of an operator and works out the order price itself — only complex questions go to a person

Website for a pawnshop chain in Novosibirsk with a product catalog, appraisal requests by photo and branch addresses