Build sophisticated web applications for a global karaoke platform using modern TypeScript and Vue. You'll work on Nuxt 3 applications serving 2 million+ users across 34 countries and managing a catalog of 100,000+ songs.
You'll work on Singa's web applications built with Nuxt 3, handling everything from user-facing experiences to content management workflows. You'll maintain and enhance TypeScript-based applications with SSR/SSG, state management, real-time karaoke features, and sophisticated content workflows. You'll optimize performance for media-heavy features while integrating payment systems, analytics platforms, content management systems, and third-party music APIs.
Maintain and evolve production Nuxt 3 applications with third-party integrations such as Stripe payments, Storyblok CMS, and analytics platforms
Design and build new features using Vue 3 Composition API with both Pinia stores and composable-based state patterns
Implement UI components with various frameworks (Reka UI, Vuetify)
Collaborate with backend engineers to design clean, versioned API contracts
Build server-side API proxies
Refactor legacy Options API code to modern Composition API patterns
Optimize performance for media playback, audio/lyrics synchronization, and content automation workflows
Debug production issues using Sentry crash reports and analytics data
Navigate technical debt decisions while maintaining feature velocity
Implement features ranging from multi-market i18n to content automation workflows
Maintain strict type safety with TypeScript across all applications
Leverage AI coding assistants to accelerate development while maintaining code quality
Frontend Framework: Vue 3 with Composition API, Nuxt 3.12+ (SSR/SSG)
Languages: TypeScript 5.9+ (strict mode), Pug templates
State Management: Pinia with Composition API, composable-based patterns
UI Components: Reka UI (headless), Vuetify 3 (Material Design), custom components
Styling: Sass/SCSS with custom design systems, design token system, scoped component styles
API Integration: Custom fetch clients, ofetch HTTP client, server-side proxying, multi-tier architecture
Authentication: OAuth 2.0 with JWT, SSR-safe token refresh, HTTP-only cookies
Internationalization: @nuxtjs/i18n with 10+ locales, prefix-based routing
Real-time Features: Second-screen mode with postMessage, audio/lyrics synchronization
Analytics: Segment, FullStory session replay, Sentry (error tracking + performance monitoring)
Payment Processing: Stripe with server-side session management
CMS: Storyblok with visual editor integration
Testing: Vitest with Nuxt test utils, Happy DOM, Vue Test Utils
Code Quality: OXLint (Rust-based), Prettier, vue-tsc
Build/Deploy: Docker builds, Nitro server engine, Vite bundling
Infrastructure: Node, Yarn 4, containerized deployments, GitHub Actions CI/CD
Must have:
6+ years frontend development experience with TypeScript
Production experience with Vue 3 and Nuxt 3 (SSR/SSG patterns)
Deep expertise in TypeScript (strict mode, type narrowing, generics)
Strong grasp of Vue Composition API and modern reactive patterns
Experience with state management (Pinia, composable patterns, or similar)
Sass/SCSS experience with component-scoped styling
OAuth 2.0 and JWT authentication implementation
Production debugging skills with monitoring tools (Sentry, analytics platforms)
Nice to have:
Headless UI component libraries (Reka UI, Radix Vue, or similar)
Vuetify or Material Design component frameworks
Pug templating language experience
Multi-language i18n implementation with @nuxtjs/i18n (10+ locales)
Audio/video playback implementation with Web Audio API
Real-time multi-window communication patterns (postMessage)
Stripe payment integration and checkout flows
CMS integration (Storyblok, Contentful, or similar)
Analytics integration (Segment, Mixpanel, FullStory)
Composable-based state management (no store pattern)
Server-side API proxying for third-party integrations
Content management system architecture
Performance optimization with Lighthouse/Web Vitals
Modern linting tools (OXLint, Biome, or Rust-based tooling)
Docker and containerized deployment workflows
Large-scale refactoring (Options API → Composition API migrations)
GitHub Actions CI/CD pipelines
Experience with AI coding assistants (Claude Code preferred) or eagerness to adopt AI-enhanced workflows
Singa is transforming the global karaoke industry with a modern streaming platform that serves 2 million+ users and 1,600+ venues across 34 countries. With 100,000+ songs including original artist recordings through partnerships with major labels like Warner Music Group, we're building the digital future of karaoke.
Our Finland-based engineering team maintains our Business Pro iOS application serving professional venues worldwide. We prioritize thoughtful architecture, memory efficiency, and testing practices that enable sustainable growth while solving real operational problems with elegant technical solutions.
Hybrid: 2-3 days remote per week, office in Helsinki
Fully Remote Option: accommodate full remote if candidate is able to show a proven capability working effectively while fully remote with a larger team that’s in the office.
We're building a team that reflects the diversity of the European developer community. We evaluate candidates on technical skills and architectural thinking, not academic pedigree or career path.
We provide interview accommodations for candidates who need them. Our collaborative approach ensures technical decisions are inclusive and transparent.
Don't meet every requirement? Research shows underrepresented groups apply only when they meet 100% of qualifications. If you're excited about sophisticated iOS architecture and modern Swift patterns, we encourage you to apply.
If this sounds like you, come join us in spreading the joy of singing! Please send your resume and GitHub profile (or code samples) and answer the questions in the application form.
We review applications weekly already during the application period and will fill the position as soon as we find the right person, so we encourage you to apply quickly. Our recruitment process includes interviews as well as a take-home assignment.
Initial Call (30 min): Experience review, role expectations, answer your questions
Technical Screen (60 min): Problem-solving with AI tools allowed - we evaluate how you work with modern development tools
System Design (60 min): Real-world iOS architecture scenario, discuss trade-offs and performance considerations
Pair Programming (60 min): Collaborative coding session on realistic iOS problems using your preferred IDE and AI tools
Our Philosophy: We encourage using AI coding assistants (Claude Code, Copilot, etc.) during technical interviews - they're part of modern development. We're interested in how you think, collaborate, and deliver quality code, not memorized algorithms.
This job comes with several perks and benefits
