Great for a learning exercise. For a production environment, it's unlikely the organization is such a snow flake. A mature product is probably a better engineering choice than writing one from scratch when you're writing your first one.