ਹਰ ਛੱਡਿਆ ਹੋਇਆ ਰੈਪੋਜ਼ੀਟਰੀ ਕਦੇ ਰਾਤ ਦੇ 2 ਵਜੇ ਦਾ ਜਨੂੰਨ ਹੁੰਦਾ ਸੀ। ਤੁਸੀਂ ਇਸ ਲੈਅ ਨੂੰ ਜਾਣਦੇ ਹੋ। ਵਿਚਾਰ ਅੱਧੀ ਰਾਤ ਦੇ ਆਸ-ਪਾਸ ਆਉਂਦਾ ਹੈ। ਤੁਹਾਡੀ ਕੌਫੀ ਠੰਢੀ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਹੀ ਤੁਸੀਂ ਰੈਪੋਜ਼ੀਟਰੀ ਦਾ ਢਾਂਚਾ ਤਿਆਰ ਕਰ ਲੈਂਦੇ ਹੋ। ਗਿਆਰਾਂ ਦਿਨਾਂ ਤੱਕ, ਤੁਸੀਂ ਉਸ ਉਤਸ਼ਾਹ ਨਾਲ ਕੋਡ ਪੁਸ਼ ਕਰਦੇ ਹੋ ਜਿਵੇਂ ਕਿ ਤੁਸੀਂ ਅਖੀਰਕਾਰ ਕੁਝ ਵੱਡਾ ਹਾਸਲ ਕਰ ਲਿਆ ਹੋਵੇ। ਫਿਰ ਸਪ੍ਰਿੰਟ ਖਤਮ ਹੋ ਜਾਂਦਾ ਹੈ। ਜਾਂ ਬੁਆਇਲਰ ਖਰਾਬ ਹੋ ਜਾਂਦਾ ਹੈ। ਜਾਂ ਤੁਸੀਂ ਸਿਰਫ ਮੰਗਲਵਾਰ ਸ਼ਾਮ ਨੂੰ ਕੋਡ ਖੋਲ੍ਹਦੇ ਹੋ ਅਤੇ ਉਹ ਲੜੀ ਟੁੱਟ ਚੁੱਕੀ ਹੁੰਦੀ ਹੈ।

ਜ਼ਿਆਦਾਤਰ ਡਿਵੈਲਪਰ ਇਸ ਬੋਝ ਨੂੰ ਮਹਿਸੂਸ ਕਰਦੇ ਹਨ। ਇਹ ਪਛਤਾਵਾ ਨਹੀਂ ਹੈ, ਸਗੋਂ 'ਕਾਸ਼' ਵਾਲੀਆਂ ਗੱਲਾਂ ਦੀ ਇੱਕ ਚੁੱਪ ਰੂਪ ਵਿੱਚ ਸੂਚੀ ਵਾਂਗ ਹੈ। ਤੁਹਾਡੀ GitHub ਪ੍ਰੋਫਾਈਲ ਚੰਗੀਆਂ ਇੱਛਾਵਾਂ ਦਾ ਇੱਕ ਆਰਕਾਈਵ ਬਣ ਜਾਂਦੀ ਹੈ। Side Project Cemetery ਦੇ ਬਾਨੇ ਨੇ ਕੁਝ ਅਜਿਹਾ ਬਣਾਇਆ ਹੈ ਜੋ ਇਸ ਸਥਿਤੀ ਦਾ ਸਿੱਧਾ ਸਾਹਮਣਾ ਕਰਦਾ ਹੈ। ਉਹਨਾਂ ਦਾ ਟੂਲ ਤੁਹਾਡੀ ਪਬਲਿਕ ਪ੍ਰੋਫਾਈਲ ਨੂੰ ਇੱਕ ਚੰਦਨੀ ਰਾਤ ਵਾਲੇ ਕਬਰਸਤਾਨ ਵਿੱਚ ਬਦਲ ਦਿੰਦਾ ਹੈ ਜਿੱਥੇ ਹਰ ਪੁਰਾਣੀ ਰੈਪੋਜ਼ੀਟਰੀ ਨੂੰ ਇੱਕ ਹੈੱਡਸਟੋਨ, ਮੌਤ ਦੀ ਮਿਤੀ, ਅਤੇ ਕਦੇ-ਕਦੇ ਇੱਕ ਮਜ਼ਾਕੀਆ ਗੱਲ ਮਿਲਦੀ ਹੈ।

ਕਬਰਸਤਾਨ ਵਧਦਾ ਜਾ ਰਿਹਾ ਹੈ

ਸਾਈਡ ਪ੍ਰੋਜੈਕਟ ਆਮ ਕਾਰਨਾਂ ਕਰਕੇ ਮਰ ਜਾਂਦੇ ਹਨ। ਤੁਹਾਨੂੰ ਇੱਕ ਨਵਾਂ ਫਰੇਮਵਰਕ ਸਿੱਖਣ ਦੀ ਲੋੜ ਸੀ, ਇਸ ਲਈ ਤੁਸੀਂ ਇੱਕ CLI tool ਬਣਾਇਆ। ਤੁਸੀਂ ਇੱਕ ਸਪ੍ਰੈਡਸ਼ੀਟ ਨੂੰ ਆਟੋਮੇਟ ਕਰਨਾ ਚਾਹੁੰਦੇ ਸੀ, ਇਸ ਲਈ ਤੁਸੀਂ ਇੱਕ Python wrapper ਲਿਖਿਆ। ਪ੍ਰੋਟੋਟਾਈਪ ਤੁਹਾਡੀ ਸਮੱਸਿਆ ਨੂੰ ਹੱਲ ਕਰਨ ਲਈ ਕਾਫੀ ਵਧੀਆ ਸੀ, ਅਤੇ ਉਹੀ ਅੰਤ ਸੀ। ਉੱਥੇ ਕੋਈ ਉਪਭੋਗਤਾ ਇੰਤਜ਼ਾਰ ਨਹੀਂ ਕਰ ਰਿਹਾ ਸੀ, ਕੋਈ ਡੈੱਡਲਾਈਨ ਨਹੀਂ ਸੀ, ਕੋਈ ਮੈਨੇਜਰ ਸਟੇਟਸ ਅਪਡੇਟ ਨਹੀਂ ਮੰਗ ਰਿਹਾ ਸੀ। ਬਾਹਰੀ ਦਬਾਅ ਤੋਂ ਬਿਨਾਂ, ਸਾਰਾ ਭਾਰ ਪ੍ਰੇਰਣਾ (motivation) ਨੂੰ ਹੀ ਚੁੱਕਣਾ ਪੈਂਦਾ ਹੈ। ਜਦੋਂ ਪ੍ਰੇਰਣਾ ਘਟਦੀ ਹੈ, ਪ੍ਰੋਜੈਕਟ ਰੁਕ ਜਾਂਦਾ ਹੈ।

ਕਿਸੇ ਆਮ ਡਿਵੈਲਪਰ ਦੇ GitHub ਨੂੰ ਦੇਖੋ ਅਤੇ ਤੁਹਾਨੂੰ ਇਹ ਪੈਟਰਨ ਦਿਖਾਈ ਦੇਵੇਗਾ। ਇੱਕ ਰੈਪੋਜ਼ੀਟਰੀ ਲਈ ਜੰਗਾਲ ਵਰਗਾ ਰੰਗ ਵਾਲਾ ਕੰਟਰੀਬਿਊਸ਼ਨ ਗ੍ਰਾਫ। ਇੱਕ README ਜੋ "TODO: write tests" ਨਾਲ ਖਤਮ ਹੁੰਦਾ ਹੈ। ਇੱਕ ਕਮਿਟ ਹਿਸਟਰੀ ਜੋ ਛੇ ਮਹੀਨੇ ਪਹਿਲਾਂ ਹੀ ਖਤਮ ਹੋ ਗਈ ਸੀ। ਅਸੀਂ ਇਹਨਾਂ ਰੈਪੋਜ਼ੀਟਰੀਆਂ ਨੂੰ ਸ਼ਰਮਿੰਦਗੀ ਵਾਲੀਆਂ ਯਾਦਾਂ ਵਾਂਗ ਮੰਨਦੇ ਹਾਂ। ਅਸੀਂ ਇਹਨਾਂ ਨੂੰ ਜਲਦੀ ਨਾਲ ਅੱਗੇ ਵਧਾ ਦਿੰਦੇ ਹਾਂ, ਜਿਵੇਂ ਕਿ ਅਧੂਰਾ ਕੋਡ ਕੁਝ ਲੁਕਾਉਣ ਵਾਲੀ ਚੀਜ਼ ਹੋਵੇ। Side Project Cemetery ਇਸ ਦੇ ਉਲਟ ਸਟੈਂਸ ਲੈਂਦਾ ਹੈ। ਇਹ ਕਹਿੰਦਾ ਹੈ: ਇਹਨਾਂ ਨੂੰ ਸਹੀ ਤਰੀਕੇ ਨਾਲ ਦਫ਼ਨਾਓ। ਇਹਨਾਂ ਨੂੰ ਮਾਨਤਾ ਦਿਓ। ਫਿਰ, ਜੇ ਤੁਸੀਂ ਚਾਹੋ, ਤਾਂ ਇੱਕ ਨੂੰ ਵਾਪਸ ਲੈ ਕੇ ਆਓ।

ਕਬਰਸਤਾਨ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ

ਇਸਦਾ ਇੰਟਰਫੇਸ ਸਿੱਧਾ ਅਤੇ ਸਰਲ ਹੈ। ਤੁਸੀਂ ਕੋਈ ਵੀ GitHub ਯੂਜ਼ਰਨੇਮ ਟਾਈਪ ਕਰਦੇ ਹੋ। ਐਪ GitHub REST API ਰਾਹੀਂ ਜਾਣਕਾਰੀ ਲੈਂਦੀ ਹੈ, ਹਰ ਪਬਲਿਕ ਰੈਪੋਜ਼ੀਟਰੀ ਨੂੰ ਕੱਢਦੀ ਹੈ, ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਫਿਲਟਰ ਕਰਦੀ ਹੈ ਜਿਨ੍ਹਾਂ ਵਿੱਚ ਪਿਛਲੇ ਇੱਕ ਸੌ ਅੱਸੀ ਦਿਨਾਂ ਵਿੱਚ ਕੋਈ ਪੁਸ਼ (push) ਨਹੀਂ ਹੋਇਆ। ਹਰ ਨਤੀਜਾ ਇੱਕ ਕਬਰ ਬਣ ਜਾਂਦਾ ਹੈ। ਤੁਸੀਂ ਜਨਮ ਦਾ ਸਾਲ, ਮੌਤ ਦਾ ਸਾਲ, ਅਤੇ ਰੈਪੋਜ਼ੀਟਰੀ ਦੇ ਵੇਰਵਿਆਂ ਤੋਂ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਇੱਕ ਐਪੀਤਾਫ (epitaph) ਦੇਖਦੇ ਹੋ।

ਕੁਝ ਐਪੀਤਾਫ ਨਰਮ ਹੁੰਦੇ ਹਨ:

  • JavaScript ਵਿੱਚ ਲਿਖਿਆ ਗਿਆ। ਕਾਲਬੈਕ (callback) ਦੀ ਥਕਾਵਟ ਕਾਰਨ ਮੌਤ ਹੋਈ।

ਹੋਰ ਇਤਿਹਾਸ ਦੀ ਵਧੇਰੇ ਉਦਾਰਤਾ ਨਾਲ ਪੇਸ਼ਕਾਰੀ ਕਰਦੇ ਹਨ:

  • ਮਰਿਆ ਨਹੀਂ ਹੈ। ਬੱਸ 2025 ਤੋਂ ਬਹੁਤ ਜ਼ਿਆਦਾ ਦੇਰੀ ਨਾਲ ਰੋਕਿਆ ਹੋਇਆ ਹੈ।

ਜੇਕਰ ਤੁਸੀਂ ਹੋਰ ਵਿਅਕਤੀਤਵ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਵਿਕਲਪਿਕ Gemini integration ਨੂੰ ਚਾਲੂ ਕਰ ਸਕਦੇ ਹੋ। AI ਰੈਪੋਜ਼ੀਟਰੀ ਦੀ ਭਾਸ਼ਾ ਅਤੇ ਸੰਦਰਭ ਨੂੰ ਪੜ੍ਹਦਾ ਹੈ ਤਾਂ ਜੋ ਅਜਿਹੇ ਕਸਟਮ ਐਪੀਤਾਫ ਲਿਖੇ ਜਾ ਸਕਣ ਜੋ ਟੈਂਪਲੇਟ ਦੀ ਬਜਾਏ ਖਾਸ ਮਹਿਸੂਸ ਹੋਣ। ਇੱਕ ਵਿਕਲਪਿਕ ElevenLabs integration ਵੀ ਹੈ ਜੋ ਸ਼ਰਧਾਂਜਲੀ ਨੂੰ ਉੱਚੀ ਪੜ੍ਹਦਾ ਹੈ, ਜੋ ਉਦੋਂ ਤੱਕ ਇੱਕ ਮਜ਼ਾਕ ਲੱਗਦਾ ਹੈ ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ ਆਪਣੀ ਹੀ ਛੱਡੀ ਹੋਈ API wrapper ਨੂੰ ਇੱਕ ਗੰਭੀਰ ਨਰੇਟਰ ਦੀ ਆਵਾਜ਼ ਵਿੱਚ ਸੁਣਦੇ ਨਹੀਂ ਹੋ। ਉਸ ਸਮੇਂ, ਅਜੀਬੋਗਰੀਬੀ ਤੁਹਾਡੇ ਗਿਲਟ (guilt) ਨੂੰ ਤੋੜ ਦਿੰਦੀ ਹੈ, ਅਤੇ ਉਹ ਗਿਲਟ ਹੀ ਸੀ ਜੋ ਰੈਪੋਜ਼ੀਟਰੀ ਨੂੰ ਦਫ਼ਨ ਰੱਖ ਰਹੀ ਸੀ।

Rekindle: ਬਹੁਤ ਜ਼ਿਆਦਾ ਦਬਾਅ ਦੇ ਵਿਰੁੱਧ ਇੱਕ ਬਟਨ

ਕਬਰਸਤਾਨ ਤਾਂ ਸਿਰਫ ਅੱਧਾ ਹਿੱਸਾ ਹੈ। ਅਸਲੀ ਫੀਚਰ ਹਰ ਹੈੱਡਸਟੋਨ ਦੇ ਹੇਠਾਂ ਲੁਕਿਆ ਹੋਇਆ ਹੈ: ਇੱਕ Rekindle ਬਟਨ। ਇਸ 'ਤੇ ਕਲਿੱਕ ਕਰੋ, ਅਤੇ ਐਪ ਤੁਹਾਡਾ README ਪੜ੍ਹਦੀ ਹੈ। ਇਹ ਪ੍ਰੋਜੈਕਟ ਦੇ ਉਦੇਸ਼ ਬਾਰੇ ਜੋ ਵੀ ਤੁਸੀਂ ਲਿਖਿਆ ਹੈ, ਉਸਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰਦੀ ਹੈ, ਉਸਨੂੰ ਮੌਜੂਦਾ ਕੋਡ ਨਾਲ ਜੋੜਦੀ ਹੈ, ਅਤੇ ਤੁਹਾਨੂੰ ਯਾਦ ਦਿਵਾਉਣ ਲਈ ਇੱਕ ਛੋਟੀ ਪੇਸ਼ਕਾਰੀ ਲਿਖਦੀ ਹੈ ਕਿ ਤੁਸੀਂ ਸ਼ੁਰੂ ਵਿੱਚ ਇਸ ਦੀ ਪਰਵਾਹ ਕਿਉਂ ਕਰਦੇ ਸੀ। ਫਿਰ ਇਹ ਇੱਕ ਛੋਟੀ, ਸਪੱਸ਼ਟ ਕਾਰਵਾਈ ਨਾਲ ਖਤਮ ਹੁੰਦੀ ਹੈ ਜੋ ਤੁਸੀਂ ਅੱਜ ਰਾਤ ਕਰ ਸਕਦੇ ਹੋ। ਕੋਈ ਰੋਡਮੈਪ ਨਹੀਂ। ਕੋਈ ਰੀਫੈਕਟਰ ਪਲਾਨ ਨਹੀਂ। ਸਿਰਫ ਇੱਕ ਕੰਮ। ਪੰਜ ਮਿੰਟ ਦਾ ਕੰਮ।

ਇਹ ਮਹੱਤਵਪੂਰਨ ਹੈ ਕਿਉਂਕਿ ਕਿਸੇ ਪੁਰਾਣੇ ਪ੍ਰੋਜੈਕਟ 'ਤੇ ਵਾਪਸ ਜਾਣ ਦਾ ਸਭ ਤੋਂ ਔਖਾ ਹਿੱਸਾ ਕੋਡਿੰਗ ਨਹੀਂ ਹੈ। ਇਹ ਯਾਦ ਰੱਖਣਾ ਹੈ ਕਿ ਤੁਸੀਂ ਕਿੱਥੇ ਸੀ ਅਤੇ ਰੁਕ ਜਾਣ ਲਈ ਆਪਣੇ ਆਪ ਨੂੰ ਮਾਫ਼ ਕਰਨਾ ਹੈ। ਇੱਕ ਬਹੁਤ ਪੁਰਾਣਾ ਮਰ ਚੁੱਕਾ ਪ੍ਰੋਜੈਕਟ ਬਹੁਤ ਵੱਡਾ ਮਹਿਸੂਸ ਹੁੰਦਾ ਹੈ। ਤੁਸੀਂ ਮੰਨ ਲੈਂਦੇ ਹੋ ਕਿ ਤੁਹਾਨੂੰ ਆਰਕੀਟੈਕਚਰ ਨੂੰ ਦੁਬਾਰਾ ਸਮਝਣ ਲਈ ਸਿਰਫ ਤਿੰਨ ਘੰਟੇ ਚਾਹੀਦੇ ਹੋਣਗੇ। Rekindle ਬਟਨ ਉਸ ਅਨੁਮਾਨ ਨੂੰ ਇੱਕ ਸਿੰਗਲ 'ਟੂ-ਡੂ' (todo) ਵਿੱਚ ਬਦਲ ਦਿੰਦਾ ਹੈ। ਮਕਸਦ ਇਹ ਹੈ ਕਿ ਤੁਹਾਡਾ ਅਗਲਾ ਕਮਿਟ ਸਿਰਫ ਪੰਜ ਮਿੰਟ ਦੀ ਦੂਰੀ 'ਤੇ ਮਹਿਸੂਸ ਹੋਵੇ, ਕਿਉਂਕਿ ਇੱਕ ਵਾਰ ਜਦੋਂ ਤੁਹਾਡੀ ਹਿਸਟਰੀ ਵਿੱਚ ਇੱਕ ਸਿੰਗਲ ਡਿਫ (diff) ਆ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਗਤੀ ਵਾਪਸ ਆਉਣ ਲੱਗਦੀ ਹੈ।

ਸਟੈਕ ਨੂੰ ਇੰਨਾ ਸਧਾਰਨ ਕਿਉਂ ਰੱਖਣਾ ਹੈ

ਤਕਨੀਕੀ ਤੌਰ 'ਤੇ, ਇਹ ਪ੍ਰੋਜੈਕਟ ਉਹੀ ਕਰਦਾ ਹੈ ਜੋ ਇਹ ਸਿਖਾਉਂਦਾ ਹੈ। ਇਹ vanilla HTML, CSS, ਅਤੇ JavaScript ਨਾਲ ਬਣਾਇਆ ਗਿਆ ਹੈ। ਇਹ GitHub REST API ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। ਇੱਥੇ ਕੋਈ ਸਰਵਰ ਨਹੀਂ ਹੈ, ਕੋਈ ਬਿਲਡ ਸਟੈਪ ਨਹੀਂ ਹੈ, ਅਤੇ ਕੋਈ ਹਰ ਮਹੀਨੇ ਬਦਲਣ ਵਾਲਾ ਫਰੇਮਵਰਕ ਨਹੀਂ ਹੈ ਜਿਸ ਨੂੰ ਬਣਾਈ ਰੱਖਣਾ ਪਵੇ। ਤੁਸੀਂ ਇਸਨੂੰ GitHub Pages 'ਤੇ ਹੋਸਟ ਕਰ ਸਕਦੇ ਹੋ ਅਤੇ ਚਲੇ ਜਾ ਸਕਦੇ ਹੋ।

ਉਹ ਮਿਨੀਮਲਿਜ਼ਮ (minimalism) ਇੱਕ ਫੀਚਰ ਹੈ, ਆਲਸ ਨਹੀਂ। ਪੁਰਾਣੇ ਕੋਡ ਨੂੰ ਮੁੜ ਸੁਰਜੀਤ ਕਰਨ ਵਾਲੇ ਟੂਲ ਨੂੰ ਖੁਦ ਇੱਕ ਕਮਜ਼ੋਰ ਡਿਪੈਂਡੈਂਸੀ ਟ੍ਰੀ 'ਤੇ ਨਿਰਭਰ ਨਹੀਂ ਹੋਣਾ ਚਾਹੀਦਾ। ਜੇਕਰ ਬਾਨਾ Side Project Cemetery ਨੂੰ ਛੇ ਮਹੀਨਿਆਂ ਲਈ ਛੱਡ ਦਿੰਦਾ ਹੈ, ਤਾਂ ਕਬਰਸਤਾਨ ਆਪਣੇ ਹੀ ਕਬਰਸਤਾਨ ਵਿੱਚ ਇੱਕ ਹੋਰ ਨਿਵਾਸੀ ਨਹੀਂ ਬਣਨਾ ਚਾਹੀਦਾ। ਕੋਡ ਪੜ੍ਹਨਯੋਗ ਰਹਿੰਦਾ ਹੈ। ਕੋਈ webpack ਕੌਂਫਿਗਰੇਸ਼ਨ ਅਪਡੇਟ ਕਰਨ ਦੀ ਲੋੜ ਨਹੀਂ, ਕੋਈ Docker ਇਮੇਜ ਪੈਚ ਕਰਨ ਦੀ ਲੋੜ ਨਹੀਂ। ਇਹ ਟੂਲਿੰਗ ਵਿੱਚ ਸੰਜਮ ਲਈ ਇੱਕ ਸ਼ਾਂਤ ਦਲੀਲ ਹੈ: ਕਦੇ-ਕਦੇ ਇੱਕ ਸਟੈਟਿਕ ਸਾਈਟ ਅਤੇ ਇੱਕ API ਕੀ ਹੀ ਕਾਫੀ ਹੁੰਦੇ ਹਨ।

ਜਦੋਂ ਬਟਨ ਅਸਲ ਵਿੱਚ ਕੰਮ ਕਰਦਾ ਹੈ

The builder admits that their own dead projects called them out during development. One in particular had been a single-night obsession, written in a blur of excitement and then forgotten. They used the Rekindle button on it. The app read the README, remembered the premise, and handed back a real task to finish. It worked. They shipped the missing piece that same week.

This is the core argument of the tool. Passion does not die. It naps. Most abandoned repositories are not failures of engineering. They are failures of context. You lost the thread because the thread was only living in your head, and your head moved on to other threads. Side Project Cemetery externalizes that context. It reads the README so you do not have to reconstruct your past self from scratch.

The real metric is not how many repos you resurrect. It is how many you stop feeling weird about. The cemetery gives them a place to rest until you are ready. And when you are ready, it hands you a shovel and a single instruction: start here.

Stop letting your ideas stay buried.

Visit the cemetery at https://pyaroslav.github.io/side-project-cemetery/, and read the full build story on Dev.to here.