matt-savvy

matt-savvy

LiveSlides - Present a slide deck with live links

Hey gang, just want to share LiveSlides, a small side project I’ve been working on this month.

LiveSlides is a web app that lets you create slide decks in Markdown and present them to the audience in their own browser. You start the presentation, share a link, and then as you’re presenting, changing the slide will also update the view in each audience members’ browser. And, when the presentation is finished, they’ll get controls for themselves to review your slides as much as they want.

It uses Phoenix, LiveView, and some OTP.

If you want to learn more, I wrote up a post here outlining how it works and how I went about it.
https://blog.1-800-rad-dude.com/posts/2024/05-19-Creating-LiveSlides.html

Most Liked

matt-savvy

matt-savvy

Not implemented (yet…) but I did have this idea as well. The idea being that, as an audience member, you can “detatch”, and go into solo viewer mode and have full control for all the slides that have been shown up until that point, and possibly see some indicator that the presenter has moved on, etc, and then hit one button to “re-attach”. Like what happens when you’re watching something that’s being DVRd (e.g. YoutubeTV) - you can pause, rewind, but you can’t see into the future.

The functionality won’t be too hard, just making sure we expand what’s being broadcast on slide changes so that each LiveView knows enough to set up its own state to match that of the presentation’s GenServer.

Awesome to hear you had/have the same ideas, great minds think alike!

katafrakt

katafrakt

Really cool. I’ve had this idea for ages, but never executed :smiley: One feature I thought of, and I think it’s not there, it to allow viewers to freely go back to any slide that was already shown, with a button appearing “go back to current slide”. But at the same time they cannot go forward and ruin all the surprises.

sntran

sntran

Great work! Would be nice to have the blog post be presented by LiveSlides :smiley:

matt-savvy

matt-savvy

Would be nice to have the blog post be presented by LiveSlides

Funny you mention that, I did have the idea of writing up a little module that would just perpetually update the slides for a presentation so I could share the public link and anyone could get see the experience.

You CAN check out this demo presentation I had created, which is actually most of the same content as the blog post.

https://live-slides.fly.dev/presentations/view/ce91b16b-fe46-447f-8567-366272739b4c

Where Next?

Popular in Libraries Top

kevinlang
Hey all, We have made an Ecto3 Adapter for SQLite3, ecto_sqlite3! We have successfully on-boarded the full suite of integration tests (...
New
seancribbs
Today I released a new dialyzer Mix task as the dialyzex package! At the time we started writing this task, the existing dialyzer integra...
New
KronicDeth
Elixir plugin for JetBrain’s IntelliJ Platform (including Rubymine) This is a plugin that adds support for Elixir to JetBrains IntelliJ...
289 35421 110
New
dbern
I’m excited to announce that TaxJar has developed and open-sourced DateTimeParser. We developed it because we found a need to parse user ...
New
woutdp
Hi! I wanted to introduce my latest project LiveSvelte. It allows you to render Svelte inside LiveView with end-to-end reactivity. It’s ...
New
New
mbuhot
EctoJob A transactional job queue built with Ecto, PostgreSQL and GenStage Available on Hex.pm: ecto_job | Hex Docs: API Reference — ec...
New
josevalim
Yes, yet another parser combinator library! Most of the parser combinators in the ecosystem are either compile-time, often using AST tra...
159 18262 141
New
ahamez
Hi everyone, I’ve been working on this protobuf library for 3 years. We use it in the company I work for, EasyMile, to communicate with ...
New
Crowdhailer
Experimenting with this code. OK.try do user <- fetch_user(1) cart <- fetch_cart(1) order = checkout(cart, user) save_or...
New

Other popular topics Top

yurko
Here are few pieces of (common) Linux knowledge that we use for reasonably small one server apps. We use Ubuntu but this should work for ...
New
Tee
can someone please explain to me how Enum.reduce works with maps
New
chrismccord
This release brings a number of exciting features, including integration with the new Phoenix LiveDashboard and Phoenix LiveView. There h...
New
script
If I have a string “1000 cfu/ml” . I want to remove the characters and / and space . So the string is like this "1000" What is the ...
New
vac
Hi, I'm quite new in Elixir and I'm trying to format a string to a PEM format. I have the certificate value like MIIDBTCCAe2...... and ...
New
freewebwithme
Using vs code and installed ElixirLS: support and debugger. And I got an error popped up on start up says Failed to run ‘elixir’ comma...
New
chensan
I have a User schema with a :from_id field set to type :string: defmodule TweetBot.Repo.Migrations.CreateUsers do use Ecto.Migration ...
New
msaraiva
Surface is an experimental library built on top of Phoenix LiveView and its new LiveComponent API that aims to provide a more declarative...
564 42633 214
New
ovidiubadita
Hey all, I discovered Elixir and I love it. I always wanted to learn a functional programming and I intended to go for Haskell, but afte...
New
baxterw3b
Hi guys, i’m new in the Elixir world, and i have to say, that i love it! i’m having some problem to understand anonymous functions with ...
New

Sub Categories:

We're in Beta

About us Mission Statement