ప్రతి వదిలివేసిన రిపోజిటరీ ఒకప్పుడు తెల్లవారుజామున 2 గంటల సమయంలో కలిగిన ఒక పిచ్చి. ఆ లయ మీకు తెలుసు. అర్ధరాత్రి సమయంలో ఆ ఆలోచన మెరుపులా వస్తుంది. మీ కాఫీ చల్లారకముందే మీరు రిపోజిటరీని సిద్ధం చేస్తారు. పదకొండు రోజుల పాటు, చివరకు ఏదో సాధించబోతున్నామన్న ఉత్సాహంతో మీరు కోడ్‌ను పుష్ చేస్తారు. ఆ తర్వాత ఆ స్ప్రైంట్ ముగుస్తుంది. లేదా బాయిలర్ పాడైపోతుంది. లేదా మీరు కేవలం ఒక మంగళవారం సాయంత్రం ఆ కోడ్‌ను తెరిచి చూస్తారు, అప్పటికే ఆ ఆలోచన క్రమం తెగిపోయి ఉంటుంది.

చాలా మంది డెవలపర్లు ఈ భారంతోనే ఉంటారు. ఇది పశ్చాత్తాపం కాదు, "ఒకవేళ అలా జరిగితే ఏమయ్యేది?" అనే ఆలోచనల నిశ్శబ్ద జాబితా వంటిది. మీ GitHub ప్రొఫైల్ మంచి ఉద్దేశాల సమాహారంగా మారిపోతుంది. Side Project Cemetery సృష్టికర్త దీనిని నేరుగా ఎదుర్కొనేలా ఒక సాధనాన్ని రూపొందించారు. వారి టూల్ మీ పబ్లిక్ ప్రొఫైల్‌ను వెన్నెల వెలుగులో ఉన్న ఒక స్మశానంగా మారుస్తుంది, అక్కడ ప్రతి పాత రిపోజిటరీకి ఒక సమాధి రాయి, మరణించిన తేదీ మరియు అప్పుడప్పుడు ఒక జోక్ కూడా ఉంటాయి.

స్మశానం పెరుగుతోంది

సైడ్ ప్రాజెక్టులు సామాన్యమైన కారణాల వల్ల చనిపోతాయి. మీరు ఒక కొత్త ఫ్రేమ్‌వర్క్‌ను నేర్చుకోవాలనుకున్నారు, అందుకే ఒక CLI tool నిర్మించారు. మీరు ఒక స్ప్రెడ్‌షీట్‌ను ఆటోమేట్ చేయాలనుకున్నారు, అందుకే ఒక Python wrapper వ్రాశారు. ఆ ప్రోటోటైప్ మీ సమస్యను పరిష్కరించడానికి సరిపోతుంది, అంతే! అక్కడ వేచి ఉన్న యూజర్ లేరు, గడువు తేదీల ఒత్తిడి లేదు, స్టేటస్ అప్‌డేట్ అడిగే మేనేజర్ లేరు. బాహ్య ఒత్తిడి లేనప్పుడు, ప్రేరణే (motivation) మొత్తం భారాన్ని మోయాలి. ప్రేరణ తగ్గినప్పుడు, ప్రాజెక్ట్ స్తంభించిపోతుంది.

ఏదైనా ఒక సాధారణ డెవలపర్ యొక్క GitHub ని చూస్తే మీకు ఆ నమూనా కనిపిస్తుంది. ఒక రిపోజిటరీ కోసం తుప్పు పట్టినట్లుగా ఉన్న contribution graph. “TODO: write tests” అని ముగిసే ఒక README. ఆరు నెలల క్రితమే ఆగిపోయిన ఒక commit history. మేము ఈ రిపోజిటరీలను సిగ్గుచేటు జ్ఞాపకాలుగా భావిస్తాము. పూర్తి చేయని కోడ్ ఏదో దాచుకోవాల్సిన విషయం అన్నట్లుగా, మేము వాటిని త్వరగా స్క్రోల్ చేసి దాటేస్తాము. Side Project Cemetery దీనికి విరుద్ధమైన వైఖరిని తీసుకుంటుంది. అది ఇలా చెబుతుంది: వాటిని సరిగ్గా పాతిపెట్టండి. వాటిని గుర్తించండి. ఆ తర్వాత, మీకు కావాలంటే, వాటిలో ఒకదాన్ని మళ్ళీ బతికించండి.

ఈ స్మశానం ఎలా పనిచేస్తుంది

దీని ఇంటర్‌ఫేస్ చాలా సరళంగా ఉంటుంది. మీరు ఏదైనా GitHub యూజర్‌నేమ్‌ను టైప్ చేయాలి. ఈ యాప్ GitHub REST API ని క్వెరీ చేసి, ప్రతి పబ్లిక్ రిపోజిటరీని తీసుకుని, గత వంద ఎనభై రోజుల్లో ఎలాంటి push లేని వాటిని ఫిల్టర్ చేస్తుంది. ప్రతి ఫలితం ఒక సమాధిగా మారుతుంది. మీరు దాని పుట్టిన సంవత్సరం, మరణించిన సంవత్సరం మరియు రిపోజిటరీ వివరాల నుండి రూపొందించబడిన ఒక స్మృతి వాక్యాన్ని (epitaph) చూడవచ్చు.

కొన్ని స్మృతి వాక్యాలు మృదువుగా ఉంటాయి:

  • JavaScript లో వ్రాయబడింది. Callback exhaustion వల్ల మరణించింది.

మరికొన్ని చరిత్రను మరింత ఉత్సాహంగా చెబుతాయి:

  • చనిపోలేదు. 2025 నుండి చాలా సీరియస్‌గా హోల్డ్‌లో ఉంది.

మీకు ఇంకాస్త వ్యక్తిగతంగా కావాలంటే, మీరు ఐచ్ఛికంగా Gemini integration ను ఎనేబుల్ చేయవచ్చు. AI ఆ రిపోజిటరీ యొక్క భాష మరియు సందర్భాన్ని చదివి, టెంప్లేట్‌లా కాకుండా ప్రత్యేకంగా అనిపించేలా స్మృతి వాక్యాలను రూపొందిస్తుంది. అలాగే ElevenLabs integration కూడా ఉంది, ఇది ఆ శ్రద్ధాంజలిని గొంతుతో చదువుతుంది. మీ వదిలివేసిన API wrapper గురించి ఒక గంభీరమైన కథకుడి స్వరం వినిపించే వరకు ఇది ఒక చిన్న వినోదంలా అనిపించవచ్చు. కానీ ఆ విడ్డూరం విన్నప్పుడు, ఆ నింద (guilt) పోయి నవ్వు వస్తుంది, నిజానికి ఆ నిదే రిపోజిటరీని పాతిపెట్టేలా చేస్తోంది.

Rekindle: భారంగా అనిపించకుండా ఒక బటన్

స్మశానం అనేది కేవలం సగం అంశం మాత్రమే. అసలైన ఫీచర్ ప్రతి సమాధి రాయి కింద దాగి ఉంది: అది Rekindle బటన్. దానిని క్లిక్ చేస్తే, యాప్ మీ README ని చదువుతుంది. ప్రాజెక్ట్ ఉద్దేశం గురించి మీరు ఏమి రాశారో విశ్లేషించి, ఉన్న కోడ్‌తో పోల్చి, మీరు అసలు ఎందుకు దీనిని ప్రారంభించారో గుర్తుచేసేలా ఒక చిన్న వివరణను వ్రాస్తుంది. ఆ తర్వాత, ఈ రాత్రి మీరు చేయగలిగే ఒక చిన్న, స్పష్టమైన పనితో అది ముగుస్తుంది. అది రోడ్‌మ్యాప్ కాదు, రిఫ్యాక్టర్ ప్లాన్ కాదు. కేవలం ఒక పని. ఐదు నిమిషాల పని.

ఇది చాలా ముఖ్యం, ఎందుకంటే పాత ప్రాజెక్ట్‌ను మళ్ళీ ప్రారంభించడంలో కష్టమైన భాగం కోడింగ్ చేయడం కాదు. మీరు ఎక్కడ ఆపారో గుర్తుంచుకోవడం మరియు ఆగిపోయినందుకు మిమ్మల్ని మీరు క్షమించుకోవడం. చనిపోయిన ప్రాజెక్ట్ చాలా పెద్దదిగా అనిపిస్తుంది. దాని architecture ని మళ్ళీ అర్థం చేసుకోవడానికి కూడా మూడు గంటలు పడుతుందని మీరు అనుకుంటారు. Rekindle బటన్ ఆ అనుమానాన్ని ఒక చిన్న పనిగా మారుస్తుంది. మీ తదుపరి commit కేవలం ఐదు నిమిషాల దూరంలో ఉన్నట్లు అనిపించడమే దీని లక్ష్యం, ఎందుకంటే ఒకసారి హిస్టరీలో ఒక చిన్న మార్పు (diff) కనిపిస్తే, మళ్ళీ వేగం (momentum) వస్తుంది.

ఈ స్టాక్ ఎందుకు ఇంత సరళంగా ఉంచాలి

సాంకేతికంగా, ఈ ప్రాజెక్ట్ తాను చెప్పేదే ఆచరిస్తుంది. ఇది vanilla HTML, CSS, మరియు JavaScript తో నిర్మించబడింది. ఇది GitHub REST API ని ఉపయోగిస్తుంది. ఇందులో సర్వర్లు లేవు, బిల్డ్ స్టెప్స్ లేవు, నిర్వహించాల్సిన ప్రతి నెలా మారే ఫ్రేమ్‌వర్క్ (framework-of-the-month) లేదు. మీరు దీనిని GitHub Pages పై హోస్ట్ చేసి వదిలేయవచ్చు.

ఆ మినిమలిజం అనేది ఒక ఫీచర్, సోమరితనం కాదు. పాత కోడ్‌ను పునరుజ్జీవింపజేసే టూల్ స్వయంగా బలహీనమైన dependency tree పై ఆధారపడకూడదు. ఒకవేళ సృష్టికర్త Side Project Cemetery ని ఆరు నెలల పాటు వదిలేసినా, ఆ స్మశానం తన స్వంత స్మశానంలో మరొక నివాసిగా మారదు. కోడ్ చదవడానికి సులభంగా ఉంటుంది. అప్‌డేట్ చేయాల్సిన webpack configs లేవు, ప్యాచ్ చేయాల్సిన Docker images లేవు. ఇది టూలింగ్‌లో నియంత్రణ గురించి ఒక నిశ్శబ్ద వాదన: కొన్నిసార్లు ఒక static site మరియు ఒక API key సరిపోతాయి.

ఆ బటన్ నిజంగా ఎప్పుడు పనిచేస్తుంది

డెవలప్‌మెంట్ సమయంలో తమ సొంత నిలిచిపోయిన ప్రాజెక్ట్‌లే తమను పిలిచినట్లు బిల్డర్ ఒప్పుకుంటున్నారు. అందులో ఒక ప్రాజెక్ట్ ప్రత్యేకంగా, ఒకే రాత్రి ఉత్సాహంలో రాసి, ఆ తర్వాత మర్చిపోయిన ఒక పిచ్చి లాంటిది. వారు దానిపై 'Rekindle' బటన్‌ను ఉపయోగించారు. ఆ యాప్ READMEని చదివి, దాని ఉద్దేశ్యాన్ని గుర్తుపట్టి, పూర్తి చేయడానికి ఒక స్పష్టమైన పనిని అందించింది. అది పని చేసింది. అదే వారంలో వారు ఆ మిస్సింగ్ భాగాన్ని పూర్తి చేసి విడుదల చేశారు.

ఇదే ఈ టూల్ యొక్క ప్రధాన ఉద్దేశ్యం. అభిరుచి చనిపోదు, అది కేవలం విశ్రాంతి తీసుకుంటుంది. వదిలివేసిన చాలా రిపోజిటరీల సమస్య ఇంజనీరింగ్‌లో లేదు. అవి సందర్భాన్ని (context) కోల్పోవడం వల్ల ఏర్పడినవి. ఆ ఆలోచన కేవలం మీ మెదడులో మాత్రమే ఉండటం వల్ల మీరు దానిని కోల్పోయారు, మరియు మీ మెదడు ఇతర ఆలోచనల వైపు మళ్లిపోయింది. Side Project Cemetery ఆ సందర్భాన్ని బయటకు తెస్తుంది. ఇది READMEని చదువుతుంది, తద్వారా మీరు మీ పాత ఆలోచనలను మొదటి నుండి మళ్ళీ నిర్మించుకోవాల్సిన అవసరం ఉండదు.

మీరు ఎన్ని రిపోజిటరీలను పునరుద్ధరిస్తారనేది అసలు కొలమానం కాదు. వాటి గురించి మీరు ఎంత తక్కువ అసౌకర్యంగా ఫీల్ అవుతున్నారనేదే ముఖ్యం. మీరు సిద్ధమయ్యే వరకు ఆ ప్రాజెక్ట్‌లకు విశ్రాంతి తీసుకోవడానికి ఈ cemetery ఒక చోటును ఇస్తుంది. మీరు సిద్ధమైనప్పుడు, ఇది మీకు ఒక పారను మరియు ఒకే ఒక్క సూచనను ఇస్తుంది: ఇక్కడి నుండి ప్రారంభించండి.

మీ ఆలోచనలు పాతిపెట్టబడి ఉండనివ్వకండి.

https://pyaroslav.github.io/side-project-cemetery/ వద్ద సైట్ సందర్శించండి, మరియు Dev.to లో పూర్తి కథనాన్ని ఇక్కడ చదవండి.