Back to projects

Case Study

Own product

JodalN

A production-grade public procurement SaaS that collects Korean G2B bid data, summarizes attached documents with LLMs, and supports high-speed search.

A product we planned, launched, and operate ourselves. Read these as evidence of technical range and operating practice.

Project Overview

JodalN is a full-stack SaaS for Korean public procurement data. It collects G2B bid notices across multiple categories, normalizes large models with 240+ fields, extracts and summarizes PDF/HWP/Excel/Word attachments through an LLM pipeline, and provides search, filtering, batch tracking, performance logs, cache management, and production deployment workflows. A read-only Cloud SQL snapshot on 2026-08-26 records 135,997 instrumented user activities, 830,889 live bid-notice rows, and 75.7M cumulative batch-processed records.

Product screens

Decision table for exploring bid opportunities by type, region, deadline, and budget
Decision table for exploring bid opportunities by type, region, deadline, and budget
Bid detail panel combining key notice data with company-fit and decision evidence
Bid detail panel combining key notice data with company-fit and decision evidence
Personal review queue for organizing in-review and not-interested decisions
Personal review queue for organizing in-review and not-interested decisions
Company-profile onboarding that establishes the criteria for personalized fit scoring
Company-profile onboarding that establishes the criteria for personalized fit scoring
Settings for refining the company profile and managing new-opportunity notifications
Settings for refining the company profile and managing new-opportunity notifications

Key Challenges

  • Modeling G2B bidding data with 240+ fields per category
  • Designing a monorepo across web, API, database, shared types, bid summarizer, and public data API modules
  • Building an LLM document pipeline for PDF, HWP, Excel, and Word files
  • Optimizing search and aggregation with indexes, materialized views, and cache operations

Key Outcomes

  • Cloud SQL snapshot (2026-08-26): recorded 135,997 instrumented user activities and 830,889 live bid-notice rows
  • Recorded 75.7M cumulative batch-processed records and 90.4 GiB of source files in the job ledger
  • Built a production-grade SaaS with 19 Prisma models and extensive database indexing
  • Implemented G2B API proxying, caching, rate limiting, and retry handling
  • Added batch job tracking, performance logs, and Redis cache admin flows
  • Established Playwright E2E, Storybook, strict TypeScript, and deployment hardening

Technologies

Next.js 15NestJS 11TypeScriptPrismaPostgreSQLLLMDockerGCPPlaywrightStorybook