Minimal web framework