9 ms·
Show HN: Weeks of Your Life
Hi! I made an interactive visualization of your life in weeks. Inspired by Tim Urban's Your Life in Weeks (Wait But Why) and Buster Benson's Life in Weeks.
Hopefully it's a fun thing to do together with family over the holidays.
I wrote about it on my digital garden: https://www.petemillspaugh.com/weeks-of-your-life https://www.petemillspaugh.com/weeks-of-your-life
Any feedback is welcome. Top on my todo list is improving performance (reduce interaction lag).
- culi 3y agoPlease tell me the author's birthday just happens to be the same as mine and it's NOT that browsers now have a way to share bday information with websites
- L0in 3y agoI think the default was set 04/04/1997 by the creator.
- culi 3y agoglad to hear it's just a freaky coincidence!
- samstave 3y agoExcept.... now you've just shared your birthday through the browser openly with this website.... Defeating the premise of your concern.
- culi 3y agowell not really. People being able to find my info is very different from my browser directly telling advertisers and sites I visit my bday
- shepherdjerred 3y agoThere's a big difference between others simply knowing your birthday because you told them vs others knowing your birthday in some unknown way. How do they know that? What else do they know about me?
- Flux159 3y agoNice job, was going to mention url size limits but then read your blog post and it already mentioned using urls to be able to share with others without a database. One thing that might be interesting is being able to edit things in the future if you want to plan something out, but don't know if that's really in the spirit of the site.
- petemilly 3y agoThanks. And yeah, I was talking to my roommate about enabling edits in the future. I guess the spirit of the site is letting each person do with it what they wish, so I suppose I should open up future dates for edits.
- seized 3y agoOne suggestion.... Make it faster to skip back and set the start date, or allow manual entry. I'm not even that old but it's a lot of months to click backwards on Android.
- n8cpdx 3y agoI think it must be using the browser native control? The date picker was surprisingly great on iOS. Color picker, too.
- deleted 3y ago[deleted]
- marssaxman 3y agoI couldn't make the date picker work at all - the scroller kept snapping back to a previous position.
- dave7 3y agoGlad I'm not the only one!
- petemilly 3y agoAh, sorry about that. It is the native date picker as n8cpdx pointed out. I just pushed an update to only update the grid of weeks once the date picker is unfocused (onblur event) rather than recomputing unnecessarily on every change event. I suspect that is what caused the bug you're describing, but let me know if it's still broken.
- marssaxman 3y agoYes, that fixed it. Thanks! (I didn't know the browser had a native date picker.)
- petemilly 3y agoGreat! Thanks for following up. And yep, the browser date picker (https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/date https://developer.mozilla.org/en-US/docs/Web/HTML/Element/in...) is a major time saver. This project uses the native color picker, too.
- diimdeep 3y agoDate picker is broken, also it is really slow webpage for what it is doing. Every web developer in 2024 and forwartd should have average device released at least 10 years ago to understand that what they are writing these deys using this horrendous web frameworks is unusable on these devices.
- vallode 3y agoComplaining about this as well, I think entering day/month with keyboard is fine but the website completely freezes upon entering year and skips some digits entirely after many seconds of waiting. I'm on an old thinkpad, I get it, but I think everyone should keep an older device around just to demo their projects on because it helps catch such simple bottlenecks.
- kvakvs 3y agoAs you click the date picker, it updates entire page for that incomplete date, and it QUEUES dates for more update, even if you manage to click the correct year, it continues slowly through every year you touched/scrolled before that.
- marssaxman 3y agoThere's something even more broken about it than that, though; I couldn't get the date to go any earlier than 1991, because the scroller would keep resetting itself back to 1993. Don't understand it.
- petemilly 3y agoThanks for pointing this out (all comments in this subthread). I just updated the date picker to only re-render the grid of weeks when the input is unfocused (onblur) and avoid the unnecessary intermediate updates. Still more work for me to address lag, but hopefully that helps.
- msie 3y agoSometimes I think this concept is depressing because it increases the pressure to "do something" with your life. When you are presented with the finiteness of your life you feel pressure to fill each moment/cell with something "meaningful" or "worthwhile". When someone is enjoying a hobby they will lose track of time yet that hobby may be frivolous in the eyes of someone else. Do they want something like this to track how much time they "wasted"? To me there is this paradox of losing your sense of time with something you are passionate about (building a model, doing some hobby programming) and yet in trying to track it for some purpose of maximal utility will kill the passion. [Edit] This post on the same page is related: https://news.ycombinator.com/item?id=38741982 https://news.ycombinator.com/item?id=38741982
- pelagicAustral 3y agoIt is depressing. But most things are when it comes to achievements. I think I do not need any help from an app to tell me I have not done has much as I could have done. I have that going on already, looping on a while 1==1 fashion.
- slothtrop 3y ago> it increases the pressure to "do something" with your life We increase that pressure.
- Aperocky 3y ago> that hobby may be frivolous in the eyes of someone else. So what? That's missing the entire point of <hobby>.
- balaji1 3y agoit is depressing to some, others in a different stage of life might experience gratitude, others hope and clarity, etc. in all aspects of the human condition, there's probably a similar dynamic to the 5 stages of grieving. tho I agree the popular notion is to > fill each moment/cell with something "meaningful" or "worthwhile". and I would add, there is pressure to achieve something "unique"
- wepple 3y ago
- luqtas 3y agono way i won't live till 22° century T.T
- kapitanjakc 3y agoIs it possible to run it locally or create backups or link it with some storage? Only reason for asking it is that I was thinking of something similar and started keeping a daily diary in text files. Can add summary of sorts for weekly thing. But if someone is like me and has years worth of data, they'd want to be sure that data is going to be there in future as well.
- geekodour 3y agoI have something similar that was discussed here few months back, the whole thing is in a org file, i can add summaries etc and each becomes a hugo blogpost, it's not as interactive as OPs submission but works ok i guess. https://news.ycombinator.com/item?id=36641451 https://news.ycombinator.com/item?id=36641451
- petemilly 3y agoFeel free to fork the repo and run locally! https://github.com/pmillspaugh/weeksofyourlife https://github.com/pmillspaugh/weeksofyourlife Maybe I could add an export feature that downloads the data in a .csv or something. The URL storage is definitely a bit wonky, but more robust persistence felt like overkill (maybe I'm wrong about that, though!).
- meremortals 3y agoLove this
- samstave 3y agoI have been wanting this for many WEEKS IN MY LIFE... I want to clone this and run it locally and add pics and a family tree and and and.... I love this.
- MzHN 3y ago> As far as I know, there’s no way to set a dynamic width for an HTML input with pure CSS (please lmk if that’s not the case). Setting max-content doesn’t work, for example, because inputs are replaced elements that have intrinsic dimensions and behaviors that are not fully governed by CSS. This is the case currently, but when field-sizing: content; lands, you can do it with a single property. Also I get a weird feeling when something like React makes simple things hard and low performance. The solution of pouring a lot of time into debugging and optimizing (in context of React) feels even weirder to me. Sure, you might not need React here, but what if you do? What's the next best solution? Integrate the React "frame" with an "island" of vanilla? I don't know, something about having this issue puts me off in a major way.
- jokethrowaway 3y agoI did a small project recently (a form to edit N instances of an object, each containing N instances of other objects, so standard input, add / delete buttons, saving to server) and I decided to not use React or any form of templating, just DOM. It reminded me of when I used to ship jQuery projects. It was refreshingly simple and, despite being more verbose, it was clear what everything would happen once a certain event would happen. With a bit of clever refactoring dealing with elements factories wasn't too bad, even without a templating engine. Not having to think "How is this going to be rendered by React, is it going to be efficient or trash performance" was great and I think it's intrinsic of picking a certain abstraction and we'll always have that. Sure, the better the abstraction the less this problem happens eg. Solid is calling the component function once, which makes things easy to reason about
- petemilly 3y agoOh cool, I didn't know about field-sizing. Thanks. And yeah, this definitely set off my alarm bells like "maybe I shouldn't be using React here." I guess the initial goal was just getting something that works out there using the thing I know best (React), and the second phase could be a rewrite using a better tool for the job-open to any thoughts and suggestions on that.
- MzHN 3y ago
- rubicon33 3y agoThis is a visualization of how I have been feeling for the last couple of years. I'm in my mid 30s and lately have been going through what I'm sure is a mid life crisis. Seeing all these empty cells really underscores the point. - Aware of my limited time - Aware of my limited health (despite exercising, eating healthy, avoiding alcohol and drugs, sleeping well, etc... I don't feel like I did in my 20s) - Difficulty finding meaning in my work / life ... lots of existential thoughts and worries. - Bored and burned out, not really sure "what else" there is yet constantly reminded of time that is running out. Anyone else been feeling this way? My "solution" has been to just accept it and take each day as it comes. I haven't given up, I'm just trying to chill out and let go a little bit. The last three decades were all about gas, gas, gas and maybe I need to just accept that I've reached a time in life where my body and mind is telling me to ease up on the accelerator, enjoy the small things, and accept that what will be will be.
- 2024throwaway 3y agoEat some yummy unhealthy foods. Have a beer. Life is too short.
- mortallywounded 3y agoI've felt that way since my mid-20s because I started "late" professionally. I've been playing catch up ever since. Although I've had a lot of success by conventional means (I run my own company solo, work for myself, I'm married with children, I own my house with no mortgage, etc). My sights are still higher and I feel like I'm still playing catch up. I've been debating about what to focus my time on these days-- do I push more on my business and attain more success? Do I allow myself time to pursue interests that have little to negative financial upsides? Do I forget all of it and just spend that time with my family? Wish I had a solution or answer for you, but I'm still figuring it out.
- croisillon 3y agobut then with the example of DF Wallace wouldn't it make sense to stop counting the weeks of his life after his death?
- petemilly 3y agoI was thinking about this, too. Allowing setting a date of death felt pretty morbid...
- charles_f 3y agoFun how this makes a year seem so small
- andyjohnson0 3y agoNicely done. But I don't need the existential terror that it induces.
- TimSchumann 3y ago> Any feedback is welcome. Top on my todo list is improving performance (reduce interaction lag). Maybe don't have it render anything until a valid date post 1800 has been parsed in all fields? I started typing a date and it rendered the year 0190.
- netsharc 3y agoOP needs to learn about window.setTimeout(), or whatever the fancy wrapper function is in their framework of choice.
- petemilly 3y agoThanks for pointing this out. I just updated it to only re-render the grid of weeks when the date input is unfocused (onblur) rather than unnecessarily updating the grid while you're still entering the date.
- deleted 3y ago[deleted]
- netsharc 3y agoAs the page said, it's inspired by https://waitbutwhy.com/2014/05/life-weeks.html https://waitbutwhy.com/2014/05/life-weeks.html, but I prefer the version on his post: https://149909199.v2.pressablecdn.com/wp-content/uploads/2014/05/Weeks-block-LIFE1.png https://149909199.v2.pressablecdn.com/wp-content/uploads/201... , where a week with an event doesn't expand to take up so much space, and it's possible to add background colors to mark segments of your life. I was making a similar app to learn Angular (and realizing the performance is lousy if each square is an Angular component), an interesting thing is, because of the day-of-week drift from year to year (Jan 1 2023 is Sunday, Jan 1 2024 is Monday, Jan 1 2025 is Wednesday, hello leap year 2024), the grid isn't always 52 columns wide, some years would need 53 weeks, because your birthday could be a Sunday (end of week in a particular year) and it'd be a Monday next year, meaning there'd be 53 Sundays between the 2 birthdays...
- abathur 3y agoI get the urge to quantify life like this, but as a late bloomer in many respects I find it helpful (less stressful) to focus on who I've been rather than how long my flesh has been bumbling around. It's all a continuum full of overlapping parts of myself, but I wasn't really recognizable as my current self before about 22ish. I don't find it terribly helpful to feel time-pressured about what that previous person spent those weeks on. Think of it as a kind of persona bankruptcy. Life is short, and my subconscious already spends enough time worrying about water under the bridge.
- a1r 3y agoAnother approach using spreadsheets: https://aaronbell.substack.com/p/visualize-your-life-the-easy-way https://aaronbell.substack.com/p/visualize-your-life-the-eas...
- netsharc 3y agoThe article links to https://busterbenson.com/life-in-weeks https://busterbenson.com/life-in-weeks, I guess this is where OP got his inspiration. Damn, "I got married" and one mouse scroll later, "Officially divorced". And it wasn't even to the same woman, he got married and divorced twice within 1 desktop browser viewport's worth of weeks.
- pedalpete 3y agoAbout 10 years ago I made an app called Bucket52 which challenged you to record one interesting thing you did each week. How did you make this week memorable. It was amazing how challenging it was to do one unique thing a week. It didn't even need to be anything big, just "what will I remember about this week". I think as a New Years Resolution, I may try it again this year.
- accrual 3y agoI like this idea. I've seen it extended to individual days as well. If I can name one interesting thing that happened in a day, then it was an interesting day with at least one story to come from it.
- 392 3y agoI don't see it on the Play Store, sadly :-)
- pedalpete 3y agoIt was just a web app, and it was a decade ago. I whipped it up in a day because I wanted to try a new framework, though I can't even remember what that was called now.
- smusamashah 3y agoMade a widget for Android using KWGT app which let's you create custom widgets. Free version at least let you copy past custom components and variables but you can't import saved files. This widget simply highlights how many weeks of the year have been passed. Made it few weeks ago when a similar calendar was shared. Here is the code you should be able to copy paste. Includes screenshot as well. https://gist.github.com/SMUsamaShah/e54497e5e10f897d22f5de9e7b8966ee https://gist.github.com/SMUsamaShah/e54497e5e10f897d22f5de9e...
- carabiner 3y agoOh god. No, no, no. This is horrifying.
- deleted 3y ago[deleted]
- grogenaut 3y agoOn Android the hovers for a cell go away instantly. The age in year also looks kinda dumb if your birthday is at the end of the year like mine. 29 in 2012 when you're 28 until the last 2 days of the year for instance
- simne 3y agoMeasuring in weeks is not good enough, because too terrestrial. At least should mark on figures Moon phases (at least extremes), because, all life on Earth synchronized on tides, because water level changed not on shore only, but underground water also affected by tides. And with knowing of Moon phases, you are armed and powerful. Considering Moon phases, you could make the most from most fruitful part of Moon circle (when water level near top and raising), and avoid hassles from transitional part (from raise to decrease, especially, when combined with eclipses, which themselves could multiply tide near to twice), and better use decreasing part of circle. Plus, good thing, to add Solar magnetic activity circles, which also relatively easy to calculate. Yes, must admit, for most young people, Solar magnetic activity is mostly unnoticeable, but extreme parts of these, could even affect modern technology, for example, it could create potentials in railroads and in power lines, or even in large buildings, not too much, just about ten volts, but enough for wrong activation of some mechanisms or to trigger safety systems and to turn off part of railroad or power grid. Also, these harmful potentials could affect copper communication lines. And sure, Solar magnetic activity affect Earth weather, which is not so much important for terrestrial civilizations, but could very hard affect sea transport.