Freelance · Web apps · Automation · AI

I turn manual work into simple software people actually use.

I'm Hans, a Product Manager who also builds. I start from the business problem, write the code, and keep it running on a secure server. Every project below is live.

  • 4+ yrsproduct management
  • 4live freelance projects
  • EN · IDcommunication
Hans Bastian Wangsa
Available for freelance

Who I am

A PM who ships

I am Hans Bastian Wangsa, a Product Manager from Indonesia with 4+ years in travel and e-commerce marketplaces. Today I lead a team of engineers, QA and data scientists that owns the hotel and room content platform at a travel-tech company.

I studied Industrial Engineering at Universitas Gadjah Mada and graduated summa cum laude as the best graduate of the Mechanical and Industrial Engineering department. Freelancing is where I build with my own hands, with the same habits: understand the real problem first, ship in small steps, measure the result.

#1of 400+ students in my major
3marketplaces: travel and e-commerce
3.92GPA, summa cum laude
  1. 2024 – nowProduct Manager, Accommodation SupplyTravel-tech companyPromoted from Senior Associate PM in 2026
  2. 2022 – 2024Associate Product Manager, Seller GrowthTokopediaBest New Employee award
  3. 2021 – 2022Product Management Intern, CX AnalyticsBukalapak
  4. 2018 – 2022B.Eng. Industrial EngineeringUniversitas Gadjah MadaGPA 3.92 · Best Graduate · 1st place IECOM (SE-Asian IE competition)
Full profile on LinkedIn →

Selected work

Problem first, then the build.

Payroll Web App for a Multi-Branch Motorcycle Workshop
01

Payroll Web App for a Multi-Branch Motorcycle Workshop

Weekly and monthly payroll for a two-branch workshop, from daily attendance to printed pay slips.

  • Daily input from a phone, payroll calculated automatically
  • Printable pay slips and an owner dashboard across branches
  • Every rule is a setting, not hard-coded

ResultDeployed live on its own domain for the family business. The payroll engine is covered by 35 automated tests. Daily database backups with a weekly restore test.

Next.jsTypeScriptPostgreSQLDrizzle ORMDockerCaddy
Read the full case

The problem

A family-owned Honda service workshop with two branches pays its staff every week. Attendance, overtime, bonuses and deductions were calculated by hand in spreadsheets, and the owner had no single view across branches.

What I built

  • Front desk enters daily attendance and work output from a phone (installable on Android as a PWA)
  • Weekly and monthly payroll is calculated automatically, then locked once it is final
  • Printable A5 pay slips
  • Owner dashboard: salary vs revenue per branch, top performers, 6-month trends
  • Logins per role (owner, admin, front desk) and a full audit log
  • Every rule that may change (rates, bonuses, pay schedule) is a setting, not hard-coded

More screens

Screenshots use demo data.

Business Website for a Honda Service Workshop
02

Business Website for a Honda Service Workshop

One-page site with WhatsApp booking and a Google rating that refreshes itself.

  • WhatsApp booking in one tap
  • Live open / closed status from opening hours
  • Google rating refreshes itself, no paid API

ResultLive and public.

HTMLCSSJavaScriptPythonCaddy
Read the full case

The problem

An official Honda service workshop in Yogyakarta had a Google Maps listing but no website of its own.

What I built

  • Mobile-first one-page site in Indonesian: services, facilities, awards, reviews and location map
  • Booking through WhatsApp or phone in one tap
  • Open / closed status shown live from the opening hours
  • Google rating and review count refresh automatically every two days, without a paid API
  • HTTPS and security headers, hosted on my own server

More screens

Job Search Radar with AI-Tailored CVs
03

Job Search Radar with AI-Tailored CVs

Collects new job posts twice a day, scores them against a CV and writes a tailored CV in one click.

  • New job posts collected twice a day and filtered by rules
  • Fit score against your CV, plus an application tracker
  • One click: AI-tailored CV (.docx) and interview prep

ResultTwo separate instances are live: one in English and one in Bahasa Indonesia for a marketing job search.

PythonFlaskSQLitepython-docxLLM APIDockercron
Read the full case

The problem

Checking job boards by hand every day takes time, most posts do not fit (wrong country, no visa support, wrong level), and tailoring a CV for each application takes hours.

What I built

  • A scraper runs twice a day on a server and collects new public job posts for target roles and locations
  • Rules filter out posts that do not fit: location, remote eligibility, relocation or visa wording, seniority
  • Web dashboard: fit score against the CV (matched and missing skills), shortlist / skip, application tracker
  • One click: AI writes a tailored CV (.docx) and an interview prep page for that job
  • Guardrails keep every fact and number from the original CV, and a daily cap keeps AI cost under control

More screens

Company names in the screenshots are anonymised.

AI Trading Agent with a Hard-Coded Risk Engine (Paper Trading)
04

AI Trading Agent with a Hard-Coded Risk Engine (Paper Trading)

An AI model proposes trades; a separate rule engine checks every order and simulates it on paper.

  • AI proposes, a separate rule engine decides
  • Hard limits on size, stop-loss and daily loss
  • Telegram alerts, daily summary, pause / resume

ResultRunning 24/7 on paper money. There is no live-trading code path by design.

PythonLLM agentSQLiteTelegram Bot APIDocker
Read the full case

The problem

Letting an AI model trade on its own is risky: it can ignore limits, size positions badly or return broken output.

What I built

  • The AI agent only proposes. A separate executor in plain Python (no AI) owns the account and the rules
  • Every 30 minutes the executor builds a market briefing (price, EMA, RSI, ATR) and asks the AI for actions
  • Each action is checked: position size, mandatory stop-loss, leverage cap, daily and total loss limits. Anything outside the rules is rejected and logged
  • Simulated account with fees, slippage, funding and liquidation; risk is checked every minute with trailing stops
  • Telegram bot: trade alerts, daily summary, pause / resume

Day job

Product work at scale

A few results from my product roles, kept high level. Team results where I led the product side.

Travel-tech

One listing for the same room

A matching model groups the same hotel room sold by different suppliers into one listing.

+21%revenue of existing rooms
+15%orders
Travel-tech

Shorter, cleaner room lists

Removed duplicate room types so guests can compare options faster.

~56%shorter room lists
+56%conversion in one market
Travel-tech

Fewer wrongly merged hotels

Improved the AI model that detects duplicate hotel listings.

85% → 97%precision
−75%wrong merges, quarter on quarter
Bukalapak

A support chatbot that actually helps

Redesigned the customer-service chatbot through A/B tests.

2% → 27%issues solved by the bot
61% → 93%customer satisfaction

Services

What I can build for you

01

Custom web apps

Internal tools, payroll, dashboards and admin panels that replace spreadsheets and paper.

02

Scraping & automation

Scheduled data collection, filtering and reports, delivered to a dashboard, sheet or chat.

03

AI integration & bots

LLM features with guardrails: document generation, Telegram bots, AI agents.

04

Websites & VPS setup

Fast landing pages, Docker deploys, HTTPS, backups and a hardened server.

How I work

  1. UnderstandA short call about the problem and the people who will use the tool.
  2. PlanWritten scope, price and timeline before any code.
  3. BuildSmall working versions you can try early.
  4. Hand overA simple guide, plus optional maintenance.

How I deploy and host

All of these projects run on one small cloud server that I set up and maintain myself. Low hosting cost, each app isolated from the others, and nothing exposed to the internet that does not need to be.

  • 9Docker containers on one server
  • 4public sites with automatic HTTPS
  • Key-onlySSH login, firewall, brute-force blocking
  • Dailybackups, with a weekly restore test for the payroll database

Have a manual process that eats your week?

Tell me how it works today. I will reply with a clear plan, price and timeline.