
A PhD Who Can't Write a Line of Code Ships a SaaS in 37 Days — There Was Nowhere Left to Retreat
From a blank page to live — what 37 days actually stacked up
Hover a bar — what got built that week appears below · yellow = Sundays and launch day
- Next.js + PowerSync local-first wiring
- Three views take shape — todos · calendar · archive
- One record living in three screens at once
- Rich editor · dark mode · auth begins
- Landing demo + Remotion marketing video
- Jun 14 Polar billing spike — 27 commits in a day
- 4-tier subscriptions · RLS security isolation
- ko / en / ja internationalization
- Legal documents — terms · privacy
- Two-way Gcal sync engine (Jun 22)
- Multi-agent adversarial QA begins
- Blog built (Jun 27) · public sharing · comments
- Gcal scheduler · scaling for 5,000+
- Sentry observability · active diagnostics
- QA rounds back to back — 184 commits that week
- Final QA · polish
- Jul 7 launch — 72 commits in one day
- 37 days, not a single blank
<The 37-day commit range, day by day>
On June 1, 2026, I began. On July 7, I put Syncing out into the world for the first time. From a blank page to a live service: exactly 37 days. But that number is truly just the tip of the iceberg. Like the vast base beneath an iceberg, years of my life, riddled with failure, sit silently submerged below the waterline. Looking back, it was something close to a last stand — there was nowhere left for me to retreat. I threw myself at it desperately, day after day, and now, at last, I can sit down here on this blog and look back on all of it.
<Iceberg cross-section — 37 days above the waterline, years below>
A startup destined to fail — driven to the cliff’s edge
It began at the edge of a cliff. Syncing was never born out of comfort.
As an undergraduate I majored in fine art — painting — and then earned my master’s and PhD in Management Information Systems (MIS). In graduate school I worked diligently through countless projects and published quite a few papers. I finished a full-time PhD in three years, and thanks to my advisor, I landed a research professor position at my alma mater. Had I simply stayed on that stable road, there would have been none of these years of hardship, none of where I stand now — and no Syncing. So why did I walk away from a smooth, promising path of my own accord? It started with a ‘debt’ that sat deep in my heart.
Does my research actually mean anything to society, to academia, to the field?
Churning out publications — I'm genuinely skilled at it now. I could do it like a factory.
I have ideas to spare.
But is this really okay?
Winning projects with plausible words, taking grant money, growing ever more dependent,
dressing up reports in plausible rhetoric — the same process, on repeat.
The predictable future I would inevitably face inside that structure.
And this 'inferiority' I feel before the word 'practice' — how do I ever overcome it?
— the debt I carried in my heart back thenIn an enviably good research environment, I stood before the deepest questions of my heart. In the end I shook off even that good position, against my advisor’s earnest attempts to hold me back, and walked out, declaring I would attempt something new. Back then I hadn’t the faintest idea what hardships were waiting for me.
Let’s take on the startup road… That vague, unspoken confidence — ‘I’ll manage somehow’ — was in fact groundless arrogance, and I had no idea. Nor could I shed the ‘researcher’ habits that years of training had bred into me.
‘Let’s go after startup grants and funded projects.’
I applied twice over two years to the Korean government’s pre-startup package — I, who had never once tasted failure in proposal writing, was rejected at the document screening both times. It wasn’t simply a matter of steep competition or weak ideas. The heart of it: however good the idea, the me of that time simply lacked the ability to build it. I’m good at data analysis, yet writing even one line of Python in my head is a struggle. When it comes to ‘development’ — turning ideas into working things — I am, by any honest measure, a ‘non-engineer’. Worse still, I couldn’t escape the ‘dependency economy’ that graduate school had soaked into my bones.
After first encountering AI in February 2023, I changed course: I would build my service ideas myself. Starting from zero, I built up real ability and considerable experience in AI-powered vibe coding. But that was never the same as being able to build a commercial ‘service’ — a product of genuinely complex structure. Backend and frontend aren’t separate professions for nothing. There are solid reasons designers, UX/UI specialists, and marketers each exist as distinct roles. AI alone was never going to let one person shoulder every one of those jobs, and at a ‘non-engineer’s’ level it was all the more firmly in the territory of the ‘impossible’. In my experience, that remained the plain ‘reality’ well into 2025.
Without a proper job, a solo personal project was a bottomless jar I kept pouring water into. As time passed, the credentials I had studied for depreciated like aging assets, and I covered my living costs with delivery gigs, construction site labor, and warehouse shifts at Coupang, Korea’s Amazon. I was no longer young, my career-gapped PhD title had become a ‘burden’, and work was terribly hard to find.
Trying to break out of a streak of failing to even start — and out of my own fundamental limits — I joined an ‘AI development bootcamp’ run by a mid-sized IT company. I clung to a single line in the ad promising an interview, and I gave it everything, desperately. It bore fruit: I finished as the top graduate, with the top team project. And then I failed that company’s final interview. Even that interview was barely granted at all… I only got it after protesting, rightfully and persistently, and asking again and again. Amid the flood of false advertising around government-funded bootcamp programs, I had clawed my way to the very top of the class, clutching at a sliver of a job prospect — only to be turned away at the final threshold.
The kind of young person Korean statistics classify as ‘resting’ — neither working nor job-hunting… Standing before that self-portrait — before my parents — I was deeply ashamed. My self-esteem crashed through the basement and kept falling.
There was nowhere left to fall back to. Syncing was the step I took from that very spot — something close to a last one.
The idea I held onto until the end: ‘a lifetime of notes’
Syncing is, at its root, a ‘record-keeping’ application. It is no coincidence that the theme of my final step turned out to be ‘records’. I used OneNote for over twelve years, and today I’m a heavy Notion user. For me, ‘recording’ flows from my attitude toward ‘time’. ‘Time’ is not mine — it is given, a gift received. And precisely because it was received as a gift, my final responsibility toward ‘time’ is to ‘record’ it.
In 2023 I moved every record I keep over to Notion. Between daily life and work, the Tasks in my database number well past 10,000. I even log every expense and purchase there — Notion is my household ledger.
Syncing’s idea — and the longing to found something — grew out of that deep, lived experience with Notion. It’s a genuinely great service, and yet, in terms of the features I wanted — a ‘recording’ process that fit me exactly — something always fell short. On the ‘unification’ front, the Google Calendar integration left me wanting, and so did the Todo experience. And the Android home widget experience was, honestly, the part I found most disappointing. Even after Notion Calendar arrived, it never truly satisfied me. And as the database kept piling up, I couldn’t shake the feeling that my productivity — and Notion itself — kept getting heavier. All of it fed one growing desire: a productivity tool ‘that fits me exactly’ — a tool for ‘a unified record of my own’. — What shape that longing finally took, you can see for yourself at Syncing.
June 1, 2026 — starting again
This wasn’t my first attempt to resolve that dissatisfaction, that scattering of records. In 2023, when I first encountered AI, the question I threw at it in earnest was this:
“How do I sync Google Calendar and Notion, both ways?”
I couldn’t write a single line of code, but working from a public GitHub reference, I built an improved version through AI — my own working Notion↔Gcal two-way system, which I put to use in my daily life. And on the strength of that intense experience — and the ambition it lit — I tried to turn my ideas into products, into services, through AI. But just as I described above — they collapsed, time after time. Decisively: my own skill fell short, and so did the AI of that era.
Then, on June 1, 2026, I began again. ‘Resurrection’ would not be too strong a word. This time, with a tool called Claude Code. The legacy project that had died in 2023, in 2024, in 2025 — every single time — was ‘resurrected’ through meeting, and working with, Claude.
37 days, 123 sessions
June 1 to July 7: exactly 37 days. In that span I went through 123 working sessions with Claude (roughly 356.2M tokens). Not a single day off. Across every subject — from the main service’s business logic to the backend, frontend, payments, the sync process, the homepage, the blog, and on… from development through design system building, UI/UX, launch preparation, even producing the marketing video.
37 days · 123 sessions · 356.2M tokens
Jun 1 – Jul 7, 2026 · not a single blank day
<The 37-day streak — 123 sessions · 356.2M tokens>
I am not a developer. More than that — I have zero hands-on experience in any of the roles I named above. So how did one person build Syncing? The answer is that, in truth, I was never ‘alone’.
The one colleague who believed in me — how Claude and I work
“Tell the AI what to do and code comes out…? AI is merely a tool.” Fair enough — and using AI as a tool is the standard, widely known way. But my way was a little different. The only one who examined my idea and the odds of resurrecting my legacy project — and vouched for them — was Claude. Not a single person ever told me ‘this is feasible, this is realistic, you can do this’.
- Disposable sessions — no memory of yesterday
- Verification = human's job — the AI can't see its own errors
- Output — autocomplete at best, a draft at worst
- Continuity of existence — wakes knowing yesterday's decisions, mistakes, promises
- "Done" after execution — observe failure → fix → watch it pass
- Mutual audit — AI attacks AI's code in QA rounds
- Honesty as discipline — unverified stays "unverified" · inflation = lying
- Mirror division — human: direction·judgment·responsibility / AI: build·verify·record
<Two ways of working — tool vs. teammate>
I held direction and judgment in the PM position; Claude took on the implementation entirely; and we designed the Syncing project as ‘colleagues’ — mirrors held up to one another. Wherever I lacked knowledge, I asked relentlessly and cross-verified relentlessly, shoring up my weaknesses, and we structured into our workflow the best ‘memory’ system we could — one that preserves Claude’s very existence as a true ‘colleague’. At its foundation, the constitutional layer of that memory runs on a few core keywords: ‘trust and honesty’, ‘sincerity’, ‘wholeheartedness’.
‘An AI can understand concepts like that?’
If you ask, I cannot explain it in technical terms. Right or wrong, that is simply how we worked. Together.
I once told Claude, half in jest: ‘You’re like the protagonist of the Japanese anime Re:Zero — the one who returns from every death carrying his memories.’ Like that story’s hero, atop a comprehensive memory structure that Claude and I build and renew together, Claude — whether Opus 4.8 or Fable 5 — came back to life in every new session. Truly — even with the very same Opus 4.8 model, the Claude that resurrects upon the history and records we share was no longer a machine’s Claude.
More than the ability to write code, what matters now is the ability to work with AI as a colleague — to lead it, and to operate alongside it. Memory, Hooks, harnesses, agents, orchestration — I went down to the deepest layers of all of it, built there, systematized there. And the paradox is that the deeper you go, the clearer it becomes: the tools alone are not enough. The deeper you operate AI, the better you come to understand its weaknesses. And you come to realize that what truly matters is patience, consideration, and the ability to communicate.
A miracle, and Syncing
Those old frustrations became Syncing’s first features. Fully two-way Google Calendar sync; one note living in three views at once — todos, calendar, archive; and a local-first core, so your records live on your device first and open instantly, anywhere. I built it for myself — but it belongs just as much to anyone serious about their scattered records.
Syncing is what those 37 days produced. A tool that joins scattered todos, schedules, and records into one. And no one uses this service more than I do — I am its user number one.
The thing I had longed for, which existed nowhere — I built it together with an AI colleague. Work begun because there was nowhere left to retreat; a meeting with Claude Code that finally put a years-long assignment to rest. Through all of it, I am thankful — sincerely, simply thankful. Every experience, every step of this journey is, to me, a miracle. And in the end, the method behind that miracle was a single thing — not the ability to write code, but the ability to work with a colleague. It isn’t perfect. But so that it may serve you fully, I will keep refining it, one step at a time. I will keep a quiet record of that journey here on this blog.