Skip to content
Logo
arrow_backBackKembali
Engineering4 min · June 20, 2026

Building Lectura: A Side Project That Started from My Own Formatting Frustrations

Every software project starts with a pain point. For Lectura, that pain was deeply personal: I was spending more time tweaking slide layouts for my academic presentations than actually developing the content. As both a researcher and a developer, I needed a tool that respected my time.

From Personal Frustration to Something Useful

Lectura began not as a product requirement, but as a research workflow inefficiency. I was using LaTeX Beamer for academic presentations and Reveal.js for tech talks — maintaining two separate slide decks for the same content. The first prototype was a simple Python script that converted Markdown to HTML slides. When I showed it to fellow graduate students, the response was immediate: "I need this too."

That response made me realize I wasn't the only one with this problem. So I kept working on it, slowly turning a script into something more polished.

Building Without a Blueprint

I started building it without a clear plan — just a frustration and a rough idea. The first version was messy. I made choices along the way, some deliberate, some out of convenience. A few educators tried it, and their feedback taught me more about what the tool needed than any design document could.

Over time, the direction shifted based on what people actually found useful, not what I had originally imagined.

What Stayed with Me

Lectura reminded me that you don't need to have everything figured out from the start. A personal frustration, a rough prototype, and a handful of users who find it useful — that can be enough to keep going. There is still plenty to improve, but seeing someone else use something I built to save a bit of time has been more rewarding than any technical milestone.

RelatedTerkait
co_present
Web

Lectura — Academic Presentation

An All-in-One Teaching Stage SPA built with native ES Modules, incorporating a Wiki-Study curriculum mode, a Reveal.js presentation engine with LaTeX/Mermaid integration, and an infinite Canvas whiteboard synced to SQLite.