Internship

Software Engineer Intern at Naxa Inc.

Software engineering internship at Naxa Inc. in Tokyo. Shipped a 3-day Twilio outbound-call MVP that unlocked a ¥50M development budget, automated an AWS EC2 + Terragrunt desktop fleet for a sales partner's call operators, and built Next.js company sites and admin dashboards.

  • Next.js
  • TypeScript
  • AWS Amplify
  • AWS EC2
  • AWS Bedrock
  • Terragrunt
  • Docker
  • Twilio
  • v0
Live Demo TODOGitHub TODO
Visual Placeholder

Internship

Overview

Project Context

A recruiter-friendly breakdown of the product goal, audience, and engineering direction.

Overview

What it is

A software engineering internship at Naxa Inc. (Tokyo, May 2025 – present), spanning Next.js product work, a Twilio outbound-call MVP, and AWS infrastructure for a sales partner company's call operators.

Who it is for

Naxa Inc. and a partner company in the sales industry. Internal teams use the corporate site and admin dashboard; external sales operators use the Twilio + AWS EC2 calling environment.

Why it matters

Sales operations need fast, repeatable infrastructure: a credible MVP to unlock budget, IaC-managed operator desktops to scale concurrent calls, and admin reporting that partners can act on.

Problem

What needed to be solved

Multiple needs landed at the same time: a credible product demo to secure a development budget, scalable infrastructure for parallel outbound calling at a sales partner, and admin tooling so business performance was easy to share.

  • A traditional development cycle would have been too slow to validate the outbound-call concept and unlock budget.
  • Manual setup of operator workstations didn't scale to multiple seats or to two concurrent calls per operator.
  • Business performance data lived in formats that were hard to share with the partner company.

Solution

Product Approach

Ship a small, credible Twilio MVP first, then move repeatable infrastructure (operator desktops, deploys, networking) into Infrastructure-as-Code so further scale-up was a configuration change instead of a manual rebuild.

Main User Flow

  1. 01Sales operator signs into a Terragrunt-provisioned AWS EC2 desktop.
  2. 02Operator handles up to two concurrent outbound calls through the Twilio-backed app.
  3. 03Call results and business data are captured for the admin dashboard.
  4. 04Admin reviews performance in the Next.js dashboard and exports it as CSV for the partner company.

Key Decisions

  • Validate the outbound-call concept in 3 days with a Twilio MVP before investing in a full build.
  • Use Terragrunt over raw Terraform so per-environment / per-operator config stayed DRY as the EC2 fleet grew.
  • Use Next.js Server Components on the corporate site to reduce client-side payload and improve load speed.
  • Apply atomic design across UI components so the corporate site and admin dashboard could share patterns without duplicate code.
  • Standardize local development environments with Docker so setup stayed consistent across the company's projects.

Architecture

Technical Design

A high-level system view that explains the app layers and data flow without hiding the engineering decisions.

Architecture and technical design

1

Frontend

Next.js (App Router) + TypeScript for the corporate website and the admin dashboard. Server Components handle SSR for fast initial load, v0 was used for fast UI prototyping, and atomic design keeps components reusable across the two products.

2

Backend

Twilio API powers the outbound-call MVP. The admin dashboard exposes business data through API routes and supports CSV export for partner-company reporting.

3

Database

Stores business performance data that feeds the admin dashboard's visualizations and CSV exports. The specific database engine is omitted from this public summary.

4

Auth

AWS IAM manages cross-service permissions across the cloud footprint. End-user authentication for the corporate site and admin dashboard is internal and not detailed here.

5

Deploy

AWS-first stack: Amplify for Next.js deploys, S3 + CloudFront for static-asset hosting and CDN, Route 53 for DNS, IAM for cross-service permissions, and EC2 (managed with Terragrunt) for the sales partner's call-operator desktop fleet. AWS Bedrock is also part of the company's broader AWS footprint. Docker is used to standardize local development environments across company projects.

Data Flow

  1. 1

    Operator initiates an outbound call from the EC2 desktop via the Twilio-backed app.

  2. 2

    Twilio handles call signaling and media; results are returned to the application layer.

  3. 3

    Business data is recorded and surfaced through the Next.js admin dashboard.

  4. 4

    Admin exports performance data as CSV for the sales partner company.

Features

Key Product Capabilities

Twilio Outbound-Call MVP

Built and shipped in 3 days using the Twilio API. The MVP was credible enough to unlock a ¥50M budget for full development.

AWS EC2 + Terragrunt Operator Desktops

Automated provisioning of remote desktop environments on AWS EC2 via Terragrunt, supporting two concurrent calls per operator and lifting tester-measured sales efficiency by about 50% for a sales partner company.

Corporate Website

Next.js corporate site prototyped with v0. Server Components for fast initial load; atomic design to avoid duplicate component code.

Next.js Admin Dashboard

Internal dashboard for an e-commerce app that visualizes business data and exports it as CSV, making partner-company performance reports easier to produce.

Containerized Project Environments

Docker-based local development environments standardized setup across the company's projects, reducing 'works on my machine' issues.

Agile Team Workflow

Weekly sprints with three engineers and a designer. Jira for planning and GitHub reviews for keeping the codebase clean.

Key features

Engineering

Challenges And Tradeoffs

Shipping A Credible MVP In 3 Days

Problem

The Twilio outbound-call concept needed proof before any meaningful budget would be approved, and there were only three days available.

Resolution

Scoped the MVP to a single end-to-end outbound-call flow on top of Twilio, paired with v0 for fast UI prototyping. The result was credible enough to unlock a ¥50M development budget.

Scaling Operator Desktops Without Manual Setup

Problem

Sales-partner operators needed identical, predictable workstations — and rebuilding them by hand wouldn't scale to multiple operators or to two simultaneous calls per seat.

Resolution

Codified the AWS EC2 desktop fleet with Terragrunt so additional operators were a configuration change rather than a manual install, while still allowing two concurrent calls per operator. Tester-measured sales efficiency rose by about 50%.

Sharing UI Patterns Across Two Next.js Apps

Problem

The corporate site and the admin dashboard had overlapping UI needs but lived as separate apps; copy-pasted components would drift over time.

Resolution

Adopted atomic design and shared component primitives so the two surfaces stayed consistent without duplicate code, and used Server Components to keep load times low.

Engineering challenges

Impact / Results

  • 3-day Twilio outbound-call MVP unlocked a ¥50M development budget for the full system.
  • AWS EC2 + Terragrunt operator desktop fleet supported two simultaneous calls per operator and lifted tester-measured sales efficiency by about 50% for a sales partner company.
  • Next.js admin dashboard with CSV export streamlined performance reporting to the partner company.
  • Worked in weekly agile sprints with three engineers and a designer using Jira and GitHub reviews.

What I Would Improve

  • Document the Terragrunt module structure and operator-desktop runbook so additional partners can onboard without manual handholding.
  • Add automated tests around the admin dashboard's data visualizations and CSV export paths.
  • Publish a redacted case study (with sensitive partner data removed) so the work has a public reference beyond the corporate site.

Impact and future improvements