Blogへ戻る
Language: English

A Gopher's TSKaigi 2026 Student Travel Support Retrospective

A retrospective on attending TSKaigi 2026 through student travel support, from TypeScript backends and type inference to sponsor booths, scholarship lunch, OST, and the party.

conference typescript tskaigi backend student

I attended TSKaigi 2026 through the student travel support program.

I am usually a Gopher, and I almost never work on frontend development. At my internship, though, I have been working on an AI concierge in NOT A HOTEL’s Chat/Concierge area, where I write TypeScript backend code with mastra. So even before attending TSKaigi, my interests were less about how to write React and more about how TypeScript is used in backend systems and production design.

In short, I am very glad I went. Technically, I heard a lot about topics I want to think about more carefully when writing TSBackend code, such as type inference and permission design. Because of the student travel support, I could also be there in person for the scholarship lunch, sponsor booths, OST, party, and Drinkup, not just the sessions.

TL;DR

  • I usually write Go, but I attended TSKaigi 2026 because I have recently been writing TypeScript backend code at my internship.
  • It pushed me to think beyond “I can write TypeScript” and toward “how far can I protect design with types?”
  • I spent a lot of time around the sponsor booths, talked with syumai at the LayerX booth, and became the only person on Day 2 to answer every ZOZO TypeScript & JavaScript Quiz question correctly.

Pre-Event

There was also a pre-event for student travel support participants.

The schedule looked like this.

  • 18:00 - 18:05 General explanation
  • 18:05 - 18:55 Company introductions, five minutes each for seven companies
  • 19:00 - 19:30 Online networking, two 15-minute rounds

I was not feeling well that day, so I could not join live and watched the archive later. I still wish I had been able to join the networking part, but it was interesting to see how each company talked to students. They did not only introduce their companies. They also talked about how to enjoy the conference itself, which made it look fun. One repeated piece of advice was to prepare a name badge with an icon, and I regret not doing that.

It did not feel like the program ended at “we will support your travel expenses.” Even before the main conference, the organizers were trying to create contact points between students and companies, and among students themselves. That was nice.

Day 1

On Day 1, I listened to sessions while spending a lot of time visiting sponsor booths.

One session that stood out to me was Naoaki Kitagawa’s “権限チェックの一貫性を型で守る TypeScript による多層防御”, which was about using TypeScript to keep permission checks consistent across multiple defensive layers.

Permission checks tend to spread across multiple layers: hide something on the screen, reject it in the API, and protect it in the database. The talk described placing permission actions as the single source of truth and using TypeScript’s type-level constraints and exhaustiveness checks to keep those layers consistent.

I have always liked protecting what can be protected with types, so seeing TypeScript applied to a practical, failure-sensitive area like permissions was very interesting. TSKaigi did not feel like only a frontend event. I liked that the conference expanded from TypeScript into product design, safety, and operations.

At the booths, UPSIDER’s apple cider stayed in my memory. It was a novelty item, but it made the conference itself memorable. Seeing or drinking it later makes me remember TSKaigi. Before I knew it, I was walking around the booths as if I were trying to collect every novelty item.

On the night of Day 1, I also joined the side event TSKaigi 2026 Drinkup. It was great to have a place to keep talking right after the main event. Instead of just listening to sessions and leaving, conversations naturally started with questions like “How was that talk?” or “What do you usually write?” Since I was attending through student travel support, it was especially memorable to sit at the same table as working engineers I would normally have little chance to meet.

Aside: Archives Exist

One thing I regretted after TSKaigi was not attending more functional programming sessions.

I was invited to Functional Programming Matsuri 2026. Through that connection, I also joined a Functional Programming Matsuri prep event in Miyazaki, which was very interesting.

With that context, I now wish I had attended the Day 1 sessions “「関数型プログラミング」を分解する.ts” and “AIのために、AIを使った、Effect-TSからの脱却 〜テストを活用した安全なリファクタリングの進め方〜”.

Fortunately, TSKaigi also supports online participation, so I can watch the sessions later. When attending in person, conflicts between sessions, booth visits, and conversations are unavoidable. Being able to catch up later is genuinely helpful.

Scholarship Lunch

On Day 1, I joined the scholarship lunch.

It was much more substantial than I expected. Since it was a lunch for students, I imagined something lighter, but it was a proper meal and honestly surprised me.

At lunch, I sat at the same table as someone from ASSIGN and talked about job hunting as a new graduate. It was funny to suddenly have a very concrete career conversation at a technical conference. As a student, it is valuable not only to listen to technical talks, but also to hear directly from people at companies about careers and recruiting.

Those conversations rarely happen just by reading articles or hiring pages online. They happened because student travel support made it possible to attend in person and sit together at lunch.

Day 2

On Day 2, the talks about type inference and UI expressiveness stood out the most.

First, I listened to ypresto’s “TypeScriptはどのようにどこまで推論できるのか ─ とにかく as は禁止で”.

The phrase “as is defeat” left a strong impression. When writing TypeScript, there are definitely moments where it is tempting to use as to force the type checker to accept something. But that also means relaxing the safety that TypeScript’s inference and analysis were supposed to provide.

Of course, real code has boundaries and external input, so simply banning every assertion is not realistic. Still, it made me ask whether I had first designed the code so inference could work, and whether I was removing a guardrail myself. I also wondered whether LLMs may be very good at type puzzles as long as humans review the results properly.

ssssota’s “ReactとSvelteのその先、Ripple-TS” was also very interesting.

Before the conference, I knew almost nothing about Ripple-TS or TSRX. But when they were explained as something beyond React and Svelte, they gave me a chance to rethink UI writing styles and constraints that I usually accept without much thought.

The TSRX part was especially interesting. I enjoyed it as a discussion about how to express UI on top of TypeScript, and how far frameworks and compilers can support human readability. I do not usually work on frontend development, but I still found the syntax and type design around UI expression very fun.

I also listened to minako-ph’s “柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践”.

The subject was a PDF layout editor, which clearly sounds like a product with complicated state. The talk described generating Discriminated Unions from Protocol Buffers oneof definitions through Zod, then using Conditional Types to safely obtain value types from node type names. It made TypeScript types feel less like abstract type puzzles and more like tools for making complex UI and data structures harder to break in real products.

I Spent a Lot of Time at Sponsor Booths

At this TSKaigi, I spent a lot of time not only in sessions but also around the sponsor booths.

The LayerX booth was especially memorable. I was very happy to talk with syumai. Since I am a Gopher, I did not expect to meet someone I respect in the Go context at a TypeScript conference. I often use syumai/workers, an OSS project for running Go on Cloudflare Workers, so it was fun to talk in person. Those accidental conversations are one of the best parts of attending locally.

ZOZO’s TypeScript & JavaScript Quiz was also a lot of fun. The questions were genuinely difficult and required understanding type inference and small JavaScript details. I was very happy to become the only person on Day 2 to answer every question correctly, although some of it was definitely luck. TSKaigi was not only a place to absorb new knowledge through sessions, but also a place to test what I had learned so far.

The venue itself felt very open. There were activities and visitor benefits such as NFC cards, massages, face painting, nails, a photo booth, and Ask the Speaker. It felt a little like a school festival, not just a technical conference where people sit and listen to talks.

I could not join the hands-on activities this time, but just walking around the booths and activities created many chances to talk with people. I came to hear TypeScript talks, but the whole venue was designed to create interaction, which left an impression on me.

OST and Party

I joined the OST and the party too.

At the OST, I talked about frontend architecture and how far a new business should plan ahead technically. Sessions can easily become one-way communication from speakers to participants, but OST was interesting because participants could bring current, real concerns to each other.

What surprised me most was that more people were doing TSBackend than I expected. From the name TSKaigi, I imagined there might be more frontend people, but in reality there were also many people using TypeScript on the backend.

I was also surprised to meet many Gophers. Since I write Go too, it made me happy that Go topics worked naturally even at a TypeScript conference. Hono also came up often, which made me feel that it has a strong presence as an option for writing backends in TypeScript.

At the party, I could talk not only about session impressions but also about everyday technology choices and careers. As a student, it was valuable to naturally talk with working engineers I usually would not meet.

Student Travel Support Made This Possible

Without student travel support, attending this conference would have been difficult for me.

It did not only reduce the cost of transportation and lodging. I was also grateful for opportunities like the scholarship lunch, where students could talk directly with people from companies. Session archives and materials can be viewed later, but experiences like accidentally talking at sponsor booths, hearing about careers over lunch, discussing technology choices with strangers at OST, and meeting Gophers at the party are much harder to reproduce unless you are there in person.

Thank you to all TSKaigi 2026 student support companies.

TSKaigi 2026 student support companies: istyle Inc., ASSIGN Inc., SmartHR, Inc., SoftBank Corp., DWANGO Co., Ltd., Plaid, Inc., LayerX Inc., and Leverages Co., Ltd.

Closing

For me, TSKaigi 2026 was a place to move one step beyond “I write TypeScript” and think about “how to design with TypeScript.”

I usually write Go and almost never work on frontend development. Even so, many topics landed well for me: type inference, permissions, PDF layout editors, Ripple-TS, TSBackend, and Hono. I think I enjoyed it precisely because the conference was not limited to frontend topics.

Thanks to student travel support, this became a very valuable technical and career opportunity. Thank you to the supporting companies, the organizers, and everyone who talked with me.

Older Post

Building a Scalable Backend for an LLM Chatbot During a Two-Week Internship at GMO Internet Group