Joao GoncalvesBuilding practical systems from ambiguous ideas
Product-minded software engineer and technical leader with 15+ years across Portugal, the UK, and Japan. Combines product discovery, architecture, stakeholder alignment, and hands-on delivery. Led a new product from client discovery to an open-source launch. Current focus: AI-assisted software creation that preserves human intent and judgment.
Experience
- Nov 2023 – Oct 2025Tokyo, Japan
HeartCore
Tech Lead / Product Lead
Domain: Website creation software
Context: WebSora: a planned cloud SaaS platform for Figma-to-website creation. Websolut: the open-source website builder publicly released while SaaS development continued.
Tech stack: Vue 3, TypeScript, Electron, Vite, NestJS, PostgreSQL, REST, OpenAPI / Swagger, WebSockets, gRPC, Protocol Buffers, Vercel
Outcome: Demonstrated the feasibility of fast Figma-to-code conversion, securing management approval for continued SaaS development and team expansion. Delivered an open-source website builder with near-real-time design previews, independent content editing, and Vercel publishing. Reduced development and release coordination overhead through repository consolidation.
Key contributions:
- Translated client interviews about design-to-delivery friction into a product concept, specifications, user flows, technical requirements, and a roadmap. Collaborated with a senior designer to define staffing and budget needs, and presented the product direction and business case to stakeholders.
- Led a three-person, three-month proof of concept with a senior designer and a junior developer. Designed the system architecture and implemented core functionality, guiding the junior developer through technical Jira specifications, documentation, and code reviews.
- Built cloud foundations with NestJS/PostgreSQL microservices, a REST gateway, and gRPC/Protocol Buffers. Developed shared contracts, validation, English/Japanese localization, and end-to-end tests; contributed to the Vue 3 administration interface. Continued to guide technical direction and code quality as the team expanded.
- Proposed and led the public release of Websolut while WebSora was under development, making the tool available earlier and creating an opportunity to gather feedback. Led hands-on Vue 3/TypeScript development of the design-to-website workflow. Integrated OpenAPI / Swagger and maintained API documentation.
- Consolidated frontend and backend repositories into a monorepo, enabling synchronized checkouts and simplifying staging and production releases by removing the need to coordinate dependent pull-request merges across repositories.
- Nov 2021 – Aug 2023Lisbon, Portugal
Lisbon Nearshore — Client: ADVARRA
Senior Full-stack Developer · Client assignment
Domain: Clinical research
Context: CIRBI V2: reimplementation of an established research-submission and review platform, intended to preserve V1 functionality and improve usability. V2 remained pre-launch during my tenure, with development guided by product specifications and QA feedback.
Tech stack: Ruby on Rails, JavaScript, Vue 2/3, Pinia, Vite, Node.js, Tailwind CSS, PostgreSQL, Redis, Sidekiq, Minitest, Jest, Vue Test Utils, OpenAPI / Swagger, Datadog
Outcome: Reduced repetitive form-development work and improved consistency through automated code generation. Modernized legacy Vue components to support ongoing maintenance.
Key contributions:
- Implemented and maintained Rails backend functionality and Vue forms from detailed product specifications, with automated tests, strict coding standards, peer review, and QA validation. Worked within established auditability and traceability requirements for research-submission workflows.
- Built an interactive Node.js CLI that fetched Jira specifications through the API, parsed form requirements, prompted developers for missing details, and generated Vue components, validation logic, and test stubs.
- Proactively investigated V2 errors tracked in Datadog, documented actionable Jira tickets, and followed issues through resolution.
- Migrated Vue 2 components to Vue 3 and applied accessibility patterns within the project’s coding standards.
- Dec 2020 – Dec 2023Japan / Portugal
Browz, FitFans & TrainerX
Founder / Builder
Domain: Fitness and product discovery
Context: FitFans: a platform for fitness creators to offer branded mobile apps with workout programs, nutrition content, community features, and subscriptions. TrainerX: an AI-assisted fitness app that turns conversational onboarding and workout requests into personalized, guided exercise sessions. Browz: a shopping-discovery app for browsing products from followed retailers and saving finds to personal collections.
Tech stack: Ruby on Rails, PostgreSQL, Redis, Sidekiq, Apartment, Stimulus, OpenAPI / Swagger, OpenAI API, Stripe, RevenueCat, AWS S3, imgix, Selenium, RSpec, Ansible, Capistrano
Outcome: Enabled branded fitness apps to share a configurable platform while retaining distinct branding, navigation, and content. Connected conversational AI to structured, user-specific workouts, and automated retailer catalogue ingestion to support personalized product discovery.
Key contributions:
- Worked with a product manager and mobile developer, taking primary responsibility for Rails backends, administration interfaces, automated tests, and infrastructure across all three products. Integrated OpenAPI / Swagger and maintained API documentation.
- Built FitFans’ multi-tenant Rails/PostgreSQL platform for branded fitness apps, with administration-controlled branding, navigation, content, and feature availability, plus Stripe/RevenueCat subscription and purchase-restoration workflows.
- Integrated CDN-backed image delivery and optimization, helping images load faster in the mobile apps.
- Developed TrainerX’s AI-assisted workout workflow in 2023, connecting conversational onboarding and OpenAI function calling to catalogue-based workout creation, with persisted workout records, background processing, real-time chat updates, and integration tests.
- Built Browz’s configurable retailer-ingestion pipeline with browser automation, scheduled crawling, catalogue administration, and personalized feeds based on followed stores and previously viewed items.
- Dec 2018 – Dec 2020Lisbon, Portugal
Streetbees
Senior Software Engineer
Domain: Consumer research
Context: Returned as a senior developer to extend the consumer-research platform I had helped build, working alongside newly established engineering teams.
Key contributions:
- Extended the internal admin area, REST API, and client-facing dashboards, building on the platform architecture and core features developed during my earlier tenure.
- Across my time at Streetbees, contributed to survey quota functionality supporting campaign monitoring across target groups and locations.
- Jan 2018 – Jul 2018Tokyo, Japan
Zens
Chief Technology Officer
Domain: Property management
Context: Live Rails property-operations platform supporting reservations, cleaning, and owner reporting; inherited after the original developers had departed, with limited architectural context available.
Tech stack: Ruby on Rails, PostgreSQL, Redis, Sidekiq, Apartment (multi-tenancy), jQuery, Bootstrap, AWS S3, Docker, Heroku, RSpec, Capybara
Outcome: Delivered Japanese localization and a more consistent interface for the operations team, addressing identified usability issues and improving overall user experience. Established shared development practices and daily coordination across internal developers, remote contractors, and leadership.
Key contributions:
- Took full technical ownership while developing hands-on, mentoring two junior developers, and coordinating two agency developers and a project manager/QA. Reviewed code, guided delivery quality, and translated operations-team needs into technical requirements.
- Refactored legacy code to improve structure, readability, and maintainability, coordinating changes around ongoing operations. Introduced Bootstrap, implemented example UI improvements, and guided the juniors in applying consistent interface standards.
- Led delivery of Japanese localization, with locale-file translation implemented by a junior developer.
- Introduced Scrum practices and daily meetings across the internal team, remote contractors, and CEO, improving communication and coordination while making progress and blockers visible.
- Represented the technical team in Airbnb integration discussions and assessed the required transition from scraping-based synchronization to the API; the company closed before migration could proceed. Reported technical progress and risks to the company and CEO; recommended consolidating development with an expanded external team to reduce coordination overhead and respond to cost and integration pressures.
- Mar 2016 – Feb 2017London, UK
Streetbees
Lead Developer
Domain: Consumer research
Context: Consumer-research platform collecting survey responses and user-generated media. Joined to replace an Angular/Rails system where large spreadsheet datasets required days of bespoke dashboard development.
Tech stack across both tenures: Ruby on Rails, Sinatra, ActiveRecord, PostgreSQL, PostGIS, Redis, Sidekiq, React, D3, REST APIs, GraphQL, AWS S3, Pusher, RSpec
Outcome: Enabled data analysts to create and configure client-facing visualizations through the admin interface, replacing the need to develop a bespoke dashboard for each survey. Marketing teams used the dashboards to present consumer insights.
Key contributions:
- Led system architecture, foundational structure, and core feature development for a new platform built from scratch, with hands-on responsibility for the internal admin area, REST API, and client-facing dashboard. Coordinated integration with mobile and ETL components owned by dedicated developers.
- Built administration features for configuring survey campaigns by country and user segment, alongside APIs serving structured survey data and associating media uploaded to S3 with survey responses.
- Developed React dashboards with D3 visualizations for corporate marketing teams. The team also published reusable chart components as the honey-charts npm package.
- Extended the admin area with dashboard customization tools so data analysts could configure visualizations from collected survey data without commissioning a new dashboard implementation.
- Jan 2013 – Feb 2016Lisbon, Portugal
Linkedcare
Senior Software Engineer
Domain: Healthcare
Context: Doctor and patient applications supporting appointment management, patient records, electronic prescriptions, and online video consultations using WebRTC.
Tech stack: Ruby on Rails, Sinatra, React, Turbolinks, Bootstrap, Sass, Webpack, WebRTC, Pusher, Twilio (SMS), PostgreSQL, Microsoft Access, RabbitMQ, Redis, Memcached, Sidekiq, Docker, AWS, Azure, RSpec, Capybara, New Relic, Zendesk
Outcome: Enabled doctors to compare medication prices within the prescribing workflow through responsive autocomplete and patient-specific price calculations. Established shared services for business logic used across the doctor and patient applications.
Key contributions:
- Worked with product and QA colleagues in Three Amigos sessions to clarify requirements from partner doctors, assess their value, and define acceptance criteria. Helped shape technical approaches and implementation plans, supporting developers through delivery.
- Built foundational components and technical prototypes, including shared services for business logic used by the doctor and patient applications.
- Took responsibility for the prescription-pricing service, translating government documentation into calculation rules based on official medication data and patient-specific eligibility. Integrated INFARMED data supplied in Microsoft Access format, including medication prices and pharmacy stock information as of each database update.
- Transformed medication data into a denormalized PostgreSQL table, trading storage redundancy for fast lookups and price calculations. Built an API supporting medication autocomplete with calculated prices and availability information while doctors typed.
Earlier experience
- Outitude — Ruby on Rails Developer, Nov 2011 – Jan 2013. Built and operated features for an outdoor-activities platform.
- Rupeal — Junior Ruby on Rails Developer, Apr 2011 – Oct 2011. Built an event-promotion platform from scratch, covering scheduling and reporting.
Technical Skills
- Product & Leadership
- Product discovery, technical strategy, architecture, roadmaps, stakeholder alignment, team leadership and mentorship, Agile/Scrum.
- Application Engineering
- Ruby on Rails, Sinatra, Vue 3, React, TypeScript, Node.js, NestJS, Fastify, Python/FastAPI; REST, GraphQL, OpenAPI / Swagger, WebSockets, gRPC and Protocol Buffers.
- Data & Delivery
- PostgreSQL, PostGIS, Redis, Sidekiq; AWS, Docker, Ansible, Capistrano, GitHub Actions, Vercel; RSpec, Jest, Vitest, Playwright and Selenium.
- Interfaces & AI
- Design systems, accessibility, internationalization, Storybook, D3 data visualization; OpenAI API and function calling, NumPy, JAX, WebLLM/WebGPU; AI-assisted development workflows.
Open Source Projects
Websolut
Turns Figma designs into websites without writing code, with real-time previews, independent content editing, and publishing to Vercel.
Tech stack: Vue 3, TypeScript, Electron, NestJS, OpenAPI / Swagger, Vercel
Semanticus CSS
Accessibility-focused CSS design system built on semantic HTML, ARIA patterns. Published to npm, with Storybook documentation and Playwright visual-regression tests.
Tech stack: CSS, HTML, ARIA, Storybook, Playwright
Education
Instituto Superior Técnico
Lisbon, Portugal
- Bachelor’s degree in Computer Systems Networking and Telecommunications, 2002 – 2007
- Master’s degree in Computer Systems Networking and Telecommunications, 2007 – 2010
Languages
- English — Fluent
- Portuguese — Native
- Japanese — Beginner (currently studying)
Interests
Bass guitar and piano; camping, practical knotwork, DIY, and mountain biking.