Skip to content
Bernardo Paulino

Bernardo Paulino

Software engineer

Focused on building complete products end to end, for web and mobile, with TypeScript, React and Next.js.

Lisbon, Portugal

About me

Since October 2024, I've been shipping production code for energy utilities at NTT DATA: TypeScript business logic, interactive data dashboards and maps, and mobile field workflows.

I studied Computer Science and Business Management at ISCTE-IUL, including an Erasmus exchange in Szczecin, Poland. Outside work, I build real products end to end for web and mobile: Portugal Agora, a live dashboard in Next.js, and Rejection Quest, an iOS app in React Native.

More about me

Production work at NTT DATA

Assistant Engineer · NTT DATA

– present

  1. EDP FUNCIONACurrent

    Field service mobile app

    Writing TypeScript business logic for work order forms in a mobile app used by field technicians: conditional UI based on incoming data, scheduling rules driven by equipment expiry dates, and new data models for delay reporting. Building an automated SMS/email notification flow through an external messaging integration.

    • TypeScript
    • Dynamics 365
    • Power Automate
  2. EDP Spain

    Construction and maintenance operations

    Built the client-side logic for the full work order lifecycle: form validation, status transitions, GPS capture on mobile, filtered lookups via the Web API, and digital signature workflows. Managed interface translations across English, Spanish and Portuguese, and worked daily with a Spanish-speaking team.

    • JavaScript
    • Web API
    • Dynamics 365
  3. E-REDES Open Data portal

    Public data dashboards

    Built interactive dashboards and maps for a public open data portal covering Portugal, Spain and Brazil: choropleth maps with cascading district/municipality filters, KPI cards, rankings and trend charts, all in bilingual PT/EN versions. Mentored and onboarded a colleague who took over the Portugal portal.

    Visit the live portal
    • HTML
    • CSS
    • AngularJS
    • Data visualization

Personal projects

Portugal Agora

Live emergency and weather dashboard for Portugal

Answers “is everything OK in my district?” in seconds, bringing official weather warnings, earthquakes, wildfires, fire risk and air quality into one bilingual site. Each source is validated and cached on the server, and if one fails the last good data is shown. Includes interactive maps, a page per district and offline support, and is checked for WCAG 2.2 AA.

  • TypeScript
  • React
  • Next.js
  • Tailwind CSS
  • MapLibre
  • Redis

Rejection QuestIn development

iOS app with daily challenges to lose the fear of rejection

Offers one small real-world challenge a day, picked for each person’s routine. You predict the discomfort first, then log what happened. Over time, a chart shows that the fear you predicted is almost always bigger than the real one. It works offline with local-first sync: SQLite on the phone, an outbox and a Cloudflare Workers API with data in the EU. Sign-in by email, Apple or Google, and over 350 automated tests.

  • TypeScript
  • React Native
  • Expo
  • Cloudflare Workers
  • Hono
  • SQLite

What I work with

Used in production

  • JavaScript
  • TypeScript
  • HTML/CSS
  • AngularJS
  • REST/OData APIs
  • Microsoft Power Platform

Currently focused on

  • TypeScript
  • React
  • Next.js
  • Tailwind CSS

This site is built with all four: server and client components, i18n, accessibility and animation.

Let's talk

The best way to reach me is on LinkedIn. You can also see my code on GitHub.