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.
fresh off the desk
Things I've made
Tap a project to pull out its page.
Kavpad
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

built with
- React
- Vite
- Go
- MongoDB
- Google Cloud
- Claude

DT Nakes — DoctorTool
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.
built with
- .NET
- React
- TypeScript

DT Care — DoctorTool
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.
built with
- React
- TypeScript
- .NET
- Firebase

Writeen
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.
built with
- Gin
- Go
- Next.js
- TypeScript
- Tailwind CSS
- MongoDB
- Docker
- Google Cloud

SUAR
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.
built with
- React
- Android
- Bluetooth

Mariolahraga
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.
built with
- Svelte
- Go
Ucup AI Bot
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
- LangChain
- TypeScript
Digital Invitation
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
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