Web Service · 2026

Freelance Developer Site with a Project CMS

A portfolio where one write-up publishes to both the Korean and English site

A homepage and a small management tool in one, so finished projects can be written up once, published in Korean and English, and inquiries can be handled in one place.

Client
Confidential client
Category
Web Service
Project site
Project site ↗
Home page with the headline and the list of service areas

Overview

  • A freelance developer's homepage and a tool for managing project write-ups, built as one site
  • Visitor path: see what can be commissioned → read a case → send an inquiry
  • Write-ups added and edited by the owner in a management area attached to the site
  • Publishing one case also produces its list card, its own page, and the information search engines need
  • Korean and English run together; a case without an English write-up stays off the English side
Home page
Home page

Challenge

  • Cases kept in documents or an outside service need their formatting redone each time
  • A separately maintained English page lets the two languages drift apart
  • An outside form service leaves contact details and project descriptions outside the site
  • No reason to keep received inquiries indefinitely
  • A general-purpose tool that can build any page at all is too much for a single-author site

Solution

  • Management features limited to project cases: writing, image uploads, categories, technologies and tags, inquiries
  • Body fixed into overview, challenge, solution, implementation and result sections
  • Only five elements available inside a section — paragraph, subheading, list, image, code → every case reads the same
  • Korean and English fields placed side by side on one screen, so a translation is written next to the original
Project editor
Project editor
  • Publishing builds the list and the page in both languages, with category filters
  • Cases without an English title and summary are left out of the English list
Project list on the English site
Project list on the English site

System architecture

  • Visitor flow: services on the home page → project list filtered by category → case page → inquiry
  • Owner flow: sign in → write a case and upload images → review as a draft → publish → read inquiries
  • Work in progress stays a draft and off the site; publishing adds it to both language lists
Project page
Project page

Implementation

  • The address decides the language: no prefix for Korean, /en for English
  • Switching language on an untranslated page leads to the closest page that exists in that language
  • Inquiries stored on the site, with a messenger alert on arrival
  • Alerts carry no name, contact details or message text — only a link into the management area → personal data never leaves the site
  • Inquiries deleted automatically one year after they arrive
Inquiry form
Inquiry form
Inquiry list
Inquiry list
  • Images uploaded from the browser straight to storage, with size and format re-checked by the server on confirmation
  • No sign-up screen; accounts created only by a command on the server, and locked after repeated failed sign-ins
  • A separate command-line tool turns a finished project folder into a draft case; uploads arrive as drafts and are published after review

Result

  • One write-up published to the Korean and English site at once, browsable by category
  • Each finished project added directly from the management area
  • Inquiries collected on the site, never sent outside, deleted once their retention period ends
  • Running on a server kept in-house, with visit statistics read from the same server

Technology

  • Next.js
  • React
  • TypeScript
  • FastAPI
  • Python
  • PostgreSQL
  • Docker

Screens

Have a problem that needs solving?

From software development to equipment integration and engineering, we can work out the approach that fits what your project needs.

Discuss a project