Software Engineer · West Java, Indonesia

Anggara Roshandi Putra

I'm Anggara Roshandi Putra (Angga), a software engineer in West Java, Indonesia with 3 years of experience shipping products across backend, web, and mobile. At DoctorTool I build .NET services and the React Native patient app used by clinics across Indonesia. Before that I co-founded Writeen, an edtech platform, and built its Go backend for three frontends.

Software Engineer · Async Alchemist

Hey, I'm Angga!

Anggara at a hackathon, working on a laptop

Nice to meet you, I'm Angga. You can also call me Eng.

Day to day, I work as a software engineer, building applications for the healthcare industry. On top of that, I'm also running my own edtech startup, while still finishing my degree in Informatics Engineering. But don't worry, I still have room for other projects too. If you've got something on your mind, feel free to share it with me. Honestly, just imagining who's looking at this portfolio right now already makes me curious and kind of excited. Do you have an interesting idea you're trying to build or grow? Or maybe you carry some bigger vision behind your own idealism? Haha, a bit of a weird thing to wonder about, but that's genuinely what goes through my head.

Outside of coding, I like writing, poetry and short stories, usually in Indonesian. I'm also a big fan of games with strong storytelling. Sometimes I mess around with my own game ideas, even though not all of them get finished (fingers crossed I get to publish one someday, hehe).

If you're asking about my perspective on programming, to me, code is just a tool. But it's a tool powerful enough to help shape how we live our everyday lives. Think back 200 years, who could've imagined we'd one day be "talking" to a small piece of metal that fits in our hand, especially in this AI era we're living in now? We're living in a time where we've come to realize Tony Stark was basically a vibe coder too, haha.

in a nutshell

Full-StackIoT TinkererFast Learner3 years shippingWest Java, Indonesia

on repeat

fresh off the desk

Things I've made

Tap a project to pull out its page.

Kavpad

shipped

the problem

Long stories are hard to keep straight: characters, places, and lore end up scattered across chapters. And most AI writing tools try to write the story for you instead of helping you think.

my role & what I did

Founder · Full-stack Developer

  • Founded the product and built it end to end, from frontend to backend.
  • Built auto-linking of characters, places, and lore across chapters.
  • Added Word/PDF manuscript import so writers can bring their existing drafts.
  • Built an AI assistant (Claude Haiku) that asks questions to unblock writers instead of writing for them.

what it looks like

Kavpad chapter editor: character names in the text link to their story bible entries, with a pop-up card for Raniatap a name → its card pops up
Kavpad AI character interview: the writer chats with Arl Bortock to get to know the character
interview a character
Kavpad story bible with a card for each character
the story bible
Kavpad Pro checkout with monthly and yearly plans, paid via Midtrans
Pro plan, via Midtrans

a writer's desk where every chapter knows its own characters

built with

  • React
  • Vite
  • Go
  • MongoDB
  • Google Cloud
  • Claude
Go FiberGoogle Cloud Storage
visit Kavpad ↗

DT Nakes — DoctorTool

shipped

the problem

Clinics need one place to manage patient records, appointments, and prescriptions.

my role & what I did

Software Engineer

  • Build .NET backend services and APIs serving DoctorTool's mobile app and web platform.
  • Ship features end to end across backend, web, and mobile with the product and design teams.
  • Discuss technical decisions directly with the CTO.

what it looks like

  1. DT Nakes home for the doctor: today's visits, queue progress and services1 today's visits
  2. DT Nakes practice queue with patient cards and an Examine button2 the queue
  3. DT Nakes medical record form (SOAP) with live voice recording3 medical notes

the clinic side, from the day's visits to the patient's notes

built with

  • .NET
  • React
  • TypeScript
C#React Native
visit DT Nakes — DoctorTool ↗

DT Care — DoctorTool

shipped

the problem

Patients of clinics across Indonesia need one app for bookings, online consultations, e-prescriptions, and their health logs.

my role & what I did

Software Engineer

  • Develop the React Native patient app: bookings, online consultations, e-prescriptions, and health logs.
  • Ship releases through CI/CD, with JS-only fixes delivered quickly via Hot Updater OTA updates.
  • Monitor stability with Firebase Crashlytics and Analytics to find and fix production crashes and performance issues.

what it looks like

  1. DT Care home screen with main services, diabetes self-management tools and nearby clinics1 home
  2. DT Care booking screen: pick a date, clinic and time slot2 book a visit
  3. DT Care appointment confirmation with the queue number and visit details3 booked!

the patient side, from opening the app to a queue number

built with

  • React
  • TypeScript
  • .NET
  • Firebase
React NativeHot UpdaterCrashlytics
visit DT Care — DoctorTool ↗

Writeen

shipped

the problem

Young writers grow faster with a mentor, but finding one and booking a session isn't easy. Writeen connects writers with mentors in one platform.

my role & what I did

Co-Founder · Backend & Web

  • Single-handedly built the Go (Gin) REST API powering three frontends (mentor, tutor, admin).
  • Built the web product with Next.js, TypeScript, and Tailwind CSS.
  • Delivered JWT role-based access, chat and video consultations, Play-Lit, articles, and email notifications.
  • Integrated Midtrans payments with webhooks that unlock paid features automatically.
  • Owned technical direction and infrastructure: MongoDB, Google Cloud Storage, Docker on a VPS, release pipelines.

what it looks like

  1. Writeen tutor setting regular weekly working hours, Monday to Friday
    tutor: sets weekly hours
  2. Writeen student browsing mentors by topic
    student: finds a mentor
  3. Writeen booking confirmed with date, topic and total paid
    student: books & pays
  4. Writeen consultation chat between student and tutor, with a video call option
    the session: chat + video
  5. Writeen shared session notes and action items
    shared notes & action items
  6. Writeen tutor transaction history and an approved withdrawal
    tutor: withdraws earnings

one booking, two sides: the student's journey and the tutor's, meeting in the session

built with

  • Gin
  • Go
  • Next.js
  • TypeScript
  • Tailwind CSS
  • MongoDB
  • Docker
  • Google Cloud
MidtransJWT
visit Writeen ↗

SUAR

hackathon

the problem

In an emergency the internet and cell network can go down exactly when people need to find each other.

my role & what I did

Mobile Engineer · 3rd place, Garuda Hacks 7.0

  • Led the mobile engineering in React Native at Garuda Hacks 7.0 (3rd place, Safety Track).
  • Built phone-to-phone locating over a Bluetooth Low Energy mesh, with no internet or cell network required.
  • Designed a compact 19-byte binary wire protocol for the mesh.
  • Added native Android emergency haptics that bypass silent mode.

what it looks like

SUAR radar screen: nearby people shown as dots with their distance, an arrow pointing toward the selected person, and safety tips for the area
  1. people nearby, with how far they are
  2. the arrow points toward them
  3. safety tips for your area
SUAR settings: assembly point beacon, voice guidance, vibration feedback and a battery-saving disaster mode
  1. make this phone a “safe here” beacon
  2. voice + vibration, no need to look
  3. disaster mode saves battery

field notes: tested phone-to-phone, no internet, no signal

built with

  • React
  • Android
  • Bluetooth
React NativeBLE mesh
visit SUAR ↗

Mariolahraga

shipped

the problem

A sports coaching service across Jabodetabek needed one website for its classes, coach profiles, registration, and a blog.

my role & what I did

Full-stack Developer

  • Built the website in Svelte: classes, coach profiles, registration, and blog.
  • Built a Go backend for managing the blog.

what it looks like

Mariolahraga homepage: private and group sports classes in Jakarta, with a free 30-minute trial and a wall of class photos
the homepage
Mariolahraga class page for basic motor skills (ages 2–6), with session details and a sign-up button
a class page

every class gets its own page, ready for parents (and search engines)

built with

  • Svelte
  • Go
visit Mariolahraga ↗

Ucup AI Bot

shipped

the problem

Bring ChatGPT into WhatsApp, where people already chat every day.

my role & what I did

Creator · Open Source

  • Built a WhatsApp chatbot connected to ChatGPT through LangChain, in TypeScript.
  • Open-sourced it on GitHub.

built with

  • WhatsApp
  • LangChain
  • TypeScript
ChatGPT (OpenAI)
visit Ucup AI Bot ↗

Digital Invitation

shipped

the problem

A wedding needs more than a pretty invitation: hosts also need to know who actually showed up.

my role & what I did

  • Built a wedding invitation web app with a QR-code attendance system (2025).

Active Mandarin Indonesia

shipped

the problem

A Mandarin education provider needed a site for its courses and study-in-China programs.

my role & what I did

  • Built the course and study-in-China website.

built with

  • Next.js
  • Tailwind CSS

polaroids from the corkboard

Where I've been

work

  • Software Engineer — DoctorTool
    • Build .NET backend services & APIs serving both the mobile app and DoctorTool's web platform.
    • Develop the React Native patient app (bookings, online consultations, e-prescriptions, health logs), used by clinics across Indonesia.
    • Ship features end to end across backend, web, and mobile with the product & design teams.
    • Ship releases through CI/CD, delivering JS-only fixes quickly via Hot Updater OTA updates.
    • Monitor stability with Firebase Crashlytics & Analytics to find and fix production crashes and performance issues.
    .NETC#React NativeTypeScriptFirebase
  • Co-Founder & Engineer — Writeen
    • Single-handedly built the Go (Gin) REST API powering three frontends (mentor, tutor, admin).
    • Built the web product with Next.js, TypeScript, and Tailwind CSS.
    • Delivered JWT role-based access, chat + video consultations, Play-Lit, articles, and email notifications.
    • Integrated Midtrans payments with webhooks that unlock paid features automatically.
    • Owned technical direction & infrastructure: MongoDB, Google Cloud Storage, Docker on a VPS, release pipelines.
    GoNext.jsMongoDBDocker

school

awards

3rd Place, Safety Track, Garuda Hacks 7.0
3rd Place, Safety TrackGaruda Hacks 7.0 · Jul 2026Indonesia's largest student hackathon. Built SUAR, an offline BLE-mesh emergency app; led the mobile engineering in React Native.
Top 15 Finalist, Amartha x GDG Jakarta Hackathon
Top 15 FinalistAmartha x GDG Jakarta Hackathon · Nov 2025National fintech hackathon under DevFest Jakarta. Led the team behind SATRIA, an AI early-warning system for microfinance default risk (Go Fiber, PostgreSQL, Gemini).
Silver Medal, Indonesia Inventors Day (INNOPA)
Silver MedalIndonesia Inventors Day (INNOPA) · Aug 2024Awarded for Writeen, a one-stop digital literacy platform for teenagers. With Safira Az Zahra and Indah Ramadhani.
Gold Medal, AISEEF 2022 (IYSA)
Gold MedalAISEEF 2022 (IYSA) · Feb 2022Awarded for AT21 (Armband Trisomy), an IoT wearable and companion app supporting children with Down syndrome. Full-stack mobile developer.

also

  • Top 20 Early-Stage Startups — Pertamuda Seed & Scale
  • Mobile Curriculum Mentor — Google DSC Solution Challenge
  • Finalist — AWS Cloud Computing Club Competition (C4)

tools & things I know

My bookshelf

Main stack: React Native, Flutter, Next.js, Node.js, Go, ASP.NET, PostgreSQL, MongoDB.

languages

TypeScriptJavaScriptGoC#PythonDartKotlinC/C++SQL

mobile

React NativeFlutterHot Updater (OTA)Play Store & App Store releases

frontend

ReactNext.jsVueSvelteViteTailwind CSSBootstrapMaterial UI

backend

.NET / ASP.NETGo (Gin, Fiber)Node.jsExpressDjangoLaravelREST APIsJWT & RBACWebhooks

databases

PostgreSQLMySQLSQL ServerMongoDBFirestoreSupabase

cloud & devops

DockerCI/CDAWSGCPAzure DevOpsVercelFirebase

tools

GitGitHubGitLabLangChainClaude API

open to new projects

Send me a letter

Got an idea you're trying to build or grow, or just want to say hi? The mailbox is always open.