HACKER Q&A
📣 nishithfolly

What was an interesting project you started and finished over a weekend?


What have been those small, satisfying projects you started on a Friday evening, and by Sunday, you had something cool or useful (or both!) to show for your efforts?

Was it a simple app that solved a daily annoyance, some fun IoT experiment, or some non-tech hack that made your life easier?


  👤 ChicagoBoy11 Accepted Answer ✓
I'm Brazilian and when I moved back home for a bit the country had recently inaugurated a national exam for all high-schoolers. About maybe a year after, they'd publish an anonymized data set for researchers with a nice question-by-question breakdown of how every student performed. I worked at a school at the time, and one thing we wanted to know was how WE had performed in the questions so we could gauge if there were some things our students were consistently unprepared for.

They didn't provide that data, but it turns out with a little bit of grokking and staring at that 10gb text file, you could reverse engineer it so you could extract all the kids of a given school, and aggregate all of their answers. I produced a nice little report for our admins, with the questions of the text next to how we had performed in the aggregate and state averages, as well as averages of our "competitor schools."

The best part, though, is how I remember it being a bit "bullshit" that we, a private school, could afford to do this, but since the data was actually valuable to inform practice, surely the department of education should do that for every school! Whelp, over the weekend, I computed that info for every school in the dataset, and just stored a CSV for every school in an S3 instance (this was my ridiculous caching strategy lol). Spun up a frontend where you could select your school, and nicely visually go through every question, as well as print a pdf summary of the whole thing. On Monday morning tweeted at an ed journalist, and in a few days had a spread of me in the country's top newspaper, and people emailing about jobs "at my company."

This was the most rewarding project I've ever done, and I'm sad to say nothing has come close since. It cost me $0, produced a public good that I could see was being accessed from every state in the whole country, was technically interesting, and I saw it through from start to finish over the weekend!


👤 elseleigh
Not coding, but my daughter Aelyth and I are a musical duo. Our first album (https://sidesister.bandcamp.com) took four years to complete thanks to COVID lockdowns and living in different cities.

On Thursday evening we rendezvoused at an equidistant AirBnB to sketch out our second album. It's now Sunday morning, Aelyth's just caught the train home because she's working today, but we have a concept, a title and ten songs for the new album!

There are admittedly another seven song ideas we've not had time to explore, but we've accomplished much more, much more quickly, than either of us thought possible. We've also committed to an overall musical style, plus boundaries on arrangements and instruments with the intention of keeping the production phase as concise as possible.


👤 remipch
A minimalist MP3 player for my grandmother.

The whole user interface is a single physical button on her desk :

- ON : indefinitely play all MP3 files randomly

- OFF : stop playing

The longest task was to find her favourite pieces of music from my aunts and uncles.

https://github.com/remipch/radio_colette


👤 angrygoat
We had a situation here in Australia where there wasn't an open source way to verify the outcome of Federal senate elections. The algorithm is slightly complicated, mostly because it's set up so that it's possible to count it manually as it was devised prior to computerisation of the voting system.

In 2013 this became important: in Western Australia, we had a very close senate election. There was one critical exclusion in the count where just 14 votes determined the outcome between two candidates. Obviously the accuracy of the counting software was key; it actually crashed when they were doing the count. They restarted it, but that shook the confidence of a couple of people I knew, and so I decided to write my own software to verify the count. I knocked it up in two all-nighters: https://github.com/grahame/dividebatur

Of course, I/we were fortunate that the electoral commission was forward-thinking enough to have published the data required to fully reproduce the count.

Some open government folks later on used the existence of my software to try and get the electoral commission to release their software system under Freedom of Information laws, so that it could be verified. I was quite amused when the commission alleged there was no way I'd done it in two nights. I had; but of course, what I had was a Python implementation of the count, not a fully-fledged electoral management system like they had.

Later on in 2017-18 we had a constitutional crisis[0], as various senators were found to hold foreign citizenship and thus be ineligible to hold office. Those ineligible senators were replaced by running a count-back of the vote, with them excluded. I happened to be the only person who had a system that could work out the results ahead of the electoral commission, so I had quite an exciting few weeks providing the media with predictions on who would take over the various seats that were lost.

Now there are better and more robust systems that have followed mine, but I must say I was quite happy with this two-day hack!

[0] https://en.wikipedia.org/wiki/2017%E2%80%9318_Australian_par...


👤 maaaaattttt
A simple game I posted here before [1].

I think it’s rather hard to finish a project in under one weekend. And we tend to easily say “I did it over the weekend” but mean “I had something working after one weekend”. Especially if the weekend is not one where you spend 48 hours in front of the computer (counting Friday evening in). So, I was quite proud to get it finished in one weekend under normal conditions.

[1] https://reach-100.com


👤 alessandra140
My parter and I made a fun erotic story generator called Smitten (https://smittenstories.com ) during the valentine's day weekend. It's a simple nextjs app that utilizes Mixtral to create kinky/erotic short stories based on your inputs on characters/setting/action, and you can be as explicit as you want to be.

It started as me joking about how something like this would make a cool nerdy valentine gift, which then got both of us excited to work on it together. We posted on reddit during V day, and so far 170k+ stories generated! We haven't monetized it - so far it has been supported by small donation from a few users who use it regularly.


👤 simonbarker87
I needed to test the impact of a product we were developing on the air temperature distribution of a room (it really is warmer at the ceiling) so over the course of a weekend I strung up 27 OneWire temperature sensors in 9 strings of 3 from the ceiling of my living room and wrote a script running on an mBed microcontroller (like an Arduino) that would poll the OneWire bus every 30 seconds and send the responses back to my laptop which would then record the data in a CSV for me to graph once the test was done. This also required me to make a OneWire library from the OneWire spec as back then there was no public implementation for running on an mBed.

This test data formed the backbone of that company for the better part of a decade as it clearly showed when our product was running the temperature at the ceiling (across the whole room) reduced by 2degC and at the mid point of the room (head when sat in a sofa height) it rose by 2degC.

Our product acted as a destratifier and the test rig to prove it took me from Friday evening to Sunday night to make as I was working elsewhere at the time.


👤 jawns
It was called "Take Me Warmer." Basically, you entered in your ZIP code and a desired temperature, and it told you the closest ZIP whose forecasted high for the day was at least that temperature.

So, if you were in NYC in January and wanted to find out the closest location that was at least 72 degrees, it would spit out locations that met that criteria.

(There was also a companion app, "Take Me Cooler," that did the reverse.)

Required a one-time download of ZIP/coordinate data and daily downloads from a weather API. Figured out how to calculate the distances, and most of the rest was just stitching it all together.


👤 CharlieDigital
Last year, my wife and I were planning a 12 day trip and I was struggling with Google Docs moving days around while we planned our final route.

Told her to give me 2 days and ended up making a small app to help us plan our trip; the first version was built over New Years weekend:

https://turas.app

Kept working on it and it was good enough to share to Reddit 6 days later [0]. Got a good number of users and still keep it maintained/updated. Also have some videos showing the progress and major features over the last year [1]. It's been fun; my go-to project to tinker on when I feel bored.

Tried to monetize it, but didn't really find a market so just keep it free for the users that are on the platform :) The folks that come back to it tend to be obsessive planners (like my spouse).

[0] https://www.reddit.com/r/TravelHacks/comments/105s90u/i_buil...

[1] https://www.youtube.com/@turasapp/videos


👤 dagw
A 15-minute-city analyser using OSM data. You gave it a list of everything you wanted to be close to (ie a school, restaurant, doctors office, food store etc.) and it would show you which parts of a given city had all those things with an N minute walk.

👤 tmoertel
Over four decades ago, when I was in my pre-teens, my family had a TRS-80 Model 1 (or was it a 3?), and I created a simple game for it in BASIC. In the game, a maze-like wall of blocks would be built as you watched, each block one of the system's super-chunky monochrome pixels. When the wall became almost, but not quite, impassable, you'd hit the space bar to halt the construction and begin the next phase of the game.

In this phase, you had to use cursor keys to move your character, again, a super chunky pixel, from the bottom of the screen, through the maze-like wall, to the top of the screen. If you reached the top, you won the game and were awarded a score equal to the number of blocks placed in the wall, minus your number of steps.

What made the game surprisingly fun was the tension you felt when the wall was being built. If you pressed the spacebar too soon, the wall would be too easy and your score would be low. But if you waited a little too long, the wall will be impassable and you'd lose. No points.

This dynamic was especially fun when multiple people played in sequence against one another, trying to get the high score.

Anyway, I remember that game took a weekend to write when I was a kid.

I also remember that my father, for some reason, really liked that game. He would comment for years after about how much he liked it and would like to play it again. But we no longer had that old TRS-80.

Fast forward to 2023. As a Christmas present for my dad, I recreated the game in a web browser. Again, it took about a weekend's worth of on and off work.

He was surprised and delighted by this gift. Over the next few weeks he'd send me the occasional email proclaiming his new high score.

Anyway, the whole thing runs client side, so if you want to experience 45 year old gaming, here you go:

https://blog.moertel.com/wall_of_denial/

Scores over 3200 are considered pretty good.

P.S. Although the laughably bad on-screen instructions don't say so, you can play the game on a phone. Move your character by clicking the top, left, bottom, or right of the game screen.


👤 robintw
I wrote the British Placename Mapper (https://placenames.rtwilson.com/) last weekend, and it got a bit of traction on Twitter here in Britain over the last week.

It lets you search for parts of British place names, and will plot the places that match on an interactive map, so you can search for places that start with 'great' or end with 'burgh' or contain 'sea' (or you can use regexes for more complex stuff). People have found some cool patterns with it.


👤 _kush
I sell apps for a living - I have a few iOS apps and a macOS app. Each of them uses a different way of billing (app store, revenuecat, lemonsqueezy etc), which makes it a PITA to check the total revenue (which I need to do everyday because I am so obsessed with it).

So, I recently converted my old phone into a 24/7 live sales dashboard[1] which consolidates the revenue from each service. It resembles a retro device inspired by the pip boy and was finished within a day!

[1] https://twitter.com/kushsolitary/status/1777306909344715158


👤 dgritsko
Was out to dinner with the family, and my kids were enthralled with the "word search" that was on the kid's menu. I thought it'd be cool to build a custom word search generator - given an arbitrary list of words, it'd spit out a grid containing them. The part that made it fun was trying to figure out a layout for an arbitrary list of words that would be as compact as reasonably possible. I was able to get something working in just a couple of hours, and my kids loved being able to do word searches with stuff that was relevant to them, like names of family members. Of course, there are tons of similar generators freely available online, but it was very satisfying to figure it out for myself and come up with something that the kids enjoyed.

👤 imadj
I made HNRelevant, a web extension for HN (https://github.com/imdj/HNRelevant).

It shows related discussions for each submission page. Many times, I found myself intrigued by interesting discussions which left me hungry for more and I'd go down a rabbit hole, or maybe it was promising but didn't get enough attention and I'd need to check if there were any related discussions in the past about the same subject.

I found that even though HN is a news aggregator, many discussions on HN are timeless (just like this here).

I'm proud of it and find the experience and flow to be very enjoyable. It also helps me find great stories that I might not have stumbled across.


👤 rcarmo
http://github.com/piku/piku was by far my best example of such a thing. I was fed up with how hard it was to deploy and iterate applications quickly, and the first version was done in a weekend.

In short, it's a minimal Heroku clone that started out as ~500 lines of Python run by a custom SSH config.

It has paid for itself several times over, and is still something I use daily (it runs all my little API endpoints, Node-RED instances, Python services, you name it.


👤 rendall
My team's go-to site for ice-breaking questions began recycling questions, so I built a no-track open source icebreaker that weekend.

Feel free to use and abuse it for your own social icebreaking needs. You can use it to break the ice at work, in a bar, at your church social, on the bus, in jail, wherever.

Site: https://rendall.github.io/icebreakers/

Repo: https://github.com/rendall/icebreakers


👤 joelhaasnoot
Created the first version of an app that took large long PDFs of train driver/conductor schedules in my country and presented them in an nice way in an app. The previous sources were all hard to navigate and had ads. I spent a weekend parsing PDFs into SQLite, and shipped the app with a preloaded database. Then kept updating and tweaking and added some fun intersections of the data ("who else is operating this train").

8 years later my source of data stopped providing data because of data protection concerns and the company introduced their own app/functionality for the same. Never earned me a dime directly but did get me my next job - it was a great sample for the interview


👤 thiht
I wanted to know the most used Go dependencies (not most starred or most downloaded, but most depended upon), so I made a scraper to get the go.mod from a few hundreds open source project on GitHub, and got the go.mod of each of their dependencies recursively. I stored this in a neo4j (first time I had the opportunity to use a graph database!) and got my answer (stretchr/testify is the most used dependency in the open source ecosystem by a large margin).

It’s not "finished" because I still have tons of ideas for improvements, and still want to make a blog post explaining how and why I did it, and show the results in an interactive page (and also share the database with everyone).


👤 maccard
At work, most of our deployment pipelines are something along the lines of "get some credentials, call a remote API and wait for it to say it's done". Occasionally, they also have "download this large binary from S3 and upload it somewhere else". Because these are in our CI, they are blocking steps that consume our builder resources.

We use Buildkite, so I changed their agent to run as lambda function, and used their eventbridge integration to trigger the lambdas. We saved about 15% of our CI costs by not using our 32 core build machines to call ecs wait-services, and freed up said machines to be able to run more often.


👤 piterrro
I've built a first version of Logdy[1] over the weekend. Since then I have been developing it and it's getting traction and attention.

Logdy is a real-time logs browser that is meant to replace viewing logs in a terminal during development stage. I was tired of browsing and searching through infinite stream of non-searchable json whereas having such a great tool as DataDog on production. I've felt that development process lacks this kind of tool and decided to scratch my own itch.

[1] https://logdy.dev


👤 AdrianB1
Back in 2019 I was working on a poorly managed project, so one Friday evening I started making a tool to help me with the work. It was an inventory of the ~ 100 environments where I had to do deployments and configuration changes. It took a few hours to do that and it served me well. 5 years later this personal productivity tool is used by half of the department as a configuration management system and it is dangerously close to become a critical component - there were more weekends where I added functionality, one at a time. Tricky part is this is a personal productivity tool, so officially it does not exist in the enterprise architecture diagrams and it is not officially supported; it does not even have a repo in the corporate Github, but in a separate Gitea instance.

👤 mxstbr
With three friends, we built and launched a SaaS product over a weekend and live-streamed ourselves doing it[0]: https://feedback.fish

It was a ton of fun, about 1,000 people tuned in over the course of those ~60 hours. The product was acquired about a year later.

[0]: https://productweekend.live


👤 cknight
I slapped together a little shareable sprint calendar tool, since I was constantly finding myself having to click too many times in other tools to get what should be a simple at-a-glance overview. I now use it almost every day, during team or stakeholder chats at work.

My team runs with: https://sprintcalendar.com/3-week-sprints/start-2020-12-03/r...

I've only tweaked it a bit since then, after sharing it and getting some feedback from others who found it useful.


👤 austin-cheney
A media list. It is just a list of movies and mp3s with their metadata (id3 tags) and hash values. The output is just a html table that allows sorting and filtering with a hyperlink to play the media in the browser. Convenient for playing home media on the phone.

👤 shrikant
I had access to a Windows server VM at a previous job that was commissioned for a piece of work. The actual work was then stopped, but the IT folks never decommissioned the VM so I had a nice little server on the local network to play around with. It didn't have Internet access so I was somewhat limited in what I could do with it.

I ended up building a hacky internal IIS/PHP web app (I guess these days one would call it an SPA) that hooked into the company's Active Directory that showed a nice little page of people in our "business unit", with their names, pictures, employee grade (analyst/consultant/manager etc.) and subteam -- basically any bit of info I could get from a user's Active Directory profile.

It used Datatables (https://datatables.net/) for a simple text-based table view and Isotope (https://isotope.metafizzy.co/) for a card-based grid view that you could quickly toggle between.

I called it the "Book of Faces" and announced it to my team at a team social event, and it took off massively beause it was way more performant, simpler, and just much less painful to use than using the clunky corporate intranet app to check user profiles.

Word spread outside of my team and I started getting requests from various other teams to set up similar pages for them as well, which I was only too happy to oblige. This spurred me on to refactor it to make it as simple as possible to set up new team pages.

This silly thing boosted my profile a ridiculous amount within the company, just because I'd left a small footer "emailto" link that people could use to get in touch with suggestions/bugs.

I maintained it as a side project and surreptitious internal app for about 6 years until I left the org, after which I handed it over to someone else. Last I heard though, internal IT finally caught wind of it, and in what I suppose is a "progressive for its kind" response, spoke to the users of the various pages and built a corporate-ised version of the same thing.

A decade-plus of working in tech and data, and that IIS-PHP-JS monstrosity is still one of the bits of work I'm most proud of!


👤 bluescrn
Game jams, when I was younger and had the energy to do a long weekend of coding after a week of work.

Ludum Dare was particularly good fun in its early years (early-mid 2000s), when it was a fairly small community, when people were coding from-scratch, before Unity became an option and the event grew into something a lot bigger.

Game jam coding is different to 'real' game dev, as the time pressure encurages you to just hack away freely and creatively, not spend too much time thinking about building reusable systems or tools, and you can discard the codebase at the end of the weekend.

These days, small functional 3D printing projects can be quite satisfying. Going from a sketch to a simple CAD model to a first draft print, iterating the design a couple of times, and ending up with a simple-but-useful physical object, learning a bit more Fusion 360 in the process.


👤 tnolet
https://github.com/checkly/headless-recorder

- got ~15k GitHub stars.

- AWS copied it.

- We deprecated it as better stuff came on the market with @playwright/test's codegen.

But I did code the initial version in a weekend. Was called Puppeteer Recorder then.


👤 cpfohl
Threw together a toothbrush timer for my kids. Just used the svelte repl:

https://svelte.dev/repl/5a7f676868044bbba2ff3c7a64062066?ver...

On mobile you’ll need to kit the “output” button


👤 turol
https://github.com/turol/valoserveri

It's for controlling DMX colored lights over network. It takes UDP packets (and later Websocket messages) and turns them into DMX protocol packets which get sent over USB serial adapter to the DMX wire. It's a rewrite of a previous node.js version which had bitrotted.

I think I made the MVP in about 7 hours during one saturday afternoon. Finishing it up took a few weeks more of evenings.


👤 albertgoeswoof
I installed a vpn on my AppleTV and couldn’t tell if it was actually working/secure. So I created my first ever swift app, for TVOS (AppleTV).

The app checks if your vpn is active, and tells you your public ip and geo location on a map (also deployed a small service on fly.io to ping/detect this).

Using copilot/chatgtp it was a doddle.

Of course Apple refused to put it in the App Store because it doesn’t have enough features. Even though adding unnecessary bloat to the app would be against their own design philosophy.


👤 pavel_lishin
Building a ramp for my mother's dog - who can't use the stairs - to go up and down the stairs in our backyard. Both V1 and V2 took a weekend, but V1 was disassembled to use for some other stupid thing in the backyard, and V2 is slightly better and more portable/storable for future dog visits.

I know it's a common trope among software developers, but working with wood and making something physical just feels immensely satisfying.


👤 risyachka
I needed a tool to share dev mobile builds (IPA and Apk), there are few options out there but they all are very outdated, so I created AppSend [1]

Free, unlimited, no registration, no ads.

[1] https://appsend.dev


👤 memset
I built a website that takes online recipe pages and just returns the main recipe in plain text. https://www.plainoldrecipe.com

👤 BramLovesYams
I am just starting out trying to learn iOS development and last weekend I made a small tally/counter app. All it does is adds or subtracts 1, but dammit if I'm not excited about it.

👤 shaftway
I was teaching myself Rust and got tired of doing Project Euler problems. I've always wanted a program that made it easier to parse arguments in shell scripts. Something like Python's ArgParse. So I wrote it.

https://github.com/Shaftway/argparse

Initial implementation took about a weekend. I've tweaked and added features and documentation since then. I've only tested it in Bash and I'd love feature suggestions or a critique of the code from better Rustaceans than me. I've been using it in a couple scripts and have really appreciated the functionality.

My Hello World demo is:

    #!/usr/bin/env bash
    eval "$(argparse --string name -- "$@")";
    echo "Hello $NAME"

👤 coumbaya
I was reading "50 years of text games", and one game (Hunt The Wumpus) piqued my interest so I decided to reimplement it in go, based only on the description of the book, initial (working) commit took a few hours over the weekend, then I fell down a rabbit hole when I found out the original source code, and description of its sequels, so I took a few more weekend to implement that then even more features. Probably nobody except a friend played it but for once it felt good developing something outside of work or the advent of code. https://github.com/Koumbaya/wumpus

👤 duggan
One that springs to mind is one I "started" on Friday, but other people finished on Saturday[1].

Started in quotes because my contribution was combining an existing project that was about to fail due to capacity issues with the infinite botnet of AWS spot instances and the power of Hacker News.

It's more than a decade ago now, but I think it's a good example of a project with a simple goal that enabled people to get involved and feel like they were doing something useful.

1: http://rossduggan.ie/blog/code/archiveteam-yahoo-messages-fo...


👤 julianwachholz
Two years ago, on the height of Wordle's popularity I wanted to play a custom word against my colleague and ended up sending the emojis manually in the chat to each of their guesses.

That was a Friday and the same evening I had the idea to make it into one of the many derivatives and finished the same night around 3am.

Things went a bit popular from there and it wasn't long before I was contacted by companies that wanted their own branded version. That meant I had a potential product on my hand and started selling subscriptions to managed branded puzzle sites.

Fast-forward a year and I sold the weekend project for a nice sum. :)


👤 MattPalmer1086
I wrote an asteroids clone on the Pico8 fantasy console. I was surprised how fast it was to get a playable game up and running with it.

👤 samlinnfer
Making a fake AirPrint printer.

I have a Brother printer that has two printer trays, one manual tray (that takes variable sized paper) and a A4 tray. However, when printing from iOS, it doesn't have the full print preset dialog and it is impossible to print from the manual tray, nor is there a way to tell it I want print A6. Of course I insist being able to print A6 whenever, wherever I want with AirPrint and accept no substitute.

So I started with the Bonjour printing spec (https://developer.apple.com/bonjour/printing-specification/b...), and dns-sd on macbook to figure out how AirPrint actually discovers printer and what makes it tick. The entire thing is built on mDNS which is basically DNS instead of using a DNS resolver, it sends the query via multicast DNS. If someone on the network wants to find an AirPrint printer, then it queries via mDNS _ipp._tcp.

e.g. $ dns-sd -Z _ipp._tcp With shows the PTR, SRV and TXT records. The TXT records are based on the Bonjour Printing Spec which list out which fields so it knows the type of the printer and driver to use and it uses the SRV port to find the ipp port so it can contact the printer.

Further investigation using rvictl (iOS packet sniffing) showed the IPP traffic, which is really http API. It is via this API that iOS determines what paper is supported from what tray.

The path is then clear: create my own mDNS service that returns a printer on my own port, this IPP port acts as a reverse proxy to the real printer's IPP port, but it modifies the "media-col-ready" attribute to make iOS think A6 is loaded into the manual try.

It was extremely painful, but it was done.

There were many pitfalls along the way:

* iOS expecting the mDNS to resolve in a certain way, which Hashicorp's library didn't support, this necessitated forking the library and fixing the resolver.

* iOS expecting not only _ipp._tcp but also requiring _universal._sub. (https://support.apple.com/en-us/guide/deployment/dep3b4cf515...) in mDNS, which further complicated the implementation and took time to figure out how it worked. Needed to test with `dns-sd -Z _ipp._tcp,universal`

* iOS detecting the printer via mDNS but when clicking on it, it says it's not available. It is because it insists that ipp has to be on port 631, and refuses to accept (unlike MacOS) ipp on any other port


👤 MS27
Not that impressive but I personally liked it. Since Telegram isn't accessible without VPN or Proxy in my country, i made a flutter app that connects to an API. The API itself uses Telegram API to get and send messages. So i made a Telegram that doesn't need VPN. But it was so simple (Only for one group and only text messages). Anyway I enjoyed the progress and the result. Oh and a question if you can help me. I used streaming FastAPI for the API and used dart:io in flutter to listen for the new messages and put them in the app. Do you suggest any better way to fetch new messages? Like WebSocket or idk anything.

👤 widenrun
When thinking about historical events, I like to see a visual timeline. I built WorldInTimelines [1] when I was first playing with GPT.

[1] https://worldintimelines.com


👤 digitalmaster
We have a WhatsApp group where we share music recommendations with each other. It's grown quite a bit now and it's gotten hard to keep up. Also new members missed everything that came before. So I set out to solve this problem and have some fun last week.

I decided to write a shell script that does the following: - Parses chat export file and extracts all the Spotify URLs. - Removes duplicates - Authenticates w/ Spotify API - Fetches Ids of tracks already in playlist - Creates a difference list of missing tracks - Adds those to the playlist

And that's that.


👤 vinhnx
Last weekend, I decided to take a step to learn and build things, it is also a way to learn about LLM, in which I ended built InkChatGPT. A small and simple RAG LLM app that with tons of learning resources that I was afraid to start to learn with.

I've been diving into the world of Large Language Models (LLMs), particularly the Retrieval Augmented Generation (RAG) approach. As a learning project, I built InkChatGPT, an AI agent that can assist with learning from multiple documents through a chat interface, inspired by projects like ChatPDF.

Under the hood, I used LangChain as the LLM framework to simplify the backend, Streamlit for the front-end UI and deployment, and OpenAI's `gpt-3.5-turbo` model. For generating embeddings for document chunking, I leveraged HuggingFace's `all-MiniLM-L6-v2` model.

Coming from a mobile development background, delving into ML, LLMs, prompt tuning, and various techniques has been an eye-opening experience. While the wealth of information can be overwhelming, building projects like InkChatGPT has been an incredible learning journey.

I'd love to hear your thoughts and experiences with LLMs and RAG systems. Feel free to check out the InkChatGPT repo [1] and share your feedback.

[1] https://github.com/vinhnx/InkChatGPT


👤 KiranRao0
My grandmother's primary method of communication is a cheap Android tablet. It unfortunately includes a preinstalled SMS app that upsells a VoIP SMS service. My grandmother gets extremely frustrated by accidently clicking the message icon and opening an upsell page. There's no way to uninstall the VoIP app.

So instead of giving up and buying a new tablet or paying for an unnecessary service, I hacked together a way to open WhatsApp instead.

https://github.com/Kiran-Rao/openwhatsapp


👤 spiderfarmer
I created a website about dynamic energy pricing in about 8 hours. It ranked no. 1 quickly in my country and the only thing I’ve done since is update my comparison table and I’ve added affiliate links.

👤 foxbarrington
I built https://upfollow.app to help a product manager have a better relationship with the software engineers. It makes it easy to create calendar reminders to follow up on features and other requests that she is waiting on. This provides a little structure, allows delivery estimates to change, limits interruption/nagging, and still catches rabbit holes or distractions before they can prevent features getting put in front of users.

👤 milesvp
One of my favorite weekend projects was an autoclicker. I had (have?) an intellectual infatuation with incremental games, and just found them to be incredibly alluring. I already knew how to write an auto clicker in software, using either existing software, or hooking into processes with my own functions. But, I'd never done any hardware modification for something like this. I had an old mouse, and some hardware kits for arduino/raspberry pi, so I had a 555 timer, and a switch, and a soldering iron, and a drill. And that's all I really needed. I took apart the mouse. I did some calculations, and designed my timer circuit. I soldered the button onto the circuit to click the mouse. Then I tuned the resistors to get enough clicks per second that the particular game I was playing would register them all. Then, I drilled a hole into the mouse case to give me easy thumb access to the button.

It was glorious. I could just hold down the button, and watch numbers go brrr. Sure, I could have bought any number of mice to do it for me. But I wanted to do it, and it was fun, and I have something to show for it. Someday, I may even take it apart and add a rheostat so I can adjust the click frequency. It was a simple hardware project that helped jump start my hardware/firmware career.


👤 remus
I've never had the opportunity to write code for a compiler but it's something that's always been pretty interesting to me so I decided to write a little toy calculator:

calc("1 + 3 / 5")

It was a pretty fun project as you get to do some parsing/lexing, work out how to execute it (function ordering etc.) and then have lots of fun little avenues you can go down (brackets for specifying execution order, adding more functions, arbitrary precision maths etc.)


👤 ikornaselur
It was actually couple of weeks ago, but a small project that took mostly just two days to put together and I'm pretty happy with how it turned out.

Notiflux (https://github.com/ikornaselur/notiflux): a small WebSocket broadcast server, the idea being that clients connect with WebSocket (such as a website) and then any source can send a POST request to the API to broadcast messages, allowing for real-time functionality from servers that don't support WebSockets, or you might have multiple sources that each might broadcast messages.

Auth is done by Notiflux having a public key and the sources have the corresponding private key, JWT tokens signed with the private key include topics and scope (subscribe or broadcast to the topics). Clients would auth with an API for example, get a JWT with maybe a 10 second expiry, use it to subscribe to the topics that the API would then broadcast to through Notiflux.

It was an excuse as well to play with WebSocket in Rust and learn a little bit about the Actor Pattern.

If I would continue I'd want to explore how well it scales, how much traffic it could handle and look into horizontal scaling, but I feel like it's complete enough as a toy project.


👤 Ilasky
I made https://gpupricecompare.com to compare GPU prices from eBay over the weekend and it was an interesting project because it seemed relatively simple upfront, but dealing with titles was a bit tricky. The only solution (I found at least) was to pull in some NLP packages to filter out and match GPUs, get the relevant models, etc. Was a great exercise for some non-LLM NLP.

👤 rozenmd
I built OnlineOrNot's cron job monitoring service in a weekend (at least the initial version).

Since I already had a scheduler job running for regular uptime checks, I wrote an SQL query to find jobs that hadn't reported in the expected time.

On the other side, I built a quick endpoint for my public API for cron jobs to curl upon completion.

After that, I just needed to put up a UI, and it was complete (until I decided to productionize it by splitting it into its own, highly replicated service)


👤 mnahkies
I've not cleaned it up enough to push yet, but I packaged up an open source image recognition model (https://github.com/mnahkies/recognize-anything-api) and then wrote a script to crawl my photo library, run inference over each image and then write the results into the tag tables of digikams sqlite database (https://www.digikam.org/)

One thing I was fairly proud of was how scrappy the script was - I wrote it in typescript for the familiarity with the sqlite driver, but I used find and curl to actually do the crawling and API submission.

Is it hard to do that in pure typescript/node? No, but I was in a "how can I validate if this is even an interesting thing to be doing mode" and execing out to these tools was a way to get there slightly faster.

I've found that this attitude has been a great way to make weekend projects more fun and feel less like work.

Getting to some kind of tangible value sooner has also made easier to not lose interest halfway through and has been yielding me more semi-complete weekend projects (the word semi is doing a lot of work here tbf, but it's all relative)


👤 keepamovin
September 22 - September 23, 2021: puppetromium - "World's simplest browser" - a single file, "remote browser", using MJPEG streamed viewport, CSS breakpoint sizing hack, image-button form control to capture click coordinates to server, and NO client-side JavaScript.^0

I wanted to see if I could make a JavaScript-less "remote browser" that essentially worked. Mainly because there was so much JavaScript in the client for my actual, working, remote browser.

I found out: it is possible. But it ain't pretty! Hahaha. Some pretty cool hacks in there tho. I'm especially proud of the CSS code for probing the viewport size, and how is synthesizes a bunch of cool, slightly fringe / retro web platform techniques like: , Motion JPEG, pinging a sizing URL based on CSS @media query.

I also wanted to use puppeteer, as I didn't even use it 1 bit for my actual remote browser, and puppeteer was such a big thing, I wanted to use it! Haha :)

[0]: https://github.com/dosyago/puppetromium/commits/main/src/ind...


👤 melvinroest
A game that was a spin on the air hockey game that exist in arcade halls. I called it wind hockey [1]. The idea was also inspired by Avatar the Last Airbender.

I am not sure if I have the code anymore. I do vaguely remember that I have the executable somewhere. It was made with Unity3D and took around 40 hours

[1] https://m.youtube.com/watch?v=qTIZ-_UFXqQ&t=1s


👤 robszumski
Ecobee Overview - https://ecobeeoverview.com/

I was diagnosing HVAC issues and was frustrated about the visualization of the data with existing tools. I wanted a single screen with all my thermostats, the mode they are operating in, set point, current temp, with synchronized y-axes.

This app is completely stateless which I think is cool from a privacy and ops perspective.


👤 aabiji
I build a youtube video downloader. I was under the impression that figuring this out would be extremely difficult but with ressources online, it was surprisingly easy. I got a basic downloader down in less than [200 lines](https://gist.github.com/aabiji/c65254af440b1bb53149b2d6a9faf...)!

👤 sailorganymede
When I was looking for a new tech job, I got sick of trying to figure out which Leetcode Pattern I was gonna practice so I just threw all of them on a list and gave me one a day.

The reason it only gives you one random thing a day is cause I didn’t wanna try “re-roll” the pattern I was gonna practice to give me something easier.

https://www.pickoneatrandom.com/


👤 Jnr
Small browser and Linux desktop extension to open links on the current virtual desktop. https://github.com/Janhouse/tab-in-workspace

It's a small quality of life improvement but I wonder why this does not exist out of the box.

I could probably make it a bit easier to set up, but it would then require another weekend. :))


👤 zX41ZdbW
A visualizer and analytics app for air traffic data: https://adsb.exposed/ Although it is based on another app, also made over a weekend: https://reversedns.space/

But then it took a few months before I managed to write README for it.


👤 ronyfadel
I made TextShot [1] in a weekend. It’s a free utility that allows you to copy text on screen that you otherwise can’t copy (from an image or a video), with a simple key command.

[1] https://apps.apple.com/us/app/textshot/id6444068061


👤 sibit
I think my favourite weekend project I've built was an image transformer plugin for Craft CMS. The popular (and only) free image plugin had been deprecated and the author was only going to continue supporting their paid version so I hacked together an Imgix-inspired plugin called Jitter[0] over the weekend. It's not very popular but I like it and use it frequently.

While it's not a very interesting project it's my favourite because of what happened after I published it. While I was at work I noticed the plugin was installed on one of our new client's websites. I went to my boss and asked him if he installed the plugin and what he thought about it. He said he did and it was better than . AFAIK they're still using it years later and I don't think they ever realized it's my plugin.

[0]: https://github.com/codewithkyle/craft-jitter


👤 memset
I built a tool that generates and renews letsencrypt certs, automatically verifies via dns, and uploads to your destination (for example, a load balancer.)

https://github.com/poundifdef/certmaster

I want to turn it into a service but haven’t gotten any feedback that people want it!


👤 yakkomajuri
I think it took me less than a day to ideate on and put Teeny (https://github.com/yakkomajuri/teeny) together, which is the static site generator that's powered my website for almost three years. I never touched the code again after that.

👤 adamhowell
The other day I noticed shipitsquirrel.com was available, so I spent a couple evenings pair programming with ChatGPT to make a fun little Missile Command style game where you help Ship It Squirrel ship by blowing up distractions ;)

https://shipitsquirrel.com


👤 madebywelch
I created SynopsisMD (https://synopsismd.com) to make my partner's job in healthcare a bit easier. Every month, when she meets up with her colleagues, I hear them share their work struggles. That's what motivated me to help.

👤 isoprophlex
Scraping 6 million HN posts (out of a total of 40 million, 6M = some ~3 years of posts) and embedding them with openAI's text embedding models.

Making these full-text and fuzzy searchable with Postgres+pgvector, using reciprocal rank fusion to merge the two rankings. Very rapid query times on a 6 year old intel NUC; a kind of hn.algolia.com search only with added semantic search, not just text search.

Reducing the dimensionality for average per-user and per-submissoon vectors to 3D with UMAP, to see where my posts are located, in "hn discussion space". (expectedly, some users such occupy very specific clusters in discussion-space. There's a "dang telling you to please keep it intellectually stimulating" corner)

I should slap a frontend on the latter, host it somewhere not inside my own house and submit it, honestly.


👤 mark_l_watson
In the 1980s I got a lot of mileage out of the open source OPS5 expert system tool, porting it to my Xerox 1108 and eventually to the product ExperOPS5, and used it in house for prototyping.

My one weekend project: while my wife was out of town with the kids for a weekend, I manually converted about 4500 lines of Common Lisp code to MIT Scheme, and it worked after a few hours of debugging.

Another weekend project: I used my company’s time sharing system to write a very simple Chess program in FORTRAN in one weekend. It didn’t quite play a legal game, no en passant capture. Several months later when I purchased serial number 71 Apple II, I ported the code to Apple Basic, which only took a few hours. Apple distributed that little hack with their Apple II demo program cassette tape.


👤 TomatoCo
To learn Go, I made a small app that supports encrypting files with a public key where the keypair is generated from a password. Because I want my backups to be encrypted but it offends me to keep symmetric keys lying around. With this you can just generate a file containing the public key, stream your file through the app, and decrypt it later with just the password. It's very minimum viable product, but I'm confident that the crypto is done well.

https://github.com/TomatoCo/warren

(It wasn't exactly over a weekend but it only had two or three days of effort put into it, which I think meets the spirit.)


👤 ngshiheng
I made an add-on that syncs esports schedules to my Google calendar. The first iteration took me a weekend and the current iteration has over 100 users at https://tournacat.com/

👤 lightedman
The remote location of, driving to for physical verification, extraction, and processing of a copper ore vein for lapidary purposes. All remote work done Friday morning via ASTER and LANDSAT, 3 hour caravan in 4x4 and AWD vehicles through nasty sand and mountains to the chosen location to verify findings, immediate camp set up and extraction begins that night and through Saturday morning and afternoon, break camp and depart that evening, spend Sunday cutting and polishing to reveal some of the most gorgeous blue and green you've ever seen in a rock.

https://i.imgur.com/EA2QXMe.mp4


👤 Larrikin
I learned the week before the project that the Raspberry Pi 1 I had initially found useless and kept in a drawer for years had a new streamlined OS called DietPi and a thriving community. I had also recently discovered Tail scale. In one weekend I installed DietPi, tail scale, and AdGuard and then had ad blocking on all my devices, including my phone when I was away from home.

The Pi 1 is now an integral part of my network and sent me down the rabbit hole of personal home servers. I have an Odroid running home assistant, a Pi4 now running services where the data doesn't matter, and a Synology running services where the data does matter.


👤 sandreas
Pure Todo[1].

It's a dead simple web todo list organizer with QR-Code based user auth, list-management, REST API and vanilla JS UI in a single PHP and about 10 css and js files. I wanted something simple with no frameworks that works on mobile and desktop for accessing it basically everywhere.

I chose PHP for backend, because it is simple to host. Intentionally I planned all in one single file, which turned out to be too complex, so I extracted at least the css and js :-)

[1]: https://github.com/sandreas/pure-todo


👤 kkfx
Not really a project, just a template of paper letter following french and italian typographic conventions with a qr for automatically import a vcard of the sender and another + a short URL to download a pdf copy of the same paper letter from a URL.

Ideally it's just a way to tell people "ok, we still use paper sometimes, but paper should been able to work with bits as well, so for instance any printed document should be offered with a way to retrieve and original one like a pdf, and if the document itself is signed the digital original should be digitally signed as well".

So far many countries in the world have started norms and some conventions to bridge the gap but no system is really widespread. Qr are widespread, URLs are well known stuff, vcard as well, so it's just a thing I've made because I have had to write a paper letter, I do like LaTeX and automation and I do dislike wasting time scanning things. Marginally since I bough a set of double windows envelopes well, the template much the envelope to print it quickly, new WE I'll made an envelope template since where I live (France) I discovered that beside send a pdf to local post service to get it printed and mailed I can also send something myself buying a pdf stamp to be printed on paper... As I said not really a project but, might count as a project I think :-)


👤 johop
Daily annoyance? Yes! The pre-roll ads on YouTube didn't get blocked anymore by my blockers of trust (Ghostery & uBlock Origin) so I decided to write my very first add-on for Firefox. I've never touched JavaScript or add-ons before - but with the help of ChatGPT I got it working over the weekend [1] and now watch my YouTube videos without any ads. (I also did a version for Chrome, still waiting for approval)

[1] https://addons.mozilla.org/firefox/addon/pureytv


👤 bschwindHN
I used to have a raspberry pi that was running on a schedule to play rain noise while I was sleeping. When I moved I took it down and didn't put it back up, but never liked how excessive it felt.

So I built a simpler version that doesn't have a schedule but runs on an RP2040 and generates brown noise:

https://github.com/bschwind/sleep-machine

Will eventually add some key switches to it so I can start/stop it more easily (currently just plug it into USB when I want sound) adjust volume, low-pass filter params, etc.


👤 icar
A survival guide for Catalan [0] people that want to understand Mallorquí [1].

https://diccionari.icarns.xyz

[0]: https://en.m.wikipedia.org/wiki/Catalan_language [1]: https://ca.m.wikipedia.org/wiki/Mallorqu%C3%AD (no English entry, use translator)


👤 hardlianotion
Made a simple arithmetic drill generator for my youngest, who was struggling at the time. It had a bit of record keeping about it which encouraged a bit of competition and made it interesting to her and her friends.

👤 igniuss
I was messing around with friends on Discord around 4 years ago during lockdown, and it hit me you could write a minesweeper message using discord spoiler tags, so I whipped something up in an hour or two and hosting it on github pages, shared it on a couple of servers I was in, and it's still getting traffic regularly

https://igniuss.github.io/det-cord/

It was fun streaming the work to friends who aren't in the IT sphere, some are now studying to get in the industry


👤 trowa159
A porn site blocker with a RPG element to it https://thewarriortribe.xyz/

👤 whb101
A visual browser for Wikipedia that uses common browsing patterns to show connections. https://wikijumps.com/

👤 rsrihari95
If you watch Formula 1 racing, you'll know that the tyre strategy is a core part of the race. Inspired by that, I build a stripped down racing simulation game, over a weekend. It was featured on front page of F1 reddit and got some media coverage as well!

Unfortunately it didn't support mobile browser since it was quickly done and that meant a lot of interested folks couldn't play it then.

You can play it here - (https://pitlane.radx.in/)


👤 cr125rider
I extended Gnome Search so my project selection/opening is nice an integrated into my DM. It was way harder than I thought as someone with 0 DBUS experience. Fun though!

👤 logtempo
https://github.com/NotACoin/BLE_LED_strip

this one, took me little time to figure out how to use wireshark, get data, input command with my phone...eventually the voltage regulator died a day after for overcurrent or dead chip. But it was fun. I don't have the motivation to undead the device unfortunatly.


👤 wjgilmore
Last August I built and launched EmailReputation API in about 12 hours both out of frustration due to spammers and bots signing up to things using syntactically valid but still bogus emails, and also as a test to see how much I could lean on AI coding tools to build something new as quickly as possible.

https://emailreputationapi.com/

Learned a lot and I now use the API for my other projects!


👤 tqwhite
I can't remember exactly why but I was frustrated with an inability to text my brother using iMessage on my computer. We were watching movies together and I had to use my phone which required looking at it, or something.

One weekend, I wrote a messaging app that used telnet and Twilio to make multi-user, terminal based, communication system with user management and other nice features. It was extremely cool.

He, being kind of a dick, would never use it so I lost it.


👤 mattkevan
I was getting bored with cutting out images from their backgrounds for a project I was working on. Existing solutions didn’t seem that great or wanted a monthly subscription, so this weekend I decided to build my own.

With 0 knowledge of Swift and a bit of ML experience I was able to build a Mac app that does a much better job of it than the built-in model.

Planning more features, including upscaling, exposure/contrast fixes and possibly inpainting.


👤 treebeard5440
Took me bout 2 days for the initial release of the config-file-validator. I had been thinking about it for a while and was able just to knock it pretty quickly. It’s changed a LOT since initial release and 95% of that work has been from open source contributors

https://github.com/Boeing/config-file-validator


👤 petervandijck
I built an app to give us analytics on an LLM we are building for a client. It focuses specifically on “what people are talking about”. It’s literally one call to Gemini in terms of LLM usage… https://simplyanalyze.ai/ (We worked on this after the initial weekend but the basic app and UI you see there was working in a weekend)

👤 callamdelaney
https://easyrecruitment.tools

All it does right now is it takes a CV, adds branding and standardises its format. I built it as a sort of sweetener for recruiters with the plan of adding more tools.

I used chatgpt to extract and re-word the candidates experiences though and it does tend to hallucinate, so not practically useful.

-edit seems to be down but will have to wait to fix it


👤 aster0id
A utility to share environment variables with others P2P - https://github.com/viraniaman94/sendenv

Had posted it here as well: https://news.ycombinator.com/item?id=39098133

Got a lot more GitHub stars than I had anticipated. Still getting stars here and there.


👤 ingigauti
I wrote a D&D game in Plang language. https://github.com/PLangHQ/apps/tree/main/DnD

I noticed there are a lot of D&D game in the chatgpt store, so I wanted to bring it to my local machine instead of using the chatgpt website

Took about 4 hours from idea to finish. Source code is in the .goal files


👤 alexpogosyan
I have these pesky touch typing habits that slow me down: pressing a key and its Shift key with the same hand, or not alternating hands for the spacebar. So I've built an app designed to fix these problems. The idea is to show correct shift keys and correct hand for spacebar to press.

https://www.touchtypist.app


👤 mindaslab
https://kanipaan.codeberg.page/ , a command line calculator written in Clojure. If any one knows how to use Java jline library with Clojure please message me, you can find my contacts here https://yu7.in/mindaslab.

👤 codingdave
I wrote a Chrome extension that scrapes eBird to pull the GPS coordinates of bird sightings from whichever page you are on and display them on a map. When I want to go out for a bird-watching adventure, I pull up the rare bird alert for my state, kick off the extension, and get a simple map that I can check to see if there have been any birds near me that aren't already on my list.

👤 rsaz
I made a fun clicking test [1] based on my favourite typing test website [2]. It wasn’t exactly a weekend, but I was recently laid off and everything feels like the weekend now lol.

Not very mobile friendly btw (sorry)

1: https://rsazra.com/clickings

2: https://typings.gg/


👤 hidelooktropic
I made a Wordle like game that asks you to add two emojis together

https://everything.io


👤 trumbitta2
Official (and Accessible) website of a local county in 2006. Zero to deploy in 40hrs (I slept 4hrs per night).

Project, design, implementation, copywriting, bought vps, installed, secured, and configured RedHat, apache, tomcat, the website (a Java-based portal system I used to build together with a team of 5), configured DNS, go-live, attend to the press conference.

No errors, no known security issues. Spotless.


👤 S_A_P
I rebuilt a Rhodes electric piano. Mine was in ok shape but the Rolex was ripped and some notes were hard to play. Turns out all the screws holding it together were bent.

Bought some duratex roll on coating (similar to truck bed liner) and recovered it. Then went to the hardware store and bought replacement screws and bolts to reassemble the keyboard.

Can’t believe how much better it plays now. Butter smooth.


👤 selmat
I created PoC for merging similar system requirements and performing gap analysis between vendor documentation and internal company SOPs and policies.

Everything in Python flask + Azure OpenAI. I am working on moving AI part to Claude Sonet. Seems that results are bit different since GPT model has more rough approach to merging requirements and also less sensitive to finding gaps.


👤 akash_d
I built an app https://hopinio.com - a UGC reviews collector for Instagram sellers.

[1] makes it easy for sellers to collect and showcase genuine customer reviews on Instagram. just shipped the initial version. still working for the launch.

[1]https://hopinio.com


👤 4fips
The initial version of my online Numeric Base Converter (https://apps.4fips.com/nubco/) was done in a day, mostly to try out Rust + egui. The app hasn't changed much since then, and I no longer have to search for some random online converter when I need one :)

👤 deivid
I implemented a Snapcast client[0] in Rust, with the goal of having synchronized speakers, using only an ESP32 per speaker. I didn't get to the ESP32 part that weekend though, probably it'll come on the next one.

[0]: https://github.com/DavidVentura/snapcast-client


👤 dbish
My friend’s kid really likes to email people so I thought it would be neat to build a little auto-responder powered by gpt with different personalities (prompts), got this up and running using flask + gpt assistants api that uses assistants paired with an email service: http://fraind.email

👤 bobbiechen
A few years ago, I wrote an interactive visual decoder for flag semaphore cipher: https://bobbiec.github.io/semaphore-decoder.html

As a habitual puzzle hunter, I found it slow and tiring to decode with existing tools, so I wrote my own and still use it.


👤 karczex
I made simple mechanical macropad (only two keys) out of LEGO bricks, ethernet wire and Arduino nano. And little bit of PC software to overcome Arduino nano limitations.

I was really surprised how springy LEGO may be :)

https://github.com/karczex/lego-macropad/


👤 snide
I built a command line bookmark manager in Fish and FZF that stores data in Xata, which I then pull into my website as well. Source and demo available on Github from the article below.

https://www.davesnider.com/posts/bookmarks


👤 txprog
I wrote a podcast generator based on AI related papers that ingest the podcast dialogues, voices, tag, assemble audio et publish RSS automatically. I was inspired by the PDF ingestion of OpenAI and the quality of the TTS.

It is named https://paperbrief.net


👤 m0gg
Since I've heard very good things about Svelte & Sveltekit, I decided to give a go and build a trello clone with it. It started as a weekend project, but I've since then continued working on it.

https://github.com/m0g/banban


👤 greenie_beans
a notification system that notifies backpackers whenever a highly coveted permits becomes available. made it for myself in a few hours then spent another half day setting it up so other people can subscribe. i got two subscriptions from one reddit comment, made $20 while i was out fishing!

👤 yrpics1
I built ytpics.com over weekend night, which helps one download pictures from YouTube videos.

👤 attheodo
Spent some time in an apartment with shady WiFi, dropped connections and frequent disconnects.

I built a macOS menubar app that just... pings: https://github.com/attheodo/Pingu


👤 greyzor7
The very first MVP early version of https://microlaunch.net took me a weekend, then perfected it and put it in the hand of beta testers. The whole idea to launch took a month

👤 notsahil
Made this a few years ago within a day for personal use: https://wa-dm.pages.dev/ When WhatsApp needed to save the contact first to message using Vue2&Nuxt2

👤 codazoda
I wrote an instructional book about how to publish your own book. It gets good reviews but not a lot of reads due to a lack of promotion. I’ve been thinking about writing a second edition that would be a much longer version as a must read.

👤 ludovicianul
Starting from Wordle, I've created some additional word-based games that can be played in the terminal: https://github.com/ludovicianul/words

👤 carlbordum
I made an HTTP tunneling service based on WireGuard that doesn't require any custom software on the clients: https://tunnel.pyjam.as/.

👤 gregfjohnson
Goofing around with the Y combinator, and quines (programs that print themselves): I wanted to see how much a quine written in C could be made to look like lisp-style self application. Worked out pretty well!

👤 petabyt
I was curious and tried to make the smallest useful android app. I was able to get the APK down to 65kb for a basic US constitution reader. For reference, the constitution is 40kb uncompressed.

👤 egeozcan
It's extremely silly and inefficient but I love making random disco gifs: https://github.com/egeozcan/gifDisco

👤 Trufa
A mini chess game that got popular for a while

https://knight-queen-game.netlify.app/


👤 franze
sensless but cool

https://rotr.franzai.com/

rise of the rotars

a "life" simulation that always ends in monoculture

but nice to look at


👤 lelanthran
A fairly simple proxy for unencrypted HTTP transmissions (although it will proxy any TCP transmission): https://gist.github.com/lelanthran/0ab8830c753dba63bbc1c9851...

Clears any compression format headers so that both parties are forced to communicate in the clear. Generally I have a split terminal with client transmissions scrolling down on the left side and server responses scrolling on the right side.

This is something that I find myself using daily, especially when programming embedded devices that talk to a server (esp32, for example). It's nice to be able to switch to a screen and see all the messages scroll by, especially with esp32-type projects where there really is no good way to figure out what the device didn't like about the response (or in what way the request was mangled so that the server program didn't like it).

I use it on web projects as well, because frankly, the three-finger-salute I have configured for switch screens/desktops is much faster than clicking around in devtools.


👤 olzhasar
A web messenger built with Go and Vue.js: https://chat.olzhasar.com/

👤 costcofries
I've had a long urge to start mixing music, so I scratched that itch over the weekend and now I'm waist deep into a new obsession.

👤 achristmascarl
playing charades with ai: https://charades.ai

originally, the answers and gameplay were based on wordle, but i recently changed it to be more open-ended and like a real game of charades

almost all aspects of the game (images, answers) are generated using the openai api


👤 batch12
Most recently it was writing a harness to use control vectors with llama-cpp-python's low level API.

👤 personjerry
Finished? Haven't managed that yet

👤 spacecadet
A zero-player pixel art universe simulator using pygame.

👤 joshagilend
agilend.tv - TV channel for business-centered video with embeds from Cloudflare serverless and YouTube.

👤 raymond_goo
not a weekend, but a week: https://instagib.me

👤 splitbrain
The first version of https://indieblog.page/ took about a weekend.

My pastebin with line commenting https://commie.io/ was also a weekend project.

Heck even the first version of DokuWiki was done on a weekend, but that one still isn't done...