#창업
People sometimes ask me about the tech stack behind BuyBus, so I thought I’d put it all together. This will probably be obvious to experienced developers, but I’ve tried my best to include everything. I hope it’ll be useful to anyone who’s vaguely imagined building something similar but hasn’t known where to start. There are three diagrams in total. The one at the top is an overview covering my development environment, the server, users’ devices, and third parties like AWS, Google, and PayPal. The two below it zoom in on the server and client parts of that overview, respectively. All three are vector graphics, no less! I generated the detailed server and client architecture diagrams automatically with an npm package called dependency-cruise, and made the overview myself in Figma. Figma’s auto layout let me draw the nested elements neatly, but I wasn’t sure what to do about the arrows: vanilla Figma doesn’t automatically update an arrow’s endpoints when the elements it connects move. Then I installed a plugin called Arrow Auto, and it worked like a charm. Figma rules. The automatically generated server and client architecture diagrams look a bit intimidating, but they’re not as hard to make as they look. You make server requests and client pages for the features you need, split things into separate components when they need to be reused, search Google for a library when you suspect one already does what you need, and so on. Before you know it, you end up with this. The arrows overlap so much that it’s hard to follow any one of them, so I’d suggest just looking at what components there are and which external libraries I used (the red boxes). overall server details client details
3y ago · #CS #창업 #BuyBus
BuyBus finally made its first sale. It’s been 51 days since I started the project and 31 days since launch. stats for nerds That’s after about 5,200 lines of JS (3,500 frontend + 1,700 backend) and 42 git commits. As of today, two days later, the code has already passed 6,000 lines. It’s not just BuyBus’s first sale. It’s also my first income from a startup in the year since I finished my lab internship last September, cast off all the shackles and constraints of the world, and devoted myself to starting a business (or did I just put the shackles on?). My goal this year was to earn 1 million won purely from “my own business,” and this is a big step toward it. I'll never forget your name, D****. --> The notification came completely out of the blue the evening before last, as I was crossing Yanghwa Bridge on my way to run along the Han River. Rather than jumping for joy, I felt a sense of relief, as though something weighing on me had finally lifted. My vague idea that people might buy something like this had been confirmed in real life. I couldn’t just celebrate, though. I’d treated keeping the project lean as its highest virtue, so I’d made everything up to the point of purchase (and confirmation) airtight, while leaving plenty of holes in what came after. I had to fix an error on the purchase history page, create a purchase confirmation email template, and make the backend send it automatically upon confirmation. I ended up going to bed at 5 a.m. that night. Good thing I’d eaten a hearty 400 g of pork neck after getting back from my run. I crave meat so much after exercise. Normally it’s more like, “Oh, that sounds good,” but right after lifting or running, it’s, “If I don’t eat some, I’m going to die.” I’ve been so busy working that I’m writing this at a pace of about one paragraph a day. Two paragraphs ago, I said it was the evening before last, right? Now it’s been five days. Anyway, I successfully bought and uploaded the ticket, sent the email, and wrote a boarding guide. I added a feature for viewing terminals on Google Maps and put up a related Instagram post. I’ve nearly finished contacting the university exchange student channels I could find, so now I need to look into advertising through language institutes and social media like Instagram. To prepare for that, I also need to create and post plenty of content in advance. I need to figure out how to reduce the fees charged by the payment gateway, too, and write a guide for cases where passengers have to collect a ticket on-site without a QR code. There’s a lot to do. I’ll be spending this year’s Chuseok with BuyBus. ︙ I’ll never forget your name, D****. Like the song I was listening to then: Now that I found you, I have the reason to carry on. P.S. So far, I’ve sold tickets for 20 people across seven purchases. Granted, several purchases were by the same people. Could this actually work?
3y ago · #창업 #BuyBus

Two weeks ago, I gave my first-ever lecture—and, as luck would have it, in a class at my alma mater with nearly 90 students. I was barely keeping my wits about me, but Changhyun, who takes the class, filmed it, so I have a record of this precious experience! Thank you so much. Lately, I’ve been jotting down a line or two in my notes app whenever I have a thought about entrepreneurship. This was a great opportunity, partly by choice and partly by circumstance, to organize those thoughts and share them. I simply used the guest lecture topic listed in the syllabus as my title. It’s an impossibly broad question, but I hope this presentation—an overview of what I’ve experienced and thought about during my year of trying to start a business—offers a good answer. It’s been ages since I watched a video of myself presenting. Sigh. I should practice now and then, even when I don’t have a presentation coming up. I said “now” 65 times in a talk that was barely 20 minutes long lol. Even for an unscripted, freestyle talk, that was too much. If I ever gave a presidential inaugural address, my vision for South Korea would probably just be “now.” The beginning of the video is cut off, and the slides aren’t all fully visible, so I suggest listening to the audio and referring to the transcript below for the full content. Transcription software has gotten really good: even though the audio is quiet, it got almost every word right. I think it cut the time it took me to write this post by several times. Clova Note is the best. This is a lecture you couldn’t hear anywhere else, even if you paid hundreds of millions of won. Obviously—I’m never doing it again. It was only the second class, but apparently it really was Week 3 because the semester started on a Friday. * Clova Note generated the keywords and summary below. They turned out better than I expected, so I’ve copied them here. Just read them for fun. Keywords BuyBus API networking entrepreneurship trial and error bus schedules KLMS class KAIST refund business idea business payment complaints chatbot climbing launch booking service code AI Summary Guest lecture on entrepreneurship (00:00) As someone trying to start a business, I sent the professor a long text asking whether I could at least get the course materials. The professor unexpectedly called to ask more about the business. Since the class was discussion-based, he suggested I come talk about it, and that’s how the guest lecture was arranged. KLMS redesign for remote classes (01:24) KLMS underwent a major redesign in March 2021. The university redesigned it with good intentions, to make remote classes easier for students, but the first version had many inconveniences. I made and released a Chrome extension to improve it. The response was better than expected, and its user base grew to around 1,700 people on campus at its peak. Developing Nupjuk! was probably the biggest reason I decided to try starting a business. A service for international tourists (04:16) There’s a world of difference between making a free program people appreciate and use, and making something they’re willing to pay for. I saw a news report about the difficulties international tourists face in Korea and spotted a business opportunity. I thought that if I integrated a payment method international visitors could use, bought tickets on their behalf, and charged a fee, I could turn a profit as soon as I made a sale. The pitfalls of automation (07:28) I wanted to talk about the thoughts—or, to put it generously, the philosophy—I’ve developed through all the trial and error of trying to start a business. I wanted to explain why you can’t limit yourself to glamorous businesses, and why automation isn’t always the answer. The downsides of automation (12:21) When the automated process was given a slight delay, people were more likely to use Samjjeomsam than when it finished immediately. It’s an interesting example of how too much automation can backfire. I tried to apply this perspective on automation while building BuyBus. The phrase “separate consultation” gave me pause. With Google APIs, you can apply and use them right away at a set rate. Here, I expected that after clicking “Apply,” I’d have to describe my intended use and expected usage, wait for someone to review it, and then be told how much to pay. The fragility of scraping code (14:55) I wrote scraping code using a fragile approach that could break as soon as the page structure changed, even slightly. I think it helps to gather as much information as you can scrape. I realized how important connections are when trying to run a business. Silicon Valley entrepreneurship course (17:51) After taking a Silicon Valley entrepreneurship course and starting a business, I decided to make the most of my connections. There are many things to consider when running a business, but I think the most important is whether it’s legal. const slidesData = [ { transcripts: [ `안녕하세요, 오늘 "창업이란 무엇인가"를 주제로 강연하게 된 이건희라고 합니다. 만나서 반갑습니다. 7주차에나 잡혀있는 특강을 갑자기 오늘 한다고 해서 놀라셨죠. 저도 많이 놀랐습니다. 저도 이 강연 잡힌지 이제 3일 됐거든요. 주말 동안 열심히 준비해봤는데, 어떻게 된 일인지 곧 말씀을 드리겠습니다. 제가 학교를 다니면서도 이렇게 많은 사람 앞에서 발표를 할 기회가 없었던 것 같은데요, 영광입니다.` ]}, { transcripts: [ `먼저 제 소개를 간단히 할게요. 저는 KAIST 학부 18학번으로 항공우주공학과 전산학을 복수전공했고요, 올해 2월에 졸업 후 현재 외국인을 위한 버스 표 예매 대행을 아이템으로 창업을 "시도"하고 있습니다.` ]}, { transcripts: [ `이 에브리타임 글 모두들 보셨을 거에요. 이 글을 보고 본 과목을 수강하게 되신 분들이 대부분이 아닐까 하는데, 저도 자주는 아니지만 가끔 에브리타임을 들어가보다가 교수님께서 쓰신 이 글을 보게 됐습니다. 근데 지금 창업을 시도하고 있는 입장에서 제게 너무나 큰 도움이 될 것 같은 거에요. 근데 저는 지금 서울에 상주하고 있는 데다가 학교 출입도 자유롭지 않아서 강의를 직접 들으러 오기는 힘들거든요. 그런 상황에서 그냥 강의 자료라도 받을 수 있을까 해서 교수님께` ]}, { transcripts: [ `장문의 문자를 써서 보냈습니다. 저는 좀 겁이 났거든요. 왜냐하면 여러분은 이 수업을 듣기 위해서 등록금이 집행이 뻔히 되고 있는 상황에서, 저는 어떻게 보면 무임 승차를 하겠다고 한 거니까. 되게 저자세로 들어가서 답장을 기다리고 있었습니다.` ]}, { transcripts: [ `근데 교수님께서 갑자기 전화를 하신 거예요. 그래서 받았더니, 제가 문자에는 간단하게 써놨었거든요: 버스 표 관련 사업을 해보려고 하고 있다. 그 사업에 대해서 더 물어보시더니, 그런 사업을 해보려는 입장이라면 거기에 많은 궁금증이 있을 테고 어차피 수업도 문답식으로 이루어지니까 와서 이것에 대해서 얘기를 나눠보면 어떻겠냐 해서 정말 갑작스럽게 이 특강이 잡히게 됐습니다. 그래서 아까 소개해 주신 대로, 저는 이제 정말 많은 시행착오를 겪고 있는 전혀 성공하지 않은 사람이고요, 오히려 그래서 이 수업에 더 적합하다고 생각을 하기 때문에 그 점 감안해서 잘 봐주시면 감사하겠습니다.` ]}, { transcripts: [ `제가 일단 창업을 시작하게 된 계기부터 말씀을 드릴게요. 고학번분들은 아실 텐데 21년 3월에 KLMS가 한번 크게 개편이 됐었어요. 비대면 수업을 아직도 할 때에 학생들이 이제 수업을 좀 더 편하게 들을 수 있도록 학교는 좋은 의도에서 개편을 했는데 이게 초기 버전에서는 불편한 점이 되게 많았어요.
3y ago · #창업 #BuyBus

© 2026 Gunhee Yi