Projects

OverviewDAOS Sport: 5 Operations Systems

Paper and Excel workflows replaced by 5 in-house operations systems connected to LINE

Problems spotted on the venue front line, addressed with Claude Code and Codex: 2 operations systems built and 3 taken over. Colleagues have less repetitive work, and customers complete registration online.

Outcome
5 systems live, serving 5 venues; invoices are the only paper left
Role
2 built from requirements, 3 taken over from prototypes
Period
2025.08 – 2026.05, launched in stages
Tech
PostgreSQL · Drizzle ORM · Node.js · Express · React · TypeScript · LINE LIFF · Ragic API

Problem Paper sign-ups, Excel rosters, and new courses waiting on outside development

On the front line of venue administration, the problems were concrete: sign-ups, rosters and availability collation all ran on paper and Excel, and the same questions were asked again and again. Launching a new course meant waiting for custom development by an outside vendor.

The original data lived in Ragic (a cloud database service). The data was not normalized and permissions did not line up with the division of duties, so the systems were rebuilt in-house.

Role 2 built from requirements, 3 taken over from prototypes

Tutoring Course System and Summer Course Registration Platform: built from requirements through launch and maintenance. Cross-Venue Workforce Scheduling System, Pool Co-Teaching Scheduling System and LINE OA BOT: taken over from existing prototypes, with continued requirements integration, feature development and delivery.

Development with Claude Code and Codex. Responsible for specs, acceptance and post-launch maintenance; AI-generated code is verified with tests and data comparison before launch.

Team and division of work Led development, planned requirements with the PM

Led development, working spec-first: the spec is written first, requirements are planned together with the PM, and the spec is then discussed and revised. Once the spec is settled, development is done with AI tools such as Claude Code and Codex, through to launch testing.

AI collaboration and verification How AI-written code is checked before launch

Development is spec-driven: the spec is written first, then discussed, revised and built against. For verification before launch, using the Tutoring Course System as the example:

  • Row counts and content hashes of 9 business tables compared before and after each release.
  • New logic verified in temporary tables, then the whole batch rolled back, leaving production data untouched.
  • All API endpoints listed automatically before launch and called one by one.
  • Bugs reproduced with a test first, then fixed until the test turns green.

Five systems Two customer-facing, three internal

  • Tutoring Course System (customer-facing, launched 2026.05): Registration, payment and scheduling records consolidated in one system. Built from requirements.
  • Summer Course Registration Platform (customer-facing, launched 2026.02): Courses listed from the back office, with no more waiting on outside custom development. Built from requirements.
  • Cross-Venue Workforce Scheduling System (internal, launched 2026.02): Employees enter available slots online and HR assigns shifts in one place. Taken over from a prototype that held only empty data.
  • Pool Co-Teaching Scheduling System (internal, launched 2025.09): Coaches submit available teaching slots online and HR assigns courses in one place. Taken over from a prototype; completed LINE coach identity mapping and schedule push notifications.
  • LINE OA BOT (internal, launched 2025.08): Puts common employee queries and form entry points into LINE. Taken over from a prototype; completed data integration, LINE identity mapping and push notifications. Features after takeover were completed 2026.02, with upgrades and fine-tuning in 2026.03–04.

LINE ecosystem integration Login, notifications, clock-in and lookup connected to LINE

All 5 systems are connected to LINE:

  • Login and submission: parents, employees and coaches enter from LINE.
  • Notifications: roster reminders, class-cancellation notices and pre-class reminders go out as LINE push messages; the co-teaching system supports schedule push.
  • Clock-in: employees clock in by GPS through the LINE clock-in page or a location message.
  • Lookup: employees get operating guidance and form entry points in the LINE official account.

Impact Customers pay without visiting a venue; HR handles exceptions only

  • Customers: no need to visit the venue; payment can be made online at any time.
  • Scheduling: one notification and self-service entry by employees replace contacting more than 100 employees one by one; HR handles exceptions only.
  • Co-teaching: coaches look up schedules in self-service, removing the monthly manual compilation.
  • LINE OA BOT: fewer repeated questions and less manual entry.
  • Tutoring: main course operations handled online; courses and workflows can be adjusted in-house.
  • Summer: new courses can be listed at any time; registrations and payments are checked in the same system.

Scale Code size and tests across the 5 systems

Counted from the GitHub main branch, including the prototypes at takeover:

SystemAPI routesDatabase tables
Tutoring Course System265about 100
Summer Course Registration Platform32481
Cross-Venue Workforce Scheduling System14827
Pool Co-Teaching Scheduling System8416
LINE OA BOT8020

Automated tests: Tutoring Course System 125 test scripts, Summer Course Registration Platform 75 test cases, Cross-Venue Workforce Scheduling System 28 test cases. None yet for the Pool Co-Teaching Scheduling System and LINE OA BOT; scheduled under next steps.

Technical decisions Master data moved to a self-built PostgreSQL

Master data moved to a self-built PostgreSQL, with Ragic now a sync target. All 5 systems use PostgreSQL; 4 also use Drizzle ORM.

Known limits and next steps Expanded while in operation

These systems have grown while in operation. Issues are traced from error logs day to day, and technical debt left from the MVP stage is cleared step by step. Next steps:

  • Production code of 3 systems to be merged back into the GitHub main branch.
  • Migration files to be added for the scheduling system; tables are currently created at startup.
  • Automated tests to be added for LINE OA BOT and the co-teaching main branch.
  • READMEs of all 5 systems to be updated.

Source code: Tutoring Course System, Cross-Venue Workforce Scheduling System, Pool Co-Teaching Scheduling System, LINE OA BOT. The repo of the Summer Course Registration Platform is private.