{"$schema":"https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json","basics":{"name":"Mustafa Erhan Portakal","label":"Full-Stack Developer","email":"portakalm11@gmail.com","phone":"+90 507 413 1160","url":"https://mustafaerhanportakal.com","summary":"Mustafa Erhan Portakal is a full-stack developer based in Bursa, Türkiye who builds and ships production web systems end to end. He works primarily in TypeScript with NestJS on the backend, Next.js and React on the frontend, PostgreSQL and MongoDB for data, and Docker for deployment. Since July 2025 he has been co-founder and full-stack developer at Vimof Studios, where he built Auraly-AI, a mood-based music recommendation product. Since November 2025 he has worked as a freelance full-stack developer, delivering an on-premise union management platform for Demokratik Sağlık-Sen and, from April 2026, the live e-commerce platform maisonmeda.com. He holds a BSc in Computer Engineering from Bursa Technical University.","location":{"city":"Bursa","countryCode":"TR","region":"Türkiye"},"profiles":[{"network":"LinkedIn","username":"mustafa-erhan-portakal","url":"https://www.linkedin.com/in/mustafa-erhan-portakal-2142101ba/"},{"network":"GitHub","username":"mustafaep","url":"https://github.com/mustafaep"}]},"work":[{"name":"Freelance","position":"Full-Stack Developer","location":"Bursa, Türkiye (Remote)","startDate":"2025-11","highlights":["Built the Union Management Platform for Demokratik Sağlık-Sen (November 2025 – July 2026): 30 backend modules and 40 relational data models covering member records, dues and deduction documents, approval flows, accounting, content and reporting.","Built maisonmeda.com from April 2026 onward: a live e-commerce platform for a boutique, as a Turborepo monorepo holding a Next.js 16 storefront, an admin panel and a NestJS API."]},{"name":"Vimof Studios","position":"Co-Founder & Full-Stack Developer","location":"Remote","startDate":"2025-07","summary":"A two-person independent software studio. I handle development; my partner handles QA and testing.","highlights":["Built Auraly-AI, a mood-based music recommendation product, as a TypeScript monorepo of four applications: a NestJS 11 API, a Next.js 15 web app, an admin panel and a React Native (Expo) mobile app sharing a typed DTO package.","Implemented 102 REST endpoints across 17 controllers and 27 MongoDB schemas with Mongoose 8.","Integrated the Spotify Web API (OAuth, token refresh, library access, Connect playback control) and Google Gemini (mood interpretation, playlist generation).","Rewrote the recommendation pipeline after the Spotify Recommendations endpoint was deprecated, designing and documenting a new algorithm behind a feature flag with variant positioning.","Shipped the mobile app with Expo Router: audio playback, push notifications, deep linking, i18next and expo-localization.","Deployed with Docker Compose and Nginx, CI/CD on GitHub Actions, with the admin panel behind Cloudflare Access. 241 commits over 13 months; iOS and Android release targeted for August 2026.","Also built menu/UI flows and data-saving logic in Unreal Engine 5 Blueprint for a game project."]},{"name":"BRM Bilgisayar","position":"Software Developer Intern","location":"Bursa, Türkiye","startDate":"2024-09","endDate":"2025-02","summary":"İMEP vocational training programme plus a summer internship — six months of industry experience inside a 20-person development team.","highlights":["Built desktop applications with .NET 8 and web applications with ASP.NET Core, using Entity Framework and Microsoft SQL Server.","Built push notification infrastructure with a OneSignal integration and real-time communication features over WebSocket.","Worked on database design and third-party API integrations within a layered enterprise architecture and a code review process.","Closing project: SoccerApp, an ASP.NET Core 8 football team management panel."]}],"education":[{"institution":"Bursa Technical University","area":"Computer Engineering","studyType":"BSc","startDate":"2020","endDate":"2025"}],"awards":[{"title":"TÜBİTAK 2209-A Research Support — Rover Wheel Design with an Anti-Skid System","awarder":"TÜBİTAK","summary":"Supported and successfully completed under the 2022/1 term of the TÜBİTAK 2209-A University Students Research Projects Support Programme. The project addressed skidding and entrapment on the fine, sandy terrain of the Martian surface. As the only computer engineer on a four-person team I was responsible for all software and electronics: an Arduino control loop that read distance and motion sensors to detect entrapment and drove servo-steered DC motors.","url":"https://github.com/Rover-Anti-Skid-System"}],"certificates":[{"name":"IBM Full Stack Software Developer","issuer":"Coursera","date":"2026-01","url":"https://coursera.org/verify/professional-cert/ZA0GJFIPNUUT"}],"skills":[{"name":"Languages","keywords":["TypeScript","JavaScript","Python","C#","SQL"]},{"name":"Backend","keywords":["NestJS","Node.js","Express","ASP.NET Core","Django","FastAPI"]},{"name":"Frontend","keywords":["React 19","Next.js 15/16 (App Router)","Tailwind CSS 4","Material-UI","TanStack Query","Vite"]},{"name":"Mobile","keywords":["React Native (Expo)","Expo Router"]},{"name":"Databases","keywords":["PostgreSQL","MongoDB","Microsoft SQL Server","Redis"]},{"name":"ORM","keywords":["Prisma","Mongoose","Entity Framework"]},{"name":"DevOps","keywords":["Docker","Docker Compose","Nginx","GitHub Actions","Turborepo","pnpm","VPS","Let's Encrypt"]},{"name":"Integrations","keywords":["Spotify Web API","Google Gemini","iyzico","Trendyol Marketplace API","AWS SES","Resend","OneSignal","Baileys"]},{"name":"Practices","keywords":["REST API design","JWT authentication","Role-based access control","Background queues (BullMQ)","Swagger/OpenAPI","Architecture Decision Records (ADR)","Monorepo"]}],"languages":[{"language":"Turkish","fluency":"Native speaker"},{"language":"English","fluency":"B2 reading and writing, B1 speaking"}],"projects":[{"name":"Auraly-AI","description":"Auraly-AI is a mood-based music recommendation product built by Mustafa Erhan Portakal at Vimof Studios, which interprets a listener's mood with Google Gemini and turns it into a playable Spotify playlist. It runs as a TypeScript monorepo of four applications — a NestJS API, a Next.js web app, an admin panel and a React Native mobile app — and is live at auraly-ai.com.","startDate":"July 2025 – present","highlights":["Live · iOS and Android release targeted for August 2026"],"keywords":["TypeScript","NestJS 11","Next.js 15","React Native (Expo)","MongoDB","Mongoose 8","Spotify Web API","Google Gemini","Docker Compose","Nginx","GitHub Actions","Cloudflare Access"],"url":"https://auraly-ai.com","roles":["Co-Founder & Full-Stack Developer"]},{"name":"maisonmeda.com","description":"maisonmeda.com is a live e-commerce platform Mustafa Erhan Portakal built for a boutique client, covering a customer storefront, an admin panel and the API behind them. It is a Turborepo monorepo holding a Next.js 16 storefront and a NestJS API, with Trendyol marketplace synchronisation and iyzico payments, and has been in production since April 2026.","startDate":"April 2026 – present","highlights":["Live · real client, in production"],"keywords":["TypeScript","Turborepo","Next.js 16","NestJS","Prisma","PostgreSQL","iyzico","Trendyol Marketplace API","Zod","Docker Compose","Nginx","Resend","sharp"],"url":"https://maisonmeda.com","roles":["Freelance Full-Stack Developer"]},{"name":"Union Management Platform","description":"The Union Management Platform is a management system Mustafa Erhan Portakal built for Demokratik Sağlık-Sen, a health workers' union, covering member records, dues and deduction documents, approval flows, accounting, content and reporting. It comprises 30 backend modules over 40 relational data models, and was packaged with Docker Compose and installed on-premise on the client's own infrastructure.","startDate":"November 2025 – July 2026","highlights":["Delivered · installed on-premise, no public URL"],"keywords":["TypeScript","NestJS 11","Prisma 6","PostgreSQL 16","Redis","BullMQ","React 19","Vite 7","Material-UI 7","TanStack Query","Recharts","Puppeteer","AWS SES","Docker Compose","Nginx Proxy Manager"],"url":"https://mustafaerhanportakal.com/projects/union-management-platform","roles":["Freelance Full-Stack Developer"]},{"name":"Letter to Stars","description":"Letter to Stars is an English diary and learning platform built by Mustafa Erhan Portakal, where a user writes a diary entry in English and Gemini rewrites it at a chosen IELTS level from 6 to 9. It also extracts the new vocabulary with Turkish meanings, and marks each day with a star on a visual progress map. It is live at lettertostars.mustafaerhanportakal.com.","highlights":["Live"],"keywords":["React","Vite","Tailwind CSS","NestJS","Prisma","PostgreSQL","FastAPI","Google Gemini","Django","Docker Compose"],"url":"https://lettertostars.mustafaerhanportakal.com","roles":["Full-Stack Developer"]},{"name":"MoodWeave","description":"MoodWeave is a polyglot microservice system Mustafa Erhan Portakal built to learn gateway architecture, routing traffic through an Nginx reverse proxy to a NestJS API gateway that fronts a Django service and a FastAPI service. The internal services are closed to the internet, and every merge to main deploys to a VPS over SSH through GitHub Actions. The source is on GitHub; it is not currently running live.","startDate":"January – March 2026","highlights":["Not currently live · source on GitHub"],"keywords":["Nginx","NestJS","Django","FastAPI","React","Vite","Docker","GitHub Actions","Let's Encrypt"],"url":"https://github.com/MustafaEP/moodweave","roles":["Full-Stack Developer"]},{"name":"wchatapi","description":"wchatapi is a self-hosted WhatsApp messaging API built by Mustafa Erhan Portakal on Node.js, Express 5 and Baileys, with a Next.js panel for monitoring sessions. It covers API key validation, HMAC-signed webhooks, rate limiting and graceful shutdown, and runs in Docker.","startDate":"April 2026","highlights":["Self-hosted"],"keywords":["Node.js","Express 5","Baileys","Next.js","Docker"],"url":"https://mustafaerhanportakal.com/projects/wchatapi","roles":["Full-Stack Developer"]},{"name":"SoccerApp","description":"SoccerApp is a football team management panel built in ASP.NET Core 8 by Mustafa Erhan Portakal as the closing project of his software developer internship at BRM Bilgisayar in Bursa. The source is on GitHub.","highlights":["Closing project · source on GitHub"],"keywords":["C#","ASP.NET Core 8","Entity Framework","Microsoft SQL Server"],"url":"https://github.com/mustafaep/SoccerApp","roles":["Software Developer Intern"]}],"meta":{"canonical":"https://mustafaerhanportakal.com/api/resume.json","version":"1.0.0"}}