|
37209
|
My own site! by @Zuha | Stardance
|
Zuha
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @Zuha | Stardance
|
1793278485.4558022
|
1793883285.4558022
|
|
37698
|
spm truning monitoring by @voided | Stardance
|
voided
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: spm truning monitoring by @voided | Stardan Title: spm truning monitoring by @voided | Stardance...
|
1793278484.5529897
|
1793883284.5529897
|
|
14471
|
My first slack bot! by @finj906 | Stardance
|
finj906
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @finj906 | Stardance
|
1793278481.959134
|
1793883281.959134
|
|
8621
|
Untitled project by @lekhrajsingh3251 | Stardance
|
lekhrajsingh3251
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @lekhrajsingh3251 | Sta Title: Untitled project by @lekhrajsingh3251 | Stardance...
|
1793278478.3082619
|
1793883278.3082619
|
|
2927
|
My first slack bot! by @kavinaravind25 | Stardance
|
kavinaravind25
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @kavinaravind25 | St Title: My first slack bot! by @kavinaravind25 | Stardance...
|
1793278477.3916316
|
1793883277.3916316
|
|
12083
|
My awesome macropad! by @noor_builds | Stardance
|
noor_builds
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @noor_builds | Star Title: My awesome macropad! by @noor_builds | Stardance...
|
1793278476.4972062
|
1793883276.4972062
|
|
727
|
NEO Tracker by @Andrew | Stardance
|
Andrew
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: NEO Tracker by @Andrew | Stardance
|
1793278474.6688316
|
1793883274.6688316
|
|
6411
|
d by @riverdalecoder | Stardance
|
riverdalecoder
|
0
|
2.59
|
0
|
[]
|
[{"post_id": 6302, "ts": "2026 [{"post_id": 6302, "ts": "2026-06-10T16:33:41Z", "hours": 0.7028, "text": "scoreboard, teams, more rust…"}, {"post_id": 5708, "ts": "2026-06-09T16:32:57Z", "hours": 0.3594, "text": "I FINALLY FINISHED THE STUPID JWT LIBRARY"}, {"post_id": 5692, "ts": "2026-06-09T16:06:27Z", "hours": 0.3778, "text": "model/backend work; also planning on adding ctftime oauth integration for more fluidity based on problems I have personally seen in past ctfs"}, {"post_id": 5681, "ts": "2026-06-09T15:42:20Z", "hours": 0.5319, "text": "working on some db stuff, hopefully i’ll get it to build soon!"}, {"post_id": 1665, "ts": "2026-06-03T20:04:42Z", "hours": 0.6133, "text": "learning basic rust, implementing some basic wrappers I’m hoping to implement a custom JWT library soon!"}]...
|
Title: d by @riverdalecoder | Stardance
Devlogs:
Title: d by @riverdalecoder | Stardance
Devlogs:
learning basic rust, implementing some basic wrappers I’m hoping to implement a custom JWT library soon!
working on some db stuff, hopefully i’ll get it to build soon!
model/backend work; also planning on adding ctftime oauth integration for more fluidity based on problems I have personally seen in past ctfs
I FINALLY FINISHED THE STUPID JWT LIBRARY
scoreboard, teams, more rust…...
|
1793278473.7444277
|
1793883273.7444277
|
|
15948
|
Frictionless by @Jad_Safi | Stardance
|
Jad_Safi
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @Jad_Safi | Stardance
|
1793278472.7763808
|
1793883272.7763808
|
|
17936
|
Dirtree DB by @janekmusin | Stardance
|
janekmusin
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Dirtree DB by @janekmusin | Stardance
|
1793278470.7156098
|
1793883270.7156098
|
|
4829
|
folk + poke around by @undivisible | Stardance
|
undivisible
|
0
|
20.26
|
0
|
[]
|
[{"post_id": 12340, "ts": "202 [{"post_id": 12340, "ts": "2026-06-20T03:58:30Z", "hours": 1.9117, "text": "here it is doing agentic actions on my windows computer clicking and typing https://x.com/i/status/2063982490252185664"}, {"post_id": 4867, "ts": "2026-06-08T12:37:03Z", "hours": 2.6747, "text": "native windows computer use"}, {"post_id": 4221, "ts": "2026-06-07T13:34:44Z", "hours": 15.6728, "text": "poke can use my computer coming to windows soon"}]...
|
Title: folk + poke around by @undivisible | Starda Title: folk + poke around by @undivisible | Stardance
Devlogs:
poke can use my computer coming to windows soon
native windows computer use
here it is doing agentic actions on my windows computer clicking and typing https://x.com/i/status/2063982490252185664...
|
1793278469.7948394
|
1793883269.7948394
|
|
4019
|
My awesome macropad! by @ys7 | Stardance
|
ys7
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @ys7 | Stardance
|
1793278468.872219
|
1793883268.872219
|
|
15792
|
My awesome macropad! by @nayeema | Stardance
|
nayeema
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @nayeema | Stardanc Title: My awesome macropad! by @nayeema | Stardance...
|
1793278466.930958
|
1793883266.930958
|
|
33874
|
Untitled project by @Syfix | Stardance
|
Syfix
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @Syfix | Stardance
|
1793278466.016058
|
1793883266.016058
|
|
26288
|
AudioDeck by @ali_salaar_qureshi | Stardance
|
ali_salaar_qureshi
|
0
|
5.54
|
0
|
[]
|
[{"post_id": 22055, "ts": "202 [{"post_id": 22055, "ts": "2026-07-04T09:36:55Z", "hours": 5.5369, "text": "Ui design. ESP32 integration"}]...
|
Title: AudioDeck by @ali_salaar_qureshi | Stardanc Title: AudioDeck by @ali_salaar_qureshi | Stardance
Devlogs:
Ui design. ESP32 integration...
|
1793278463.5221124
|
1793883263.5221124
|
|
34113
|
Website by @mesa | Stardance
|
mesa
|
0
|
1.28
|
0
|
[]
|
[{"post_id": 34243, "ts": "202 [{"post_id": 34243, "ts": "2026-07-24T19:34:27Z", "hours": 1.2781, "text": "Learning about html and css :)! today i learnt about classes and id’s alone with how to centre a div and changing the background of my website to make it a fun image"}]...
|
Title: Website by @mesa | Stardance
Devlogs:
Lear Title: Website by @mesa | Stardance
Devlogs:
Learning about html and css :)! today i learnt about classes and id’s alone with how to centre a div and changing the background of my website to make it a fun image...
|
1793278462.6425402
|
1793883262.6425402
|
|
37025
|
My own site! by @mahjabin | Stardance
|
mahjabin
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @mahjabin | Stardance
|
1793278461.7637422
|
1793883261.7637422
|
|
32113
|
My awesome macropad! by @kartik67 | Stardance
|
kartik67
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @kartik67 | Stardan Title: My awesome macropad! by @kartik67 | Stardance...
|
1793278459.444155
|
1793883259.444155
|
|
25148
|
My very own WebOS by @roets | Stardance
|
roets
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @roets | Stardance
|
1793278457.2914615
|
1793883257.2914615
|
|
7705
|
My awesome macropad! by @preethamml418 | Stardance
|
preethamml418
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @preethamml418 | St Title: My awesome macropad! by @preethamml418 | Stardance...
|
1793278456.397248
|
1793883256.397248
|
|
366
|
My first slack bot! by @Felicity | Stardance
|
Felicity
|
0
|
1.67
|
0
|
[]
|
[{"post_id": 14380, "ts": "202 [{"post_id": 14380, "ts": "2026-06-23T14:22:41Z", "hours": 1.6739, "text": "I’m working on the website!"}]...
|
Title: My first slack bot! by @Felicity | Stardanc Title: My first slack bot! by @Felicity | Stardance
Devlogs:
I’m working on the website!...
|
1793278455.4330254
|
1793883255.4330254
|
|
36512
|
Untitled by @aashi | Stardance
|
aashi
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @aashi | Stardance
|
1793278453.337147
|
1793883253.337147
|
|
70802
|
My first slack bot! by @kunalshah1718 | Stardance
|
kunalshah1718
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @kunalshah1718 | Sta Title: My first slack bot! by @kunalshah1718 | Stardance...
|
1793278451.1265357
|
1793883251.1265357
|
|
70801
|
godmode by @manvith | Stardance
|
manvith
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: godmode by @manvith | Stardance
|
1793278450.2484376
|
1793883250.2484376
|
|
70800
|
My own site! by @manvith | Stardance
|
manvith
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @manvith | Stardance
|
1793278449.3251364
|
1793883249.3251364
|
|
70799
|
My own Portfolio by @matheusbaumhardt654 | Stardan My own Portfolio by @matheusbaumhardt654 | Stardance...
|
matheusbaumhardt654
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own Portfolio by @matheusbaumhardt654 | Title: My own Portfolio by @matheusbaumhardt654 | Stardance...
|
1793278448.386933
|
1793883248.386933
|
|
70798
|
My own site! by @jbharatkishore | Stardance
|
jbharatkishore
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @jbharatkishore | Stardance
|
1793278444.4328744
|
1793883244.4328744
|
|
70797
|
My own site! by @953625104065 | Stardance
|
953625104065
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @953625104065 | Stardance
|
1793278442.3602366
|
1793883242.3602366
|
|
70796
|
Kiwi by @Kiwibrid | Stardance
|
Kiwibrid
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Kiwi by @Kiwibrid | Stardance
|
1793278436.3429296
|
1793883236.3429296
|
|
70795
|
Line follower by @salihassan | Stardance
|
salihassan
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Line follower by @salihassan | Stardance
|
1793278435.451163
|
1793883235.451163
|
|
70794
|
Untitled project by @salihassan | Stardance
|
salihassan
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @salihassan | Stardance
|
1793278434.5456986
|
1793883234.5456986
|
|
70793
|
My own site! by @manashkumar2308 | Stardance
|
manashkumar2308
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @manashkumar2308 | Stardanc Title: My own site! by @manashkumar2308 | Stardance...
|
1793278432.3976743
|
1793883232.3976743
|
|
70791
|
COSMO AI by @jishnunilghosh | Stardance
|
jishnunilghosh
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: COSMO AI by @jishnunilghosh | Stardance
|
1793278429.3566773
|
1793883229.3566773
|
|
10073
|
2a-kernel by @zrl | Stardance
|
zrl
|
0
|
1.8
|
0
|
[]
|
[{"post_id": 4496, "ts": "2026 [{"post_id": 4496, "ts": "2026-06-07T20:33:33Z", "hours": 1.8036, "text": "2a-kernel devlog 1 One day, I do plan on completing this project, however that day is not today I hate android i hate android i hate android kernels i hate kernels This project is a fork of NP2_Kernel by MiguVT. NP2 Kernel is a “toolchain” to compile any android kernel and apply several patches to it such as ReSukiSU (kernelsu) or susfs4ksu . originally, i wanted to have a custom build of my kernel for the express purpose of hiding root to be able to use Revolut. However, I soon realised that Nothing couldn’t give less of a shit in regards to the Phone (2a) in specific. It seems like every other kernel that they’ve open sourced contains some sort of vendor specific patches but not the 2a kernel! If you try and build it, it straight up just won’t build. Me and my friends (that are smarter than me) have tried basically everything to get the kernel to compile. Including waiting >45mins every time we would build for LTO (link time optimizations) to finish on vmlinux.o (which also took up >30GB of ram/swap space). The best part is, the errors would only happen AFTER LTO and if you tried to disable LTO you would get a totally different set of errors! How wonderful. After trying basically everything i decided to give up and just patch my boot image instead, follow a random guide from XDA and now I suddenly have strong integrity again! Hooray! I guess there was no need for a custom kernel in the first place… (btw, the 1.8 hours that i logged do not include compile times. If they would, it would probably be more like 10 hours :3)"}]...
|
Title: 2a-kernel by @zrl | Stardance
Devlogs:
2a- Title: 2a-kernel by @zrl | Stardance
Devlogs:
2a-kernel devlog 1 One day, I do plan on completing this project, however that day is not today I hate android i hate android i hate android kernels i hate kernels This project is a fork of NP2_Kernel by MiguVT. NP2 Kernel is a “toolchain” to compile any android kernel and apply several patches to it such as ReSukiSU (kernelsu) or susfs4ksu . originally, i wanted to have a custom build of my kernel for the express purpose of hiding root to be able to use Revolut. However, I soon realised that Nothing couldn’t give less of a shit in regards to the Phone (2a) in specific. It seems like every other kernel that they’ve open sourced contains some sort of vendor specific patches but not the 2a kernel! If you try and build it, it straight up just won’t build. Me and my friends (that are smarter than me) have tried basically everything to get the kernel to compile. Including waiting >45mins every time we would build for LTO (link time optimizations) to finish on vmlinux.o (which also took up >30GB of ram/swap space). The best part is, the errors would only happen AFTER LTO and if you tried to disable LTO you would get a totally different set of errors! How wonderful. After trying basically everything i decided to give up and just patch my boot image instead, follow a random guide from XDA and now I suddenly have strong integrity again! Hooray! I guess there was no need for a custom kernel in the first place… (btw, the 1.8 hours that i logged do not include compile times. If they would, it would probably be more like 10 hours :3)...
|
1793278400.5045278
|
1793883200.5045278
|
|
14239
|
My awesome macropad! by @iearth252 | Stardance
|
iearth252
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @iearth252 | Starda Title: My awesome macropad! by @iearth252 | Stardance...
|
1793278399.5909688
|
1793883199.5909688
|
|
23913
|
VarioBot by @amronos | Stardance
|
amronos
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: VarioBot by @amronos | Stardance
|
1793278397.694804
|
1793883197.694804
|
|
11541
|
Untitled project by @oshadhashiro | Stardance
|
oshadhashiro
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @oshadhashiro | Stardan Title: Untitled project by @oshadhashiro | Stardance...
|
1793278395.537949
|
1793883195.537949
|
|
8470
|
MultiCrono by @AfonsoPCP | Stardance
|
AfonsoPCP
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: MultiCrono by @AfonsoPCP | Stardance
|
1793278393.6719222
|
1793883193.6719222
|
|
2401
|
FRC Style Robotic Arm by @Mattsalt | Stardance
|
Mattsalt
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: FRC Style Robotic Arm by @Mattsalt | Starda Title: FRC Style Robotic Arm by @Mattsalt | Stardance...
|
1793278392.7898126
|
1793883192.7898126
|
|
28907
|
My awesome macropad! by @nightlyshelf | Stardance
|
nightlyshelf
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @nightlyshelf | Sta Title: My awesome macropad! by @nightlyshelf | Stardance...
|
1793278391.8483922
|
1793883191.8483922
|
|
9155
|
My first slack bot! by @rachitsharma | Stardance
|
rachitsharma
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @rachitsharma | Star Title: My first slack bot! by @rachitsharma | Stardance...
|
1793278390.9401124
|
1793883190.9401124
|
|
35
|
Untitled project by @Kyle | Stardance
|
Kyle
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @Kyle | Stardance
|
1793278388.7588596
|
1793883188.7588596
|
|
13006
|
Toluene by @smatt | Stardance
|
smatt
|
0
|
44.88
|
0
|
[]
|
[{"post_id": 39800, "ts": "202 [{"post_id": 39800, "ts": "2026-08-03T00:58:30Z", "hours": 6.395, "text": "my safe pointer let me down ;-; turns out i cant use the WindowSafe class so easily. the destructor gets called when an instance needs to be relocated in a vector… now i’m using shared_ptr s again, because i found where the object slicing was happening before! besides troubles with that, i made many writing functions, like hline , or box , or fill . i can also move around with move ! the mainwin has its own instance so i have to handle less edge cases. i also changed names so they are consistent. before i handled echoing and console input with curses.h functions, so i added mine for Tui . there are a bunch more details, but i don’t wanna yap, because they’re not important. what’s important is that i think these functions work, but not in this screenshot!"}, {"post_id": 36765, "ts": "2026-07-29T01:06:33Z", "hours": 2.7853, "text": "drawing and safety? i’ve made drawing functions so tui windows draw in order and properly get their draw() member called! i’ve also put window pointers inside a class which makes sure to delete the pointer AND SET IT TO nullptr when the class is destructed. as a cherry on top InputEvent s have a new bool valid (by default 0) so i know if an input is empty because of an error, or actually means something. i hope it will serve its purpose for now! i also had this neat little bug. ncurses may or may not have encountered an error, but i’m not sure ’cuz of the TESTING!!!!’s…"}, {"post_id": 34405, "ts": "2026-07-25T02:48:52Z", "hours": 3.1603, "text": "rendering and… GDB. today i implemented rendering for tui, tried cleaning up code and documentation, and had trouble with using shared_ptr s to store window references. no lifetime guarantee anymore… i replaced them with regular pointers instead, and ill just give them to the tui, which will also delete them. good for temporary popups and constant visuals! copies or instances within the tui aren’t so robust… i gotta admit though. figuring out shared_ptr s slice classes took me way. too. LONG. in the image below you can see an accurate depiction of how i felt doing that! … in more detail though, i intend the tui to store pointers which point to dynamically allocated windows made with new . however, the pointers will be inside a class, and though the class allows full access to the pointer, the destructor makes sure to delete the store pointer. dynamically allocated windows are good because temporary, unimportant windows (like popups, or a dropdown) can be created locally and just added to the tui, they don’t have to be kept in members or vectors, and they’ll stay alive!! yippers! but if you want a pointer in a member or vector, thats no problem! this is much easier than hacky solutions with shared_ptr s, or instances, let alone copies in the tui… all of that though, just to allow classes which inherit Toluene::Window to override base functions. i think it will be okay, though! woah, uh, this is a bit of a long devlog. it… may be because i’m really unsure whether this “ creative ” solution will work… and cuz i’m angry. and tired"}, {"post_id": 33804, "ts": "2026-07-24T01:05:52Z", "hours": 2.5347, "text": "got windows (as in text boxes) for the tui working. should’ve been like 20 more lines in a couple of minutes, ended up falling into endless debugging hell. call stack did not help one bit. nor did the decompiled library and assembly code. pro tip: always use make_shared() to make shared_ptrs."}, {"post_id": 32668, "ts": "2026-07-21T23:40:48Z", "hours": 3.7739, "text": "so… i have been feeling really demotivated for a long time now, and so i did very little work. mainly because it turns out planning out software is really damn hard, and structuring, and everything is really hard to wrap my head around it. i also have some more personal stuff, like loneliness, to deal with, but that’s not important what IS important is that i know how ill make tui work, and i’ve done a bit of cleaning up, making core stuff, and added more features. they’re minor though i have very little to show, so ill just show a bit of code"}, {"post_id": 15361, "ts": "2026-06-24T23:40:47Z", "hours": 2.9361, "text": "started work on making the text user interface do something. ncurses is a pain to work with, but i managed to get wide characters working too! also, i learnt you can put parameter names in header files… so imma do that now. in the screenshot below you can see unicode working!… and the code is beautiful ."}, {"post_id": 14475, "ts": "2026-06-23T16:36:55Z", "hours": 3.8183, "text": "i spent time in Slovenia, visiting stuff like Vintgar gorge and Planica zipline. boohoo, could’ve used that time for toluene 😒 ok to be fair vintgar is beautiful in retrospect luckily i had my laptop! i cleaned up a lot of code, mostly relating to the audio backend, and now im starting with the tui… and im struggling really hard (just look at the time). … but it’s fine! ill probably handle it…"}, {"post_id": 12233, "ts": "2026-06-19T23:34:56Z", "hours": 1.4408, "text": "SOUND! this program officially makes sound! after looking at raw disassembles, library code and trying out random c++ nonsense, it’s worth it! my audio streams work (although very barebones), and i quickly made a funny sound with interaction :D"}, {"post_id": 12132, "ts": "2026-06-19T20:31:26Z", "hours": 1.5475, "text": "??? i have been trying to get the audio streams to start, but i get some really weird runtime exceptions, or aborts, or something? im trying to debug the issues, but..?"}, {"post_id": 11655, "ts": "2026-06-19T00:10:58Z", "hours": 3.9061, "text": "did a lot of work! a lot of annoying work . its 2:10am . two git commits, for things like making casts, and opening/closing audio stream stuff. i also fixed a function to get audio devices, which was a pain. i can (maybe) successfully open an audio stream with my wrapper!- but it doesn’t make sound yet, gotta add that. my code for everything is a mess, and it’s getting worse, but i’ll get to it one day! before that, here’s a demonstration of some kinda (albeit empty) audio stream coming into existence:"}, {"post_id": 10635, "ts": "2026-06-17T14:22:10Z", "hours": 3.1517, "text": "i am COMPLETELY rethinking my knowledge of c++. i thought i had an idea of what references, or pointers were, and how i should use them, but ive been struggling and procrastinating the last few days because of how confused i am. this is just PAIN! ive done close to NOTHING!"}, {"post_id": 8277, "ts": "2026-06-13T19:23:25Z", "hours": 4.1017, "text": "first tangible progress! modified the inner workings, but you can also now choose a wanted audio api and it will detect devices! making it wasn’t too smooth, seems my c++ knowledge is rustier than i thought… the linker didn’t like what i was doing, especially with constructors and destructors. nonetheless, here is an actual recording of something working :D"}, {"post_id": 7067, "ts": "2026-06-11T20:46:19Z", "hours": 5.3308, "text": "spent 3h tugging with cmake, trying to get it to cooperate, contemplated giving up on libraries altogether, and wanted to just give up on the idea of cross-platform as well. ncurses is a curse. wanted to get help, but too socially anxious to actually ask stuff, and the only time i sent anything i was ignored ;-; . writing the wrapper for a backend audio engine was annoying, i wanna work with RtAudio, but in case i ever wanna switch, i wanna make it easy for myself. unfortunately, that includes a lot of writing, and learning headers, which is something i didnt know i didnt know. i can work with this for now though. heres a successful build message with nice code above :D"}]...
|
Title: Toluene by @smatt | Stardance
Devlogs:
spe Title: Toluene by @smatt | Stardance
Devlogs:
spent 3h tugging with cmake, trying to get it to cooperate, contemplated giving up on libraries altogether, and wanted to just give up on the idea of cross-platform as well. ncurses is a curse. wanted to get help, but too socially anxious to actually ask stuff, and the only time i sent anything i was ignored ;-; . writing the wrapper for a backend audio engine was annoying, i wanna work with RtAudio, but in case i ever wanna switch, i wanna make it easy for myself. unfortunately, that includes a lot of writing, and learning headers, which is something i didnt know i didnt know. i can work with this for now though. heres a successful build message with nice code above :D
first tangible progress! modified the inner workings, but you can also now choose a wanted audio api and it will detect devices! making it wasn’t too smooth, seems my c++ knowledge is rustier than i thought… the linker didn’t like what i was doing, especially with constructors and destructors. nonetheless, here is an actual recording of something working :D
i am COMPLETELY rethinking my knowledge of c++. i thought i had an idea of what references, or pointers were, and how i should use them, but ive been struggling and procrastinating the last few days because of how confused i am. this is just PAIN! ive done close to NOTHING!
did a lot of work! a lot of annoying work . its 2:10am . two git commits, for things like making casts, and opening/closing audio stream stuff. i also fixed a function to get audio devices, which was a pain. i can (maybe) successfully open an audio stream with my wrapper!- but it doesn’t make sound yet, gotta add that. my code for everything is a mess, and it’s getting worse, but i’ll get to it one day! before that, here’s a demonstration of some kinda (albeit empty) audio stream coming into existence:
??? i have been trying to get the audio streams to start, but i get some really weird runtime exceptions, or aborts, or something? im trying to debug the issues, but..?
SOUND! this program officially makes sound! after looking at raw disassembles, library code and trying out random c++ nonsense, it’s worth it! my audio streams work (although very barebones), and i quickly made a funny sound with interaction :D
i spent time in Slovenia, visiting stuff like Vintgar gorge and Planica zipline. boohoo, could’ve used that time for toluene 😒 ok to be fair vintgar is beautiful in retrospect luckily i had my laptop! i cleaned up a lot of code, mostly relating to the audio backend, and now im starting with the tui… and im struggling really hard (just look at the time). … but it’s fine! ill probably handle it…
started work on making the text user interface do something. ncurses is a pain to work with, but i managed to get wide characters working too! also, i learnt you can put parameter names in header files… so imma do that now. in the screenshot below you can see unicode working!… and the code is beautiful .
so… i have been feeling really demotivated for a long time now, and so i did very little work. mainly because it turns out planning out software is really damn hard, and structuring, and everything is really hard to wrap my head around it. i also have some more personal stuff, like loneliness, to deal with, but that’s not important what IS important is that i know how ill make tui work, and i’ve done a bit of cleaning up, making core stuff, and added more features. they’re minor though i have very little to show, so ill just show a bit of code
got windows (as in text boxes) for the tui working. should’ve been like 20 more lines in a couple of minutes, ended up falling into endless debugging hell. call stack did not help one bit. nor did the decompiled library and assembly code. pro tip: always use make_shared() to make shared_ptrs.
rendering and… GDB. today i implemented rendering for tui, tried cleaning up code and documentation, and had trouble with using shared_ptr s to store window references. no lifetime guarantee anymore… i replaced them with regular pointers instead, and ill just give them to the tui, which will also delete them. good for temporary popups and constant visuals! copies or instances within the tui aren’t so robust… i gotta admit though. figuring out shared_ptr s slice classes took me way. too. LONG. in the image below you can see an accurate depiction of how i felt doing that! … in more detail though, i intend the tui to store pointers which point to dynamically allocated windows made with new . however, the pointers will be inside a class, and though the class allows full access to the pointer, the destructor makes sure to delete the store pointer. dynamically allocated windows are good because temporary, unimportant windows (like popups, or a dropdown) can be created locally and just added to the tui, they don’t have to be kept in members or vectors, and they’ll stay alive!! yippers! but if you want a pointer in a member or vector, thats no problem! this is much easier than hacky solutions with shared_ptr s, or instances, let alone copies in the tui… all of that though, just to allow classes which inherit Toluene::Window to override base functions. i think it will be okay, though! woah, uh, this is a bit of a long devlog. it… may be because i’m really unsure whether this “ creative ” solution will work… and cuz i’m angry. and tired
drawing and safety? i’ve made drawing functions so tui windows draw in order and properly get their draw() member called! i’ve also put window pointers inside a class which makes sure to delete the pointer AND SET IT TO nullptr when the class is destructed. as a cherry on top InputEvent s have a new bool valid (by default 0) so i know if an input is empty because of an error, or actually means something. i hope it will serve its purpose for now! i also had this neat little bug. ncurses may or may not have encountered an error, but i’m not sure ’cuz of the TESTING!!!!’s…
my safe pointer let me down ;-; turns out i cant use the WindowSafe class so easily. the destructor gets called when an instance needs to be relocated in a vector… now i’m using shared_ptr s again, because i found where the object slicing was happening before! besides troubles with that, i made many writing functions, like hline , or box , or fill . i can also move around with move ! the mainwin has its own instance so i have to handle less edge cases. i also changed names so they are consistent. before i handled echoing and console input with curses.h functions, so i added mine for Tui . there are a bunch more details, but i don’t wanna yap, because they’re not important. what’s important is that i think these functions work, but not in this screenshot!...
|
1793278387.4259596
|
1793883187.4259596
|
|
10271
|
Untitled by @thanlan | Stardance
|
thanlan
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @thanlan | Stardance
|
1793278383.9431171
|
1793883183.9431171
|
|
8904
|
Untitled by @lando | Stardance
|
lando
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @lando | Stardance
|
1793278383.0458105
|
1793883183.0458105
|
|
27251
|
My awesome macropad! by @Kampfkiwi08 | Stardance
|
Kampfkiwi08
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Kampfkiwi08 | Star Title: My awesome macropad! by @Kampfkiwi08 | Stardance...
|
1793278381.241567
|
1793883181.241567
|
|
29145
|
Codeliver by @tonymac129 | Stardance
|
tonymac129
|
0
|
33.29
|
0
|
[]
|
[{"post_id": 84107, "ts": "202 [{"post_id": 84107, "ts": "2026-10-29T03:59:04Z", "hours": 3.7086, "text": "Direct messages! Another massive devlog with a ton of updates and changes! I really need to lock in on this project if I want to be able to finish it and ship before Stardance ends You can now create DMs on Codeliver to directly message other users! I added a browse user modal where you can search for a user by their name and email, and clicking on the message option creates a new DM A DM is basically identical to a channel, (so it was surprisingly easy to implement) except it’s private to only the two of you and no one else can join or see your messages You can view DMs on the left chat sidebar below your channels, as well as on the new DM homepage that lists all your recent DMs and message previews, as well as a search bar and a add DM button to make browsing and managing your DMs easier You can also leave and rejoin DMs whenever, similar to channels, and DMs show up a little differently since they’re named after the other user and don’t need as much customization/settings as normal channels Since I added a DM homepage listing all the DMs, I also created a channel homepage that displays all the channels you’ve joined, as well as a search bar and a join channel button to make viewing all your different messages a lot more convenient Updated some content and layout styling on the landing homepage preview Updated types, schema, and styling Removed some originally planned pages like notifications and settings because I procrastinated so much and can’t implement them in 3 days"}, {"post_id": 82514, "ts": "2026-10-25T03:02:46Z", "hours": 4.5256, "text": "Codeliver is back!!! Stardance is ending in 7 days , and I’ve been coming back to finish some of my abandoned temporarily paused projects from a few months ago, and now it’s time for me to finally complete and ship my final project on Stardance: Codeliver!!! I already logged a few hours before moving on from Codeliver to another project and abandoning it for like 3 months, but I can’t remember exactly what I did so this devlog will only cover the 2 hours I logged recently In this update, I dockerized the entire application into a docker compose of 2 containers, express.js backend and Next.js frontend, and configured the environment variables, ports, and build and setup instructions to make the fullstack app a lot easier to deploy or self host in case anyone wants to run their own instance of Codeliver Added complete support for light mode for the entire platform, which is basically my method of refamiliarizing myself with an abandoned code base after a long time since this basically means going through the entire app again to modify every file and component’s styling/Tailwind classes Added message replies, where you can hover over a message and click on the reply button, and if a message is replying to another message it’ll show a thread linking back and highlighting the original message when clicked (similar to Discord’s reply) Fixed some display issues and permission bugs Hopefully I can quickly finish Codeliver (there are still a TON of stuff to be done before it’s functional and shippable ) and ship it in time, or maybe even have time to ship another project(?), especially since I’m also doing right now and am super busy with school…"}, {"post_id": 30408, "ts": "2026-07-17T22:20:58Z", "hours": 2.6406, "text": "More channel & user management features I’ve been pretty busy this past week and haven’t been able to spend a lot of time on Codeliver or Stardance in general until now. Hopefully I’ll have more time the rest of the summer do get more hours and actually finish my projects In this update, I added channel settings, some channel ownership and user management features for each channel, as well as the ability to delete channels When you click on the new channel settings icon in a channel (that only shows if you’re the owner), a settings modal pops up, currently only with 2 options, transfer ownership and delete channel When you click on transfer ownership, another modal pops up where you can search for a user already added to the channel, select them, and transfer channel ownership after confirmation If you try to leave a channel when you’re its owner, Codeliver prompts you to transfer the ownership to someone else first to avoid orphaned relations in the database When you press on delete channel, a confirmation modal pops up and the channel and all its data will be deleted after confirmation When you click on browse users, your permissions are also displayed and you are able to see who the owner is Updated styling and navigation Updated API endpoints Updated README"}, {"post_id": 26375, "ts": "2026-07-11T03:56:50Z", "hours": 5.0928, "text": "Channel and user management I forgot to make a devlog for 2 days straight and I got a ton of stuff accomplished, so this devlog is gonna be a pretty long one with a ton of changes that make Codeliver one step closer to being a significantly inferior Slack clone! You can now add users to a channel (doesn’t matter if you’re an owner or a member), but only the owner can remove people. There are probably still some permission edge cases I need to test and fix, but for now it works pretty well When you click on the add member icon, a modal pops up where you can search for all Codeliver users, grouped into added users and people not in the channel, so you can search for them and manage them easily Added an API endpoint for the user lookup with channel integration to improve frontend data fetching and backend performance When you click on the edit channel icon a modal pops up, where you can edit its name (must be unique), description, and visibility (more channel settings coming soon) When you click on the leave channel button, a warning modal pops up for you to confirm the change When you click on browse channels from the channel management menu, a modal pops up (this entire update is about modals) where you can search for all the channels on Codeliver to view, join, or leave Added an API endpoint for channel lookup, with respect to user and channel permissions, to make the searching process easier When you visit a public channel that you haven’t joined, it shows a join message section instead of the message field similar to slack When you visit a private or nonexistent channel, it just redirects you to the chat homepage Your sidebar now actually shows the channels you’ve joined, and shows the browse channels button if you don’t have any Every backend or data state change is revalidated and updated in realtime to ensure smooth and responsive UX Updated database/backend schema and types Updated styling and navigation Fixed deployment issues (the demo site still doesn’t work yet because the Express backend is a mess and hasn’t been set up)"}, {"post_id": 25680, "ts": "2026-07-10T03:07:25Z", "hours": 1.4703, "text": "Optimized chatting rooms Optimized the Socket.io broadcast events and listeners a lot by using the library’s rooms feature so users viewing different channels will listen to different events Every time you click and view a new channel, you automatically “leave” the original channel room so you no longer receive messages from it (because you’re not viewing the channel despite still being in the channel). You also “join” the new channel and receive its messages because you’re viewing it This took a frustratingly long time to implement and debug because I have to track the currently viewed channel on the frontend and communicate with the backend reliably Added backend revalidation to make the UX of creating new channels smoother The channel you’re currently viewing is now highlighted on the left sidebar of the chat layout Updated types Updated navigation Updated styling Because this is mostly a refactor with minimal feature changes, I’ll just put a screenshot of chatting in a channel"}, {"post_id": 25119, "ts": "2026-07-09T03:48:37Z", "hours": 1.9919, "text": "Create your own channels This took a surprisingly long time to implement (Tailwind and Framer Motion are really annoying), but I finally made a channel creation feature where you can create your own chat channels on Codeliver When you hover over the Channels category on the left chat sidebar, you’ll see a menu button option that appears, and when you click on it, it opens a channel management menu You can choose to either create a channel, browse/search for available channels to join (not implemented yet), or click away to close the menu If you choose create a channel, a modal will pop up where you can put its name (must be unique and made of lowercase characters and dashes), description, and set its visibility with the cool toggle If you create the new channel successfully, you’ll be automatically redirected to it where you can start chatting in it! The browse channels options currently just shows an empty modal with a search bar that doesn’t do anything yet Updated schema and types for channels and messages Updated styling and navigation"}, {"post_id": 24516, "ts": "2026-07-08T03:39:17Z", "hours": 2.9478, "text": "Realtime Socket.io + Express backend Finally added a backend to Codeliver! I’m using the WebSocket node library Socket.io to handle realtime events and messaging, so I had to set up an Express server to handle the different requests and events The backend also has to access the auth user data and the shared Prisma Postgres database, so it took me a while to make both the Next.js frontend and Express backend to be able to read and write to it properly (since they are technically their own repos) Also implemented Socket.io client to the Next.js frontend so whenever you send a message it either creates a new Chat object and sends the message or finds an existing one and adds a new message Added Prisma schema and frontend types for chats, messages, and reactions Added persistent message storing for each chat channel and removed the placeholder messages Figured out how to send a Better Auth JWT token from the frontend and verify the session on the backend to authorize messaging features I had to deal with a lot of annoying CORS, environment variable, and auth stuff, so that was not fun but the result was worth it"}, {"post_id": 23541, "ts": "2026-07-06T15:51:38Z", "hours": 2.3739, "text": "Frontend messaging UI Added the chat messages frontend UI that looks like a combination of Slack and Discord with buttons and components for features like replying, reacting, and other chat stuff. Because the realtime Socket.io backend isn’t implemented yet, these are just placeholder elements for now and are not functional For each message, you can see the sender’s profile picture, name, localized and human readable timestamp, message, reactions and their counts, and a bar displaying message options that shows up when you hover over the message Added date separators/horizontal rules to separate chat messages from different dates, improving readability and ease of use Added temporary placeholder data to simulate chat messages When you press on reply, a bar now appears above the message input field that shows you’re replying to someone’s message with its preview. You can also cancel the reply by closing the bar Updated UI behavior of the emoji selection menu to ensure it works for all screen sizes Updated styling and UI Updated schema and types Fixed deployment issues with npm"}, {"post_id": 21921, "ts": "2026-07-04T03:22:57Z", "hours": 1.6478, "text": "Custom status, new tabs, and SEO Added an emoji picker (using the library Emoji Mart) next to the custom status input field on the edit profile page where you can choose an emoji for your status as well as a status text (both are optional) Below the emoji picker and status input field, there are a few preset combinations of emojis and statuses for common situations, making setting a custom status a lot easier. There is also an option to clear your status Added a few new tabs in the user route group that are all just empty placeholders for now Added actual SEO and Open Graph metadata information for all pages on Codeliver Added a placeholder favicon for the site Added input validation for profile customization Updated navigation and auth flow Updated schema and types Updated style Fixed a dependency deployment issue with npm"}, {"post_id": 21597, "ts": "2026-07-03T17:08:25Z", "hours": 3.3653, "text": "Chat layout & profile Made a placeholder layout for chat pages (for both channels and direct messages) with a left sidebar listing all the channels you’re in and all your direct messages (all the items are just placeholders for now), similar to Slack and Discord’s layouts Added a message textarea/input field on the main chat area with options for formatting the text, inserting code and emoji, and uploading files. A “send” button also shows up when you type a message. None of these buttons work yet, I only made the layout Added a profile customization page where you can customize your profile information (everything except for changing your profile picture works) that shares a layout with the other tabs When you’re logged in and click on your user icon on the nav bar, an animated menu shows up where you can go to profile, settings, switch light/dark mode, or sign out, but only profile and sign out work Added actual auth flow for both email/password and OAuth providers so you get signed in and redirected to chat automatically Set up Google and GitHub’s OAuth tokens and stuff Added backend server actions for auth and customization Updated schema and types Updated styling"}, {"post_id": 20994, "ts": "2026-07-02T18:52:59Z", "hours": 2.2197, "text": "Landing page & auth Added a landing page for non logged in users to learn more about the app The hero section has a title, description, and two call to action buttons for logging in and reading more information There are also a few sections on the landing page that just display placeholder images and text for now since the app doesn’t actually exist yet Added an animated faq component at the bottom that’s a collapsible accordion Added a login page with a form where you can either sign up, sign in with email/password, or sign in with OAuth providers (Google and GitHub coming soon) Added a navigation bar on the landing page"}, {"post_id": 19705, "ts": "2026-07-01T03:10:21Z", "hours": 1.3089, "text": "Codeliver: realtime code sharing chat app While working on my previous project MemeBoard , I got a bit too addicted with the realtime chat part of the app and overengineered it way too much, so I decided to build an app focused on chatting and sharing code with other people This is also an excellent opportunity for me to learn more about WebSockets, Socket.io, Node, and Linux server configuration/management since I’m planning to host this app on a dedicated DigitalOcean VM instead of the serverless Vercel In this update, I set up the basic project structure with an empty backend directory and a frontend directory for the Next.js frontend, installed the necessary dependencies, and set up the Prisma database for auth"}]...
|
Title: Codeliver by @tonymac129 | Stardance
Devlo Title: Codeliver by @tonymac129 | Stardance
Devlogs:
Codeliver: realtime code sharing chat app While working on my previous project MemeBoard , I got a bit too addicted with the realtime chat part of the app and overengineered it way too much, so I decided to build an app focused on chatting and sharing code with other people This is also an excellent opportunity for me to learn more about WebSockets, Socket.io, Node, and Linux server configuration/management since I’m planning to host this app on a dedicated DigitalOcean VM instead of the serverless Vercel In this update, I set up the basic project structure with an empty backend directory and a frontend directory for the Next.js frontend, installed the necessary dependencies, and set up the Prisma database for auth
Landing page & auth Added a landing page for non logged in users to learn more about the app The hero section has a title, description, and two call to action buttons for logging in and reading more information There are also a few sections on the landing page that just display placeholder images and text for now since the app doesn’t actually exist yet Added an animated faq component at the bottom that’s a collapsible accordion Added a login page with a form where you can either sign up, sign in with email/password, or sign in with OAuth providers (Google and GitHub coming soon) Added a navigation bar on the landing page
Chat layout & profile Made a placeholder layout for chat pages (for both channels and direct messages) with a left sidebar listing all the channels you’re in and all your direct messages (all the items are just placeholders for now), similar to Slack and Discord’s layouts Added a message textarea/input field on the main chat area with options for formatting the text, inserting code and emoji, and uploading files. A “send” button also shows up when you type a message. None of these buttons work yet, I only made the layout Added a profile customization page where you can customize your profile information (everything except for changing your profile picture works) that shares a layout with the other tabs When you’re logged in and click on your user icon on the nav bar, an animated menu shows up where you can go to profile, settings, switch light/dark mode, or sign out, but only profile and sign out work Added actual auth flow for both email/password and OAuth providers so you get signed in and redirected to chat automatically Set up Google and GitHub’s OAuth tokens and stuff Added backend server actions for auth and customization Updated schema and types Updated styling
Custom status, new tabs, and SEO Added an emoji picker (using the library Emoji Mart) next to the custom status input field on the edit profile page where you can choose an emoji for your status as well as a status text (both are optional) Below the emoji picker and status input field, there are a few preset combinations of emojis and statuses for common situations, making setting a custom status a lot easier. There is also an option to clear your status Added a few new tabs in the user route group that are all just empty placeholders for now Added actual SEO and Open Graph metadata information for all pages on Codeliver Added a placeholder favicon for the site Added input validation for profile customization Updated navigation and auth flow Updated schema and types Updated style Fixed a dependency deployment issue with npm
Frontend messaging UI Added the chat messages frontend UI that looks like a combination of Slack and Discord with buttons and components for features like replying, reacting, and other chat stuff. Because the realtime Socket.io backend isn’t implemented yet, these are just placeholder elements for now and are not functional For each message, you can see the sender’s profile picture, name, localized and human readable timestamp, message, reactions and their counts, and a bar displaying message options that shows up when you hover over the message Added date separators/horizontal rules to separate chat messages from different dates, improving readability and ease of use Added temporary placeholder data to simulate chat messages When you press on reply, a bar now appears above the message input field that shows you’re replying to someone’s message with its preview. You can also cancel the reply by closing the bar Updated UI behavior of the emoji selection menu to ensure it works for all screen sizes Updated styling and UI Updated schema and types Fixed deployment issues with npm
Realtime Socket.io + Express backend Finally added a backend to Codeliver! I’m using the WebSocket node library Socket.io to handle realtime events and messaging, so I had to set up an Express server to handle the different requests and events The backend also has to access the auth user data and the shared Prisma Postgres database, so it took me a while to make both the Next.js frontend and Express backend to be able to read and write to it properly (since they are technically their own repos) Also implemented Socket.io client to the Next.js frontend so whenever you send a message it either creates a new Chat object and sends the message or finds an existing one and adds a new message Added Prisma schema and frontend types for chats, messages, and reactions Added persistent message storing for each chat channel and removed the placeholder messages Figured out how to send a Better Auth JWT token from the frontend and verify the session on the backend to authorize messaging features I had to deal with a lot of annoying CORS, environment variable, and auth stuff, so that was not fun but the result was worth it
Create your own channels This took a surprisingly long time to implement (Tailwind and Framer Motion are really annoying), but I finally made a channel creation feature where you can create your own chat channels on Codeliver When you hover over the Channels category on the left chat sidebar, you’ll see a menu button option that appears, and when you click on it, it opens a channel management menu You can choose to either create a channel, browse/search for available channels to join (not implemented yet), or click away to close the menu If you choose create a channel, a modal will pop up where you can put its name (must be unique and made of lowercase characters and dashes), description, and set its visibility with the cool toggle If you create the new channel successfully, you’ll be automatically redirected to it where you can start chatting in it! The browse channels options currently just shows an empty modal with a search bar that doesn’t do anything yet Updated schema and types for channels and messages Updated styling and navigation
Optimized chatting rooms Optimized the Socket.io broadcast events and listeners a lot by using the library’s rooms feature so users viewing different channels will listen to different events Every time you click and view a new channel, you automatically “leave” the original channel room so you no longer receive messages from it (because you’re not viewing the channel despite still being in the channel). You also “join” the new channel and receive its messages because you’re viewing it This took a frustratingly long time to implement and debug because I have to track the currently viewed channel on the frontend and communicate with the backend reliably Added backend revalidation to make the UX of creating new channels smoother The channel you’re currently viewing is now highlighted on the left sidebar of the chat layout Updated types Updated navigation Updated styling Because this is mostly a refactor with minimal feature changes, I’ll just put a screenshot of chatting in a channel
Channel and user management I forgot to make a devlog for 2 days straight and I got a ton of stuff accomplished, so this devlog is gonna be a pretty long one with a ton of changes that make Codeliver one step closer to being a significantly inferior Slack clone! You can now add users to a channel (doesn’t matter if you’re an owner or a member), but only the owner can remove people. There are probably still some permission edge cases I need to test and fix, but for now it works pretty well When you click on the add member icon, a modal pops up where you can search for all Codeliver users, grouped into added users and people not in the channel, so you can search for them and manage them easily Added an API endpoint for the user lookup with channel integration to improve frontend data fetching and backend performance When you click on the edit channel icon a modal pops up, where you can edit its name (must be unique), description, and visibility (more channel settings coming soon) When you click on the leave channel button, a warning modal pops up for you to confirm the change When you click on browse channels from the channel management menu, a modal pops up (this entire update is about modals) where you can search for all the channels on Codeliver to view, join, or leave Added an API endpoint for channel lookup, with respect to user and channel permissions, to make the searching process easier When you visit a public channel that you haven’t joined, it shows a join message section instead of the message field similar to slack When you visit a private or nonexistent channel, it just redirects you to the chat homepage Your sidebar now actually shows the channels you’ve joined, and shows the browse channels button if you don’t have any Every backend or data state change is revalidated and updated in realtime to ensure smooth and responsive UX Updated database/backend schema and types Updated styling and navigation Fixed deployment issues (the demo site still doesn’t work yet because the Express backend is a mess and hasn’t been set up)
More channel & user management features I’ve been pretty busy this past week and haven’t been able to spend a lot of time on Codeliver or Stardance in general until now. Hopefully I’ll have more time the rest of the summer do get more hours and actually finish my projects In this update, I added channel settings, some channel ownership and user management features for each channel, as well as the ability to delete channels When you click on the new channel settings icon in a channel (that only shows if you’re the owner), a settings modal pops up, currently only with 2 options, transfer ownership and delete channel When you click on transfer ownership, another modal pops up where you can search for a user already added to the channel, select them, and transfer channel ownership after confirmation If you try to leave a channel when you’re its owner, Codeliver prompts you to transfer the ownership to someone else first to avoid orphaned relations in the database When you press on delete channel, a confirmation modal pops up and the channel and all its data will be deleted after confirmation When you click on browse users, your permissions are also displayed and you are able to see who the owner is Updated styling and navigation Updated API endpoints Updated README
Codeliver is back!!! Stardance is ending in 7 days , and I’ve been coming back to finish some of my abandoned temporarily paused projects from a few months ago, and now it’s time for me to finally complete and ship my final project on Stardance: Codeliver!!! I already logged a few hours before moving on from Codeliver to another project and abandoning it for like 3 months, but I can’t remember exactly what I did so this devlog will only cover the 2 hours I logged recently In this update, I dockerized the entire application into a docker compose of 2 containers, express.js backend and Next.js frontend, and configured the environment variables, ports, and build and setup instructions to make the fullstack app a lot easier to deploy or self host in case anyone wants to run their own instance of Codeliver Added complete support for light mode for the entire platform, which is basically my method of refamiliarizing myself with an abandoned code base after a long time since this basically means going through the entire app again to modify every file and component’s styling/Tailwind classes Added message replies, where you can hover over a message and click on the reply button, and if a message is replying to another message it’ll show a thread linking back and highlighting the original message when clicked (similar to Discord’s reply) Fixed some display issues and permission bugs Hopefully I can quickly finish Codeliver (there are still a TON of stuff to be done before it’s functional and shippable ) and ship it in time, or maybe even have time to ship another project(?), especially since I’m also doing right now and am super busy with school…
Direct messages! Another massive devlog with a ton of updates and changes! I really need to lock in on this project if I want to be able to finish it and ship before Stardance ends You can now create DMs on Codeliver to directly message other users! I added a browse user modal where you can search for a user by their name and email, and clicking on the message option creates a new DM A DM is basically identical to a channel, (so it was surprisingly easy to implement) except it’s private to only the two of you and no one else can join or see your messages You can view DMs on the left chat sidebar below your channels, as well as on the new DM homepage that lists all your recent DMs and message previews, as well as a search bar and a add DM button to make browsing and managing your DMs easier You can also leave and rejoin DMs whenever, similar to channels, and DMs show up a little differently since they’re named after the other user and don’t need as much customization/settings as normal channels Since I added a DM homepage listing all the DMs, I also created a channel homepage that displays all the channels you’ve joined, as well as a search bar and a join channel button to make viewing all your different messages a lot more convenient Updated some content and layout styling on the landing homepage preview Updated types, schema, and styling Removed some originally planned pages like notifications and settings because I procrastinated so much and can’t implement them in 3 days...
|
1793278379.9333014
|
1793883179.9333014
|
|
30726
|
Covered in gloves - Journaling but better by @Spin Covered in gloves - Journaling but better by @Spinzi | Stardance...
|
Spinzi
|
0
|
1.77
|
0
|
[]
|
[{"post_id": 23026, "ts": "202 [{"post_id": 23026, "ts": "2026-07-05T19:13:34Z", "hours": 1.7708, "text": "Today I worked on adding a new feature to the journal: tracking. It is used with the built in questions system, where everything in the journal is a question with an answer. Based on the processed value of true or false, it creates a graph.Why use this graph?You, as the user, create your own set of questions, and you can make them focus on self-improvement. Using this graph, you can see your good and bad days, understand why a day was successful or not, and use that information to improve yourself. More updates will improve this graph by adding more information, support for special question types (e.g., weight tracking), and links to go directly to a specific day."}]...
|
Title: Covered in gloves - Journaling but better b Title: Covered in gloves - Journaling but better by @Spinzi | Stardance
Devlogs:
Today I worked on adding a new feature to the journal: tracking. It is used with the built in questions system, where everything in the journal is a question with an answer. Based on the processed value of true or false, it creates a graph.Why use this graph?You, as the user, create your own set of questions, and you can make them focus on self-improvement. Using this graph, you can see your good and bad days, understand why a day was successful or not, and use that information to improve yourself. More updates will improve this graph by adding more information, support for special question types (e.g., weight tracking), and links to go directly to a specific day....
|
1793278376.9425466
|
1793883176.9425466
|
|
6563
|
website by @yanyans360 | Stardance
|
yanyans360
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: website by @yanyans360 | Stardance
|
1793278376.0151153
|
1793883176.0151153
|
|
15218
|
HDMI Switch by @niller_branthon | Stardance
|
niller_branthon
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: HDMI Switch by @niller_branthon | Stardance
|
1793278375.1147351
|
1793883175.1147351
|