Inspiration

I've been active in web development research since 2022 as I started my doctorate completed in 2025. During this time I learned to use tools like Overleaf, Zotero, and Parsifal but the integration between these tools felt strained at best. Besides my personal research, I advise students and teach so there's a pedagogical aspect to my work.

I've been experimenting with GPT models during the past few months and building small applications for myself while being increasingly impressed by the models and becoming more confident in my building skills. As GPT-5.6 was launched, I was excited to try to use it to build the scientific authoring application of my dreams. That is how the idea for Kirjolab was born.

What it does

Essentially Kirjolab takes some of the best ideas from Overleaf, Zotero, and Parsifal and packages them to a single application. Instead of commonly used LaTeX, it uses a scientific variant of Markdown for authoring which I find more pleasant to use. In addition I added LLM integration to enable smooth collaboration with the latest tools to support my workflow. In short, Kirjolab makes my life as a researcher easier as now I have a single surface where to have it all.

How we built it

I have developed a project bootstrap I call vibe-template over the past few months. vibe-template captures what I consider the best practices for developing web applications on top of Cloudflare stack and I keep improving it based on my learnings. Essentially this harness keeps models straight and helps them avoid common issue through strong validation although there are always gaps in this process especially at the UI side.

Before the project, I had been playing with the idea of a scientific variant of Markdown in another project. That spike helped me understand that Markdown can be a good scientific authoring format especially when extended. To go from there, I used GPT-5.6's new Ultra mode that spawns subagents to come up with a strong initial plan and over the past week I iterated on the functionality to reach a feature complete version that works well for my workflows and usage patterns (for example annotating on iPad and using the application offline).

Challenges we ran into

I have to admit I didn't have any bigger challenges during the project. There were some UI glitches where I had to literally show GPT what's wrong and I ended up using Chrome integration (CDP, likely should have gone with MCP) to get certain UI bits fixed.

I think the biggest challenge with GPT has to do with UI right now but with some guidance even UIs are possible. It's likely the ambiguity related to UI design that makes it a hard task as it relies on your personal taste and often there is something subjective to UI design.

Accomplishments that we're proud of

I was surprised I was able to build a working application with valuable functionality so fast. I think I could not have done this even a few months ago as I was not so well versed with agentic development and the tools weren't as mature as now. For me, GPT-5.6 seems like a gamechanger in a good way.

What we learned

Doing this project helped me to appreciate the capabilities of the latest models while showing me the value of having strong scaffolding around it. Most likely the project would have taken far longer without a strong starting point and design vision. Even the strongest model needs careful thinking around it.

What's next for Kirjolab

I have several writing projects to finish so I'll trial my application personally. I might try to get a researcher or two interested in testing it to gain further feedback. I have initial functionality for SLR/MLR style research but likely that will require more iteration to see especially how integration with AI can work in a transparent and responsible manner.

Built With

Share this project:

Updates