Web apps & internal systems
Warehouse, point-of-sale, ordering, and reporting dashboards, all built around how your team works, not the other way around.
Software Engineer
Software Engineer & IT Consultant
I help businesses work faster and more smoothly, without forcing your team to change the way it already works, because every existing process is there for a reason. I complement and improve it: from designing the solution and building the app to keeping the system running reliably on the server. I'm currently available for freelance projects and consulting.
Warehouse, point-of-sale, ordering, and reporting dashboards, all built around how your team works, not the other way around.
Connecting marketplaces, payment gateways, and the apps you already use, so data no longer gets copied by hand.
Server setup, migrations without data loss, daily backups, and monitoring that keeps your apps running.
Mapping your business processes, finding the biggest bottleneck, and choosing the most sensible fix, which isn't always a new app.
PT Naturlife Karya Indonesia · Bogor
Design, build, and maintain the company's internal systems: barcode-based warehouse, product master data, finance & COGS, and multi-channel orders, including migrating every server without losing data.
PT Meka Adipratama, Bintraco Dharma Group · Semarang
Developed and supported SAP S/4HANA (ABAP), Odoo 11, and internal web apps. Started as a Web Developer at PT Carsworld Digital Indonesia, then transferred to this sister company.
Artivisi Tech / iTIVE Media
Delivered web projects for clients in a role that kept growing: web developer, system analyst, project manager, and eventually IT manager.
PT Loolin Mandiri Indonesia · Bogor
A six-month industry internship during vocational high school, where I first built web apps for real-world needs.
Universitas Terbuka
SMK Wikrama Bogor (vocational high school)
Sendy is very good at programming, with strong logical thinking and analysis, and quick to learn the latest technology in IT. Honestly, Sendy is the best candidate for Software Developer, and Sendy has also mastered several areas of IT infrastructure. (translated from Indonesian)
Internal systems a company relies on every day, products I built on my own, and a few experiments. Click a card to see the problem it solved, the results, and screenshots.

In-house · Jan 2025 – present · used daily
The whole warehouse flow in one system: incoming materials, production, stock per warehouse, marketplace order picking, and outbound goods, with every unit tracked by barcode.



The warehouse handles raw materials and finished goods at the same time, prepares marketplace orders every day, and holds much of the company's capital as inventory. Yet stock was recorded as a single number in the database, so nobody could say for sure which units were still in the warehouse, already shipped, or missing, let alone how much capital was tied up.
The warehouse now runs on one system from end to end: material purchases and production are recorded, stock is tracked per warehouse, marketplace orders are prepared with a picking calculator, and every unit's history can be traced. The dashboard shows today's status, items running low, and how inventory capital is split. Since per-unit barcodes went live in June 2026, physical counts almost exactly match the system (the gap is under 0.5%).

Own product · Jul 2026 – present · live
Wedding planner, digital invitations with RSVP, and a photo booth in a single app.




Couples juggle vendors, budgets, and guest lists across many separate places, and struggle to know whether their budget will hold. Similar products rarely let you try them before signing up.
Budget, guest list, checklist, timeline, and invitations now live in one dashboard. Anyone can browse the invitation theme catalog without signing up, and payment works via QRIS or virtual account.

Own product · Sep 2026 – present · live
An online store for digital products, physical goods, and made-to-order food, with QRIS payments and shipping costs calculated automatically.



Selling through marketplaces means fees, rules that keep changing, and customer data that isn't yours. I needed my own store that could sell digital templates, physical goods, and made-to-order food in one place, without a lot of manual work behind the scenes.
The store is live at shop.sendyhartanto.com. Customers can shop with or without an account, pay via QRIS or virtual account, and shipping anywhere in Indonesia is calculated automatically. Digital products can be downloaded as soon as payment is confirmed, and every customer question reaches the admin as a ticket, so nothing slips through.

In-house · Jul 2026 – present · live
One source of product data for the web store, warehouse, and marketplaces, with a spreadsheet mode so the team keeps working the way it's used to.
Product data lived in a spreadsheet edited by many people, then imported by hand into other apps. It was error-prone, and over time prices drifted apart from one app to the next.
Every app now reads from the same source, so prices and product data no longer differ from one app to another. Each change goes through a draft → review → publish flow with an audit trail, so it is always clear who changed what. At launch, 458 messy product descriptions were cleaned up before going live on the web store.

In-house · Jul 2026 – present · used by the finance team
Bookkeeping, spending approvals, financial statements, and cost of goods in one system that reads warehouse and product data directly.
Cost of goods was calculated by hand, so it was rarely updated even though material prices kept moving. Spending, bookkeeping, and financial reports also ran separately from warehouse and product data, making it hard to know the real cost per product or trace where a number in a report came from.
Cost of goods is now calculated from recipes, latest material prices, wages, asset depreciation, and monthly overheads, and the Cost Check compares it with the current figures to show which products are undercosted. Spending goes through tiered requests and approvals, each period can be closed, and every number in a report can be traced back to its transaction.

In-house · Feb – Aug 2026 · paused
Shopee, TikTok, and manual orders in one system connected to the warehouse, from incoming order to complaint.
Marketplace orders weren't stored in the company's own system at all. Every day meant dozens of manual Excel uploads, customer data was scattered and duplicated, and orders weren't linked to barcoded units in the warehouse, so it was hard to tell which order shipped with which item.
The system is designed as a single order hub: every store feeds one list, the work queue is sorted by shipping deadline, picking is prepared in batches, and every order is linked to units in the warehouse. The 13-screen design was built from real order data. Already built: manual orders and complaints, duplicate customer merging, and search across almost 12,000 rows in 116 ms, with 120 automated tests passing. Development was paused in August 2026 so multi-warehouse support in the WMS could be finished first.
Earlier, from February to May 2026, I tried several admin templates and connected Shopee OAuth in sandbox mode before deciding to rebuild from scratch.

In-house · Feb 2023 – present · live
Official online stores for two health food and herbal brands, built on the same platform so each new feature only has to be built once.




The brands in the company group needed official online stores outside the marketplaces. Building a separate store for each brand would mean doing the work twice, with maintenance getting heavier every time a brand is added.
Naturlife and Bumi Organik run on the same platform, each with its own look and catalog. Customers can shop, pay, and track orders directly on the brand's site, with member programs, points, and commissions built in. A fix in one store can be carried straight over to the other.

In-house · May 2022 – Jul 2025
An online store for a beauty brand that sells through a reseller network: every partner gets their own store page, commissions, points, and a ranking.



The brand relied on many resellers, but orders, commissions, points, and partner tiers were tracked separately and by hand. Resellers had no storefront of their own, and the head office struggled to see who was selling what.
One platform connects customers, resellers, and the head office. Every reseller has a shareable store page of their own, orders are paid and shipped through the system, and commissions, points, and partner tiers are calculated automatically. The head office manages it all from an admin panel that works well on both desktop and phone. The same code later became the foundation for the online stores of other brands in the group.

In-house · Jul 2026 – present · live
Feature requests, revisions, and bug reports from other departments are tracked properly instead of getting buried in group chats.
Feature requests, revisions, and bug reports came in through group chats and got lost, while daily summaries for management were still sent by hand.
One board for every WMS, Master Data, and OMS request. Requesters can follow the status of their own requests, and managers just open one link to see the daily report.

In-house · Aug – Sep 2026 · completed
38 sites and 14 databases moved to a dedicated VPS with about 12 minutes of downtime.
The shared hosting was so full that projects had to be deleted, releases still meant copying files over FTP, and the order app needed job queues and Redis, which weren't available.
38 sites and 14 databases were moved with about 12 minutes of downtime. Before switching DNS, 203 tables (2.1 million rows) were compared one by one, and all were identical. Releases now go through git, backups run daily to the cloud, and the server is monitored every hour.

Own product · Sep 2026 – present · on sale
A ready-to-use HTML + Bootstrap 5 admin template, from dashboards to apps and account pages, so new projects don't have to build an admin interface from scratch.
Almost every business app needs an admin area, and building one from scratch takes time: layouts, charts, tables, themes, and dark mode get rebuilt for every project, and the colors are often hard to read.
Version 1.0 is on sale in my own store, with a live demo in English and Indonesian. It includes dashboards for different needs, apps that actually work, account pages, and documentation, plus a choice of themes and light/dark modes where every color pair passes WCAG AA contrast checks. A Laravel version is in the works.

Family project · Aug 2026 – present · live
A phone app for my mother's food stall: each sale takes a single tap, and by closing time she already knows the day's profit.


My mother sells food and kept her records in a notebook that rarely got added up. Till money mixed with kitchen money, and it was never clear which dishes were actually losing money. Ordinary point-of-sale apps are too complicated for an older user whose hands are busy cooking and serving.
A sale takes one or two taps on the phone. Because the app also knows how much was cooked, the cost per portion and the unsold leftovers are counted too, so the day's net profit is clear as soon as the stall closes. The app keeps working when the signal drops, and the records are saved once it reconnects.

Own product · Jul – Aug 2026 · not yet released
Coding classes for beginners. Code exercises are graded automatically, and certificates can be verified by anyone.




Beginners rarely quit learning to code because the material is hard. They quit because they're flooded with jargon, learn passively, then freeze when they have to write code themselves. Free certificates are also hard to trust because there's no proof of skill behind them.
The first course, Web Basics, is complete from lessons to certificate: lessons in chapters, quizzes, code exercises, and a final exam. Certificates are issued only after all three are passed, and can be verified without logging in.

Experiment · Oct 2026
A cozy pixel art game: grow your own ingredients, then serve them at a beach café, alone or with friends.



A cozy game about a beach café in an Indonesian village where you grow the ingredients yourself. The harvest isn't sold raw; it's cooked into the menu, so the garden and the café depend on each other.
Friends can play together in one shared world, on PC or phone: they just scan a QR code on the screen. Besides farming and cooking, there's livestock, fishing, and a character creator with hijab, caping hats, and batik. All of the art and sound effects are generated in code.
Experiment · Sep 2026
A voice assistant for Windows that can control the PC, read data, and monitor servers.
A voice assistant for Windows: summoned with Ctrl+Space, a microphone button, or a wake word, and it answers out loud.
Runs on my work PC with 29 tools, from controlling the PC to reading databases. Database access is read-only, and that limit is enforced in code, not just as an instruction to the AI. Speech is processed on the machine itself.
In-house · Jun – Jul 2026 · prototype
Reaching out to many affiliate creators without typing each message by hand, while every message is still approved by a human.
The team had to contact many affiliate creators one by one on TikTok, repetitive work that ate up time. Access to TikTok's messaging API was denied, and the person using it isn't technical, so the tool had to be as simple as possible.
It starts with a double-click. The creator list is read from Excel, the first messages are approved manually from a dashboard, and statuses are written back to Excel so no message is ever sent twice.
No projects in this category yet.
Tell me about your current process and the part that causes the most friction. That shows whether you need a new application, an integration, or just a small fix.
I put the scope, milestones, and cost estimate in writing, so you know exactly what will be built before any work begins.
The system is built in stages you can try from the very start. At the end, you receive documentation and a user guide for your team.
Got a process that's still manual, an app that needs fixing, or an idea for a new system? Tell me what you need. A short conversation usually reveals the most sensible solution.