100 Days of Code
Day 0
Starting #100DaysOfCode in an effort to maintain momentum working on an app I've wanted to see through for years. /scream I feel so exposed tweeting this :'D Wish me luck!~ #100daysofcodechallenge
Day 1
Day 1 of #100daysofcode. Learnt to set up a project with Objection.js with the help of the amazing twitch chat (ty Matt & donnY). That took about three hours, give or take π€£ππ€£π #100daysofcodechallenge
Day 2
Day 2 of #100DaysOfCode
Drew up an ERD in VS Code, added the basic Objection.js models to my project, and figured out the Knex migrations.
Next: Convert to TypeScript, then finish models. Excited I even got this far without taking an entire day :'D #100daysofcodechallenge
Day 3
Day 3 of #100DaysOfCode
Converted to TypeScript, migrations and models completed. I think.
I guess I might be getting the hang of backend stuff. I'll let that thought linger until my next hair-tearing issue... Probs tomorrow. :3
#100daysofcodechallenge
Day 4
Day 4 of #100DaysOfCode
Added forgotten tables, models, and migrations. Oops. π 2 AM chat with the co-founder was productive. Apparently Argon2 > Bcrypt... So lots of research for me, aiyooo~
Web sockets and auth for the next few weeks π
ππ€£ ded.
#100daysofcodechallenge
Day 5
Day 5 of #100DaysOfCode
Wanted to do auth but nooo. Thwarted by a src dir as ts root and Logan (rightly) insisting we change knex files to .ts. Like 5 hours on Twitch stream inc. distractions but it's doonnee!~
Auth tomorrow. COMIN' FOR YOU, ARGON2 /yell
#100daysofcodechallenge
Day 6
Day 6 of #100DaysOfCode
Was gonna dig into Argon2 but Logan beat me to it. Set up the chat app stuff instead and learnt about Argon2id, OAuth2, PKCE, and Flutter. Sockets tomorrow!
Code effort level feels basic af but oh well. Action > inaction.
#100daysofcodechallenge
Day 7
Day 7 of #100DaysOfCode
Started with web sockets. Spent FOREVER on Flutter vs Electron which became flutter vs electron vs ionic vs revelry(?) vs nativescript and then Twitch chat helped me settle on Cordova π€£. Rest of the night was on chat UIs.
#100daysofcodechallenge
Day 8
Day 8 of #100DaysOfCode
Spent like four hours getting an hour's worth of work done but at least the socket connections are working, I guess π I'll make more progress tomorrow. I've got South African biscuits and sweets for company ππ€€π₯°
#100daysofcodechallenge
Day 9
Day 9 of #100DaysOfCode
Chat messages can be sent from the client in a separate folder... With a profanity filter :3 Oh, the power!
Still trying to figure out scenarios where (web socket) event acknowledgement is useful.
#100daysofcodechallenge https://t.co/9XgIPy9gM6
Day 10
Day 10 of #100DaysOfCode
Progressed from yesterday! UI can be disabled temporarily and then updated once the acknowledgement is received and the server's done its thing. Double submission prevented. User confirmations. Etc. :D Woo!~
#100daysofcodechallenge
Day 11
Day 11 of #100DaysOfCode
We now have chat channels and messages being posted :D And some rough markup until I start working on the frontend. Storage is coming up next and that's gonna be... Fun... Right?...
Expecting tomorrow to be a struggle :')
#100daysofcodechallenge
Day 12
Day 12 of #100DaysOfCode
Didn't get much code done (just started on users and storage) but did work on wireframing. I feel like that doesn't count but I rather plan before jumping right in.
#100daysofcodechallenge
Day 13
Day 13 of #100DaysOfCode
Managed to get users chatting in individual channels, a list of active users, and auto-scrolling for the chat window. Probs gonna look up more scrolling methods, and more about sockets.
Biding time until I add Cordova π
#100daysofcodechallenge
Day 14
Day 14 of #100DaysOfCode
Installed Cordova. Finally managed to get browser, Electron *and* Android emulators working!! But now Twitch Chat suggested Capacitor so if anyone's got opinions on Cordova vs Capacitor I'd appreciate them <3
#100daysofcodechallenge
Day 15
Day 15 of #100DaysOfCode
In true Tabs fashion, I switched from Cordova to Capacitor - all that time configuring during stream for nothing xD Still trying to set up Aurelia PWA w/Capacitor but that's future Tabs' problem
Too bad that's tomorrow's Tabs π€£
#100daysofcodechallenge
Day 16
Day 16 of #100DaysOfCode
Spent my app time today doing research and starting on Svelte. >_> So far so good! Simple is great. Tomorrow I'll finish the tutorial stuff and get the PWA started... which will be less simple probably... >_>
#100daysofcodechallenge
Day 17
Day 17 of #100DaysOfCode
Busy day. Found it difficult to concentrate this late on little sleep. Managed to get through some more basic Svelte stuff - I want to say it looks easy af but I think the tutorial content is handled exceptionally well. π₯°
#100daysofcodechallenge
Day 18
Day 18 of #100DaysOfCode
Finished the rest of the Svelte tutorial! Will do some other tutorials tomorrow and have a look at Sapper. π I'm still being slow but better than nothing!~
#100daysofcodechallenge
Day 19
Day 19 of #100DaysOfCode
Wow, actually starting this on the 19th instead of before I go to bed on the 20th in the early AM :P
Set up the Sapper/Svelte project and slowly learning my way around it. Seems as simple as Aurelia tbh >_>
#100daysofcodechallenge
Day 20
Day 20 of #100DaysOfCode
Set up routes in Sapper. Still trying to figure out SSR, page vs server routes, and what I lose (?) by splitting the frontend and backend. Lots of reading to do!
#100daysofcodechallenge
Day 21
Day 21 of #100DaysOfCode
Got the basic routes and layout sorted on twitch stream :D Will work on the dynamic routes next. Looking forward to it! AND it's still before midnight π€£π€£
#100daysofcodechallenge
Day 22
Day 22 of #100DaysOfCode
Still stuck on dynamic routes with Svelte/Sapper. π No idea what's up - my files are almost identical - but it'll take another day probs. *siiiigghhh* This is what I get for working tired af.
#100daysofcodechallenge
Day 23
Day 23 of #100DaysOfCode
Conditional rendering of components dependent on the route for navigation is dooooneee!
Sometimes I'm happier with doing a lot less that day particularly if I've made a tiny but significant dent in something.
#100daysofcodechallenge #svelte https://t.co/UQc1fgyt0s
Day 24
Day 24 of #100DaysOfCode
Dealing with 'TypeError: Cannot read property 'name' of undefined'. Gonna take a while π
At least I woke up earlier to code and avoid a late night. I am seemingly getting a slight grasp on daylight hours :')
#svelte #100daysofcodechallenge https://t.co/O6RBfXMpkP
Day 25
Day 25 of #100DaysOfCode
Note to self: stop changing variables manually and just select all + replace. Hot damn, that caused HOURS of me going wtf why is this not working??
Fixed yesterday's error. Dynamically generated menu items done!~
#100daysofcodechallenge #svelte https://t.co/1noZcVZe9F
Day 26
Day 26 of #100DaysOfCode
Spent TWO HOURS on Twitch stream figuring out why the Sapper app wasn't even *loading* and it turns out it couldn't fetch the json 'cause I mistyped a route. Dammit.
Then prepped for splitting FE/BE.
#100daysofcodechallenge #svelte https://t.co/uz60TEzvOI
Day 27
Day 27 of #100DaysOfCode
I had a friend once bemoan 'dependencies' this and 'dependencies' that and basically 'fuck those dependencies'. I just looked at him in amusement.
That is now me.π
Knex and sqlite3 are not playing nice.
#100daysofcodechallenge
Day 28
Day 28 of #100DaysOfCode
Going backwards today :') Finally re-installed node and nvm but now zshwon't play nice and idk what's happening. All of this for some random af error I can't yet figure out how it happened in the first place πππ
Tomorrow.
#100daysofcodechallenge
Day 29
Day 29 of #100DaysOfCode
Took a break from Grid today and worked through React - code-splitting, state, context, class fields - basic stuff, but want to hone my understanding of fundamentals. Might slow down Grid a bit for a couple of weeks.
#100daysofcodechallenge
Day 30
Day 30 of #100DaysOfCode
I'll admit I spent 100% of my time today on UX+UI stuff and learning more about accessibility in frontend. If I can do the full mockup first I'll spend *a lot* less time styling.
#100daysofcodechallenge https://t.co/mWyV6aAwii
Day 31
Day 31 of #100DaysOfCode
Progress > Perfection.
Continued with my UIs from yesterday. I'll keep iterating on the mockup as I code. It's shitty, but it's something :D
Back to full-on code tomorrow. YAS.
#100daysofcodechallenge https://t.co/BK79yYT405
Day 32
Day 32 of #100DaysOfCode
I modified an older version of the repo to stop getting that dumb SQL/database not connecting error. All is well.
But now the routes don't load the results and eternally hang, even when I undo everything in the file. Wat.
#100daysofcodechallenge https://t.co/EDWNBkCqgV
Day 33
Day 33 of #100DaysOfCode
Made progress with the user routes! Things are slowly moving along. Twitch chat threw 'service layers' at me so I need to read up on architecture now (thanks donnY and rick!) π€£ππ€£ Worth it.
#100daysofcodechallenge
Day 34
34 / #100DaysOfCode
Still wrapping my head around layered (service-oriented) architecture and all the (different??) ways people seem to be implementing it.
This is gonna take a bit. https://t.co/HjCab3YyDg
Day 35
35 / #100DaysOfCode
I now have an API service layer. Data layer is iffy but heyooo we're getting there. Figured out Express query strings too. Looks like I'm set for a few days!
#100daysofcodechallenge
Day 36
36 / #100DaysOfCode
I feel like I did the absolute *minimum*. Added some more backend routes. I need to either get the frontend going or do some interaction design before I figure out the routes I need.
Ugh. Duh. Planning and design first.
#100daysofcodechallenge
Day 37
37 / #100DaysOfCode
Figured out the frontend routes, and I *think* most of the backend routes. *really* need to do interaction flow. Probs gonna stream Frontend on Monday if I do a birthday stream, otherwise it's Tuesday as usual!
#100daysofcodechallenge
Day 38
38 / #100DaysOfCode
Spent my time today doing user flows and listing API functions for each page. I'll markup those pages and build the API as I go, in tandem.
Unsure if there's a better way to do it but this way I'll get less muddled π
#100daysofcodechallenge
Day 39
39 / #100DaysOfCode
Started on the signup and login pages. I think I might style them fully tomorrow during stream before I continue with attempting to use the API I've been building. And still need to build. :P
#100daysofcodechallenge
Day 40
40 / #100DaysOfCode
Back to #svelte. Signup page drafted and some styling done with a changing CSS gradient bg. Still undecided on CSS gradient bg vs glass. After everything's working I think I'll mockup both and get some feedback.
Day 41
41 / #100DaysOfCode
I am keeling over with sleep. Backdrop filter doesn't work in Firefox????????? Why not?????????
Pain. Finished the signup UI looking like glass now, but the rest of this is for another day. Specifically: tomorrow.
#100daysofcodechallenge
Day 42
42 / #100DaysOfCode
Heck yeah! Made enough progress with the main chat UI that I can build out the API to start pushing data to the client. Figured out globally scoped CSS with #svelte and some flexbox shenanigans.
Good π€progressπ€ today. Happy. π
#100daysofcodechallenge
Day 43
43/ #100DaysOfCode
I did it, I did it, I finally did it! Glass on top of a blurred background without backdrop-filter.
But then I thought it looked sorta ugly and removed the blur.
w/e, sign up and login drafts are d o n e. Input > Db next!
#100daysofcodechallenge
Day 44
44 / #100DaysOfCode
Spent most of today with WordPress and Downton Abbey.
Apparently hanging indentation is common enough on the web and far simpler than I thought it was going to be.
#100daysofcodechallenge
Day 45
45 / #100DaysOfCode
Designing and building out a decent default page is taking a fair bit. But I'd like for there to be more than just an empty screen for new users where first steps are just subtly implied. I'll finish this page tomorrow.
#100daysofcodechallenge
Day 46
46 / #100DaysOfCode
I was attempting to do things with hiding radio buttons. I'm now looking at article after article about accessibility.
Hardly any code - mostly reading today - but that's more important sometimes.
#100daysofcodechallenge
Day 47
Day 47 / #100DaysOfCode
Styled with Gatsby. Should've done Grid stuff but Market Day looms. Stupid .htaccess rules! π€£
I can't wait to build out a proper community onboarding process.
#100daysofcodechallenge
Day 48
48 / #100DaysOfCode
#svelte template logic now sorted for the community default page... Mostly. All I really managed for today. It was an embarrassing amount of time before I realised how bind:group worked π
#100daysofcodechallenge
Day 49
49 / #100DaysOfCode
Screwed up my UI designs. This is why I should wireframe/mockup enough before doing anything. Anyway, there's enough there for me to get stuff into the database so... Scary part coming next.
But not the scariest. xD
#100daysofcodechallenge
Day 50
50 / #100DaysOfCode
Halfway!! Did more templating with #svelte and Sapper. I should be good to start getting inputs into the database tomorrow, or so I hope!
#100daysofcodechallenge
Day 51
51 / #100DaysOfCode
WordPress again. Not a bad break. Built out the rest of the pages. Looks like I'm finishing this one tomorrow. Maybe no more WordPress for a few months? :D *hopeful*
#100daysofcodechallenge
Day 52
52 / #100DaysOfCode
Well, WordPress project done to the best of my ability with what I had. Maybe one more day.
Back to Grid soon! :D Hoping to get some API stuff understood so I won't stuff up the stream tomorrow :3
#100daysofcodechallenge
Day 53
53 / #100DaysOfCode
Okay I managed to fetch JSON from the backend and shove it into the console so tomorrow I will likely be less scared of handling data :D
I lie. I'm equal parts apprehensive and excited but let's do this πͺ
#100daysofcodechallenge
Day 54
54 / #100DaysOfCode
The code KNOWS exactly when to throw some random af error to make things inconvenient.
I planned to do fetch requests today but instead got stuck with Knex errors. Joy.
Stream chat was fucking amazing though. Y'all rock!
#100daysofcodechallenge
Day 55
55 / #100DaysOfCode
SQLite3 pool issues w/Knex. Took me 3-4 hours to figure this out.
I had to stick 'await' in front of the async function I was importing from another file.
What the hell, man.
I wanna go sleep but I'm too miffed π
#100daysofcodechallenge
Day 56
56 / #100DaysOfCode
Uuuugghh. Intended to do Fetch API stuff again but it turns out the sqlite3 pkg doesn't support async/await?? I'm hoping that's the issue and can figure out a simple way to deal with that tomorrow.
THEN Fetch API! Take 3.
#100daysofcodechallenge
Day 57
57 / #100DaysOfCode
I didn't notice it was already today because the light was on. I've been at this for... 5 hours, not counting the afternoon? I was at a loss. Logan was suggesting I create a minimal reproduction to ask for help.
And then I figured it out π€£
1/3
Day 58
58 / #100DaysOfCode
Explored Storybook with #svelte during our design system Slackathon. It's a cool tool but all this extra fuss with config makes me like it less. I can't yet get global variables working in both Storybook and Svelte without code duplication.
Day 59
59 / #100DaysOfCode
I fucked up the repo trying to get the rootDir tsconfig error to go away. I was careless and didn't commit before I did it.
I'll unfuck it tomorrow.
π₯±π΄
#100daysofcodechallenge
Day 60
60 / #100DaysOfCode
Project has been unfucked. This is probably the first time I am ever happy to say I'm back where I started. I don't know if I should keep the rootDir setting from the tsconfig... I'm unsure if it matters right now.
#100daysofcodechallenge
Day 61
61 / #100DaysOfCode
The stream was awesoooome. I think there are some hot reloading issues with Svelte/Sapper. But hey, I can actually use the Fetch API successfully and modify the database!! Special thanks to Technosterone for debug help. π
1/2
#100daysofcodechallenge
Day 62
62 / #100DaysOfCode
Tried getting all the communities into Svelte and... Nope. I think I'm getting some errors that aren't showing immediately with hot reloading so... That makes it harder to figure out. Shit progress. Ah well. Tomorrow.
#100daysofcodechallenge
Day 63
63 / #100DaysOfCode
Still trying to access the API using environment vars. Made a bit more progress with accessing the vars using Sapper middleware but now the functions don't work so... Confused af xD
#100daysofcodechallenge
Day 64
64 / #100DaysOfCode
I got one of the two bugs. Ugggghhh. Hopefully I'll get the next one tomorrow.
On the plus side, learnt about accessing stores through Svelte and Sapper. I'll likely need that when I do authentication things with tokens.
#100daysofcodechallenge
Day 65
65 / #100DaysOfCode
Took a break from Grid. Slackathon today, doing Earth stuff with threejs. It's all mindboggling. Did a threejs course already but retained very little. :P Outdated tutorials not helping. π
#100daysofcodechallenge
Day 66
66 / #100DaysOfCode
I've proven to myself yet again that coding when I am not tired is MUCH better. 5 minutes to debug the second part of a two-part problem that probably took me at least five hours.
If I code in the AM, I'll reach alpha sooner.
Aiyo.
#100daysofcodechallenge
Day 67
67 / #100DaysOfCode
Communities can be created, and they'll go into the database. F i n a l l y. Those functions have to be completed to generate random IDs but good enough for now. ~8 more steps until I move back to sockets.
#100daysofcodechallenge
Day 68
68 / #100DaysOfCode
Meh. Only a tiny bit of progress. Hopefully I can dedicate most of Thursday and Friday to Grid and knock those tasks out of the way.
#100daysofcodechallenge
Day 69 nice
69 / #100DaysOfCode
Nice.
Day 70
70 / #100DaysOfCode
Feeling a big stagnant. Getting this reference error about fetch not being defined, but putting a fetch in an unMount lifecycle function fixes that, but then it can't be called conditionally....
I suppose I'll get there. Eventually.
#100daysofcodechallenge
Day 71
71 / #100DaysOfCode
That took for-fucking-ever, but getting all the communities is done. I've still got to learn how to do searches and whatnot but... Later. Need to focus on getting a full set of interaction flows done functionally first.
#100daysofcodechallenge
Day 72
72 / #100DaysOfCode
For every task I write down, I expect maybe 2-3 parts but there's 2-3 times that instead :'D Managed to get individual community spaces sorted on the API side, now I just need to make sure the client routes are rendering properly.
#100daysofcodechallenge
Day 73
73 / #100DaysOfCode
Not much coding today, mostly WordPress stuff that involved styling here and there. Looking forward to the finished project though. Here's hoping it's finished this week.
#100daysofcodechallenge
Day 74
74 / #100DaysOfCode
Might be getting sick. All I really managed today was adding uuids and a start on handling client routes. I've yet to properly *understand* how they're programmatically created in #svelte, but I'll get there.
#100DaysOfCodeChallenge
Day 75
75 / #100DaysOfCode
Just general styling today. Way too much work to do. Starting to forget what day of the week it is. π Kinda boring tbh but I think the drudgery is over. :P
25 days left! Starting 100 days of design ~7 April if anyone wants to sync!
#100DaysOfCodeChallenge
Day 76
76 / #100DaysOfCode
Hm. While I can figure out a way to generate client routes from db data, I can't help but feel there's a better way to do it? Wouldn't I wanna store a list of IDs (FKs?) in a row in a user's table? Else I'd search the whole table every time the app loads...
Day 77
77 / #100DaysOfCode
Decided against storing uuids in an array for now; I can always test that later. Still understanding how routes work in #Sapper - dynamic routes, and then page vs server routes π€―
I'll probably make more headway tomorrow.
#100DaysOfCodeChallenge
Day 78
78 / #100DaysOfCode
Turns out the routes *are* half?? generated?? There are links I can click in my sidebar that load routes that won't throw errors, but I have *other* routes from the initial JS object files also generated... waahh.
#100DaysOfCodeChallenge
Day 79
79 / #100DaysOfCode
Super short today because DIY stuff. Managed to extend the profile section of the API to join communities with. I think I've finally managed to get into the swing of things for the backend and db issues are minimal.
#100DaysOfCodeChallenge https://t.co/obqnatnaPt
Day 80
80 / #100DaysOfCode
It's been a looong day and I'm keeling over with sleep. Managed to get some delete and updates routes into the backend without much trouble. I think my mental model has solidified considerably now.
#100DaysOfCodeChallenge
Day 81
81 / #100DaysOfCode
Listed out the rest of the routes. I think I have everything in Insomnia that I'll need to test the backend with prior to having to starting web sockets. Not that all the routes work yet... :P
#100DaysOfCodeChallenge
Day 82
82 / #100DaysOfCode
Nearly there! Made a tiny bit of progress today with Svelte and I'm getting the hang of understanding data flow. I should be able to finish this long step tomorrow and progress onto UI styling. :D Sockets by next week!
#100daysofcodechallenge
Day 83
83 / #100DaysOfCode
Managed to get a whole sequence down from creating a community to generating that data on a community page. Once I figure out preloading (generating?) before navigating, I'm set. Looking forward to moving to Svelte Kit from Sapper π₯³
#100DaysOfCodeChallenge
Day 84
84 / #100DaysOfCode
Kicked yesterday's problem in the butt on stream. I was so dumb. I mistyped the route name π€£ And then spent another three+ hours talking about random shit :D Love y'all who drop by, thanks for making my evening so enjoyable!
#100DaysOfCodeChallenge
Day 85
85 / #100DaysOfCode
I built the channels section of the API faster than I was expecting. It's a bit weird for things to be clicking and I'm solving issues... Faster?? I guess when it's not Sapper I have fewer hurdles.
#100DaysOfCodeChallenge
Day 86
86 / #100DaysOfCode
Learnt how to seed the database. So useful! Ready to go all-out with the UI now. And I did it all by 9 PM π
Waheyyyy, bedtime before midnight today~
#100DaysOfCodeChallenge https://t.co/4jxHtgnj19
Day 87
87 / #100DaysOfCode
A decent UI makes things look a lot more finished π Should be able to finish a rough draft in a few days! Keen to get past it and into web sockets by the end of the week.
#100DaysOfCodeChallenge
Day 88
88 / #100DaysOfCode
Didn't get around to all too much, but w/e. Took me a while to figure out how to pass data to components that don't have a route with Sapper. Conflicting sources of information all over doesn't help >_>
#100DaysOfCodeChallenge
Day 89
89 / #100DaysOfCode
Actually figured out Sapper's routing system properly today and I managed to get the routes I wanted; now I just have to research structuring components and layouts before passing data into them.
#100DaysOfCodeChallenge https://t.co/B0PJBp7IvH
Day 90
90 / #100DaysOfCode
I thought maybe researching component best practices would help me but looking at component composition and how slots work in Svelte seems better for my understanding.
#100DaysOfCodeChallenge
Day 91
91 / #100DaysOfCode
AHAHA hardly did any code during stream but there was great discussion on layouts and navigation - like when it should be inside <main> tags or not. Y'all really helped me think through shit from last stream, thank you!
#100DaysofCodeChallenge #livecode
Day 92
92 / #100DaysOfCode
I've been keeling over with sleep sitting any time I sat at the computer today, but managed to get through it. Basically just worked on Sapper routing and some markup for the pages.
#100DaysOfCodeChallege
Day 93
93 / #100DaysOfCode
Sorting out some routing issues with the communities and channels. Figured out how to structure the files for routing, but still need to work on passing data down to and up from slots so I can pass parameters.
#100DaysOfCodeChallenge
Day 94
94 / #100DaysOfCode
I really do do (hehe) my best work first thing in the morningπ All the links render correctly using the communityId in the secondary nav (or should I call it <DinkyNav>, eh, Chat?). 3 steps left, then sockets!
#100DaysOfCodeChallenge
Day 95
95 / #100DaysOfCode
Channels are fetched from the database and pushed to individual communities. :D :D :D
Didn't think I'd be able to get that done while so exhausted but there ya go. /patontheback. Still needs a fix though.
5 days left π±
#100DaysOfCodeChallenge
Day 96
96 / #100DaysOfCode
That was one hell of an unproductive two hours on stream :') Thanks for hanging around. Got further with my understanding but too tired to figure out the appropriate fix. Tomorrow morning!!
#100DaysOfCodeChallenge
Day 97
97 / #100DaysOfCode
Started styling the chat messages. No luck figuring out component events and passing data back and forth - yet.
#100DaysOfCodeChallenge
Day 98
98 / #100DaysOfCode
Think I figured out *how* to get the id to update - with stores - but will implement tomorrow. Started crashing on stream an hour in π΄
#100DaysOfDesign starting soon on the 12th, feel free to join us at https://t.co/Sf3YtPuhq9
#100DaysOfCodeChallenge
Day 99
99 / #100DaysOfCode
Managed to figure out how to use custom stores - so now the menus for channels all work β¨
Some of my issues stem from not recognising common patterns across frontend frameworks used to accomplish certain behaviours. I'm getting it.
#100DaysOfCodeChallenge
Day 100
100 / #100DaysOfCode
100!! No days skipped since Jan 1st :D
Spent all my time today figuring out config with https://t.co/YnGz2y5mPn and Svelte. Far from done. β¨This is the lifeβ¨, eh?
Lessons learnt from 100 Days of Code coming up soon!
#100DaysOfCodeChallenge